放眼当今社会,“我”字当头,相当普遍,相当流行。我想、我能、我做、我行、凡事以我为先之状况处处可见。人有了自我,有了自我实现,凸现了与众不同,提升了人的人生价值,是一件大大的好事。同样程序员也是“我”字当头的职业,很多程序员以“我”为中心,自信满满。 对于普通程序员来说,这是一件好事;但是对于追求优秀的程序员来说,就可能是一种约束。
程序员是一个很自信职业,这主要是程序员是一种个人劳动,而且,这种劳动往往很快产生劳动成果。一段程序编写完后,立即运行这个程序,就达到了预期的结果。这样计算机被自己操纵了,成就感就产生了。这个过程一般只要一二个小时,有的只要几分钟就完成了。如此短暂、如此频繁的成就感刺激着程序员,想不自信也不成呀。而那些作家写一部小说需要几个月甚至几年,这就意味着成就感刺激次数很频率是很低的。自信远远不如程序员来的迅速和强烈。当然自信程度还是和外界的认可有关,外部认可,自信就可能强一些,外界不认可,自信就可能低一些。
这种成就感造就了很多程序员自信,尤其是当自己比别的程序员编的程序质量更高、时间用的最少的时候,尤其是在别人编不出来,自己能够编出来的时候。尤其是自己知道,别人不知道的时候。这种成就感油然而生。
程序员这种自信自然而然地会产生很强烈的自我意识,“我想怎么样怎么样的,我认为怎么样怎么样的,我是高手”。加上,很少关注外界对自己的评价,外界也很少对自己的评价,久而久之,不加注意就会产生形成以“我”为主的意识和工作习惯。
在中国,在没有计算机硬件、没有网络、没有操作系统、没有程序设计语言这些基础的核心的技术情况下,我们还会奢谈编程高手究竟意义何在? “皮之不存,毛将附焉?” 从这个意义上来说,中国程序员没有什么高手,那些自封和他封的高手,仅仅是自己给自己划上一个很小很小圈子,然后在这个圈子中进行比试。
说句实在的话,这种自我对于满足于为编程而编程的程序员是没有什么问题的,而且这种自我从某种程度上是程序员各种痛苦的安慰剂,是程序员心灵的鸡汤。我们看到这种自信就会产生一种对程序员的尊敬。
但是,对于一个致力于成为优秀程序员发展方向的程序员来说,这种以“我”为中心的思维习惯,就会影响自己的发展。程序员在成长阶段,要特别意识到个人在程序员这个职业中的局限。要有意识地摆脱个人意识,从“我”过渡到“我们”。当然这个过程很痛苦,需要有战胜自我的坚强意志。
第一, 这个过程首先要让我们自己把自己引以骄傲的兴奋降低。这是一般人很难做到的。这就意味无论自己产生成就感的一瞬间,就要告诫自己,高兴一点就可以了,还有更多的事情等待自己去做呢。这样做可以杜绝自信虚高的情况。
第二, 编写程序时,要时刻想到程序是给别人看的,不要认为只要自己看懂就行了。
第三, 在编程序前最好将自己的编程思路和其他程序员进行交流和沟通。沟通的目的不是仅仅要获取别人的好的建议和思路,更重要的是养成一种做事的方法,即使你自己已经确定自己是最好的了,这个思路是不可能改变的,也要和其他人进行一个交流。
第四, 当别的程序员提出他们的想法的时候,要主动积极对他们的想法进行分析,并提出看法。千万不要说,“别人的想法跟我没有关系,我没有时间去考虑别人的问题。”要把别人的想法看作成自己的想法,以此来扩大自己的技术和业务范围,获取更多的有用信息。“三人之中必有我师”嘛。
第五, 无论自己在项目中处于一个什么角色,都要关心项目的整体进展,有时候,关心项目的整体进展要比关心自己的进展更重要。团队意识的强弱是程序员素质高低的一个重要的标志。
第六, 要强迫自己写好文档,通过写文档可以把自己的劳动成果记录下来,更重要的是这些文档会给后来者或使用者以更多的帮助和参考。
第七, 不要轻易以个人挑战别人,不要轻易地PK这,PK那。即使PK获胜,也说明不了什么,那只是个人的胜利,而不是我们的胜利。在程序员这个职业上,无论一个人的怎么成功都是很微不足道的。因为,程序员的成功最终要反映到软件上,反映到软件产品上,反映到软件产品的市场价值上,反映到软件产品的市场占有率上,反映到软件产品对企业经营影响上。要产生这些反映必须要通过“我们”才能够实现。
第八, 一定要把用户当作“我们”之中的一员,倾听用户的意见和建议。不要把用户看作是自己的对立面,一遇到用户提出新的功能、提出修改需求就心怀不满。要从用户的意见中看到自己的设计上和编程上的不足,从而改进程序质量。同时,也要把一些技术上的限制用通俗的语言向用户解释,以获得用户的理解。
上面的“我们”只是一个团队一个部门的小我们,当我们把“我们”扩大到我们的用户、我们的同行、我们外部的各种企业、我们外部的各种人才等等的时候,我们视野绝对地在扩大,这种扩大对于程序员的素质和程序员的技术提高是非常非常有益的。
目前,在中国已经度过了程序员个人英雄主义的阶段,那个阶段程序规模比较小,容易产生一个人就能完成的程序。而现在一方面程序本身的规模越来越大,需要越来越多的程序员分工协作,另一方面,程序之间的关联性越来越多,也从客观上,需要程序员之间加强协作。程序员要想获得更大的发展空间、想要获得更多的收入,那就更需要和外界发生联系,去寻找和发现更具有市场价值的软件,以这个软件来寻找更多的“我们”。
总之,程序员在成长阶段,一定要意识到“我”是束缚自己成长的最大紧箍咒。一定要舍小我求大我,养成“我们”的良好习惯。这个习惯可以很好地支撑着程序员走向成熟阶段、走向优秀阶段。