Q:ada最近看新闻了吗奥巴马在接受电视采访的时候说所有人都应该更早的学习如何编程,其实随着全民编程时代的到来,运用一门程序设计语言编程对于大多数程序员来说更是小菜一碟,但是如何更上一层楼成为一名专家级的软件开发者呢?


A:通常啊对于一个IT从业者,让你谋得工作的也许是技术能力,但有助于提升职业生涯的却是软技能。你不可能一辈子只做开发,这是IT行话,步步高升的人都是那些发表文章、在会议上积极发言以及关注客户的员工(程序员)。通常情况下,企业CIO或多或少都具备人文社科专业学历背景,原因就在于其在软技能方面更具优势。所以我们很多朋友在职业发展上面遇到瓶颈期的时候专业技能和软技能方面都需要提高。


Q:其实扪心自问,大多数程序员除了固化的编程知识以外,又有多少素质拿的出手呢?曾经和一位已经做到企业高管的程序员聊天他就说为什么程序员薪资高当你在工作的时候我在敲代码当你下班回家休息的时候,我还在学习。在技术领域,有太多的东西会迅速过时,这就需要我们程序员不断向前奔跑。今天呢我和ada老师就和大家聊一聊高级程序员是如何炼成的


这里有一个快速提高的方式,这个方法呢,大家平时其实用的是很多的,就是A:QQ群,我们进入一些达人,大牛的群里面,通常这些高手还是很热心的,大家说着一些专业语言,什么属性啊,方法,框架,公共语言运行时,可能有些你并不能听的懂,但是没关系,私下我们自己可以补课,因为在这里我们可以接触到不一样的圈子和你平时不了解的行业讯息。


Q:恩~加入一些和行业相关——自己感兴趣的圈子,很多信息你都可以从里面获取。


其实获取信息的方式也很多啦~~~


除了你说的qq群作为程序员那必须要多看书我知道很多技术大拿他们每年花在买书的投资上都是非常高的


A:是的,如果你想要这个行业取得更快成长,那么自我提高是很重要的,看书就是自我提高的一个必要手段。不要每次遇到一个问题就想着去问别人,先看看书,再在百度,google里搜索一下,这期间,我感觉看书是很必要的。还有一个问题,就是看书,别图便宜,去图上下电子书看,我个人感觉,看电子书和印刷教材根本就是两个感觉。边学边摸索着把个OA搞个大概。


Q:对于ITIT人员:数据结构、算法、编译原理、操作系统、设计模式、软件架构、网络、面向对象、编程语言这些方面的书籍至少都要看一本,这样你遇到问题或者需要了解某项技术时才知道怎么搜索、怎么提问、和同行才有共同话题


其实在后边的随着你对这种语言随来随熟,你的知识面越来越宽,就越离不开看书。我就是一个不喜欢有问题总问别人,觉得那样很丢脸,实在自己解决不了,再去问人家,一来印象深刻,二来可以看清自己的思路到底是哪里出了问题。以便于更好的纠正自己的考虑问题的思维方式。


其实呢除了看书,还可以上一些优质的网站去获取最新的一些行业资讯和技术知识,ada你平时知道比较好的一些网站有哪些呢


A:我知道的啊,像stackovroflow,Github


Q:恩再补充一个segmentfault这些都是做得比较好的一些网站,当然大家还可以逛一逛CSDN ITPUB这样的IT论坛当你使用这些网站后,你会发现体验完全不一样:获取的信息更专业、解决问题更高效,像你刚刚说的stackovroflow,Github这些英文网站多去看看


便还提高了你阅读洋文的能力。


A:小青,除了你说的多看啊,我们要做的还有多想,你还记得我们之前去拜访我们合作公司的时候,我问公司对程序员的要求时,他提到的吗?他说员工的学习能力公司尤为看中,很多时候,工作中的学习不像学校那么明确,往往要自己主动去学,去领悟。当遇到问题时首先要尝试着去解决,而不是立马去找同事找主管,就算最后还是没能解决,你也会发现你在这个过程当中发现自己的思路需要改进的地方,这对自己也是一个很好的提升,别人帮你解决了,自己的感触没有那么深。所以我们一定要学会思考,多动脑筋。


Q:其实工作和学校还不一样,在学校遇到不懂的老师都可以耐心为你解决,而公司是以利益为根本目的的,需要的是能干活的人,所以在工作中遇到问题领导更希望看到你自己首先想了各种办法去解决,现在有一句话说程序员可以没有智商没有情商但不能没有搜商搜索的搜啊虽然前半段有点夸张,但是这句话也从很大程度反映出程序员养成独立思考习惯的重要


A:小青啊,很多it行业的人员到一定阶段会从技术岗位转到管理岗位,IT行业的资深从业人士就发现一个非常有趣的现象,某些人在工作的时候,许多人都比他技术高经验多,但后来那些技术高的人不见了,而这些人却一路高升,原因就在于除了技巧之外,还需要个人素质提高。


Q:现在的软件企业里面,大多数的技术人员,由于做的时间过长,性格容易变得内向,变的封闭,缺乏彼此的沟通和相互理解,总觉得是他人不对,影响了项目进度和完成质量。但是假如大家能够换一个思维角度,以开放式的心态讨论问题,积极思考可能会有利于团队建设,项目完成质量,同时也让自己的职业道路走得更加顺畅和高远。


A:ada我曾经和很多程序员朋友交流过让我惊讶的是有些人之所以选择进入IT这个行业尽然是觉得程序员只是和电脑打交道平时可以不用和别人交流


但只会写代码还不够。如果想从优秀发展到卓越,你必须培养起有效沟通的能力:与你的同事沟通,与你的老板沟通,与用户沟通,最终与全世界沟通。


Q:许多时候这一点被低估了,可如果不使用沟通技能的话你一天都过不了。而且,你要沟通的还不仅仅是客户。还包括你的同事,分享你的想法,用不侮辱人的方式辩论,说服你的老板应该采取你的方式。此外,还有还要汇报状态更新,解释发生的事情


A:还有一点,我们要想提升自己,做事的方法也要有改变,这是我们提高效率,少走弯路的手段,主要表现在你心里看待人,事,物的关系时,你出发的角度,个人素养和情商,所展现出来的一种决策逻辑,它将会引导你采用不同的方式来执行。其实,人的一生会遇到千千万万的事情,而在面对很多事情的时候,有个很关键的原则---选择正确的事去做,事情来了先别急着做,先想想能否不做。这也是很多技术人员常有的习惯,遇到问题恨不能马上动手写出代码实现看看,其实你会发现无形中做了很多的无用功,浪费了很多时间,当然,你也许得到了一种满足感!


Q:对其实钻牛角尖是程序员的大忌,遇到问题死磕到底虽然精神可嘉但是效率有限,要想成为一名伟大的程序员,除了你刚刚说的作为程序员还要提高文档编写能力


在我身边的程序员中,无论是现在的同事还是过去的同事,普遍缺乏文档编写能力或能力严重不足,甚至有些编程能力很强的程序员也不能写出一篇可读性较强的设计说明书、产品手册等项目必备文档。其实,文档如何才能提高文档编写能力编写能力是成为优秀程序员和项目经理必须具备的能力


在QQ群和论坛回答问题,写出来是让你更清晰地理解,写作也是交流的一种方式,长此以往会有人主动和你交流,慢慢地就有了属于自己的圈子。


来自《转角ITman》第十四期论程序员的自我“修炼”