程序员的君子五德

来源:互联网 发布:matlab如何拟合数据 编辑:程序博客网 时间:2024/04/29 06:36

    程序员作为一种职业,有点像搞写作的作家,需要毅力和灵感。不同的是作家写作往往靠单打独斗,而大多数程序员却需要融入团队,在团队的项目成果中体现自己的成就,从这个侧面看,程序员又像搞建筑的工匠。程序员的职业标准,尚没有定论。在程序员的用人上,业界一直存在人才高消费的现象,单位向来比较重视程序员的能力和素质,以至于不少企业对本科学历已下的程序员说不。然而,能力素质毕竟在后天可塑造之列,而品格道德则属潜质,决定人才是否可塑。

中国的儒家文化流传数千年,影响深远,深入人心。笔者效颦,是以古代儒家对君子的品格要求诠释程序员需要具备的五种品格。

一、自强不息

自强不息的精神更多的体现在对新技术活技术难题的攻关上,几乎所有的项目都需要难题攻关,突破关键技术。面对难题,优秀的程序员往往废寝忘食,通宵达旦,不达目的是不罢休;一般的程序员通常考虑迂回绕过,苟且让步,换一种方式。对难题的迂回让步,往往要以牺牲产品质量为代价,更不利于程序员的成长,多次迂回让步便可能导致项目破产。相反,每一次技术难关攻克,都会增强程序员的能力和信心,积累不少经验。做程序员最基本的要求是能静下心来,刻苦钻研、自强不息!与时俱进,不仅则退的道理众所周知。

二、善假于物

首先要善于求助于工具。同一个功能模块,选用高级语言和汇编语言编写,其效率可以相差上千倍;选用合适的组件编写一个复杂的功能却易如反掌;越来越多的case工具甚至可以帮你不写一行代码而完成一个工程。软件纯粹靠人的智慧,鲁迅先生的拿来主义在这个IT最为适合。

其次要善于利用网络。遇到难题,在互联网上发一个帖子,马上就有人为你出谋划策,主管分配一周的任务,在半小时内完成,全得益于网络的帮助。我们辛辛苦苦琢磨了很长时间的一点技术成果,本想在同伴面前炫耀一番,却发现网上早已泛滥。所以,在干任何一项工作前,最好先查查网上有没有可利用的资源。

第三,求助于人。只是膨胀,信息爆炸意味着人与人之间知识互补的概率大增,不知道不等于不学无术。不耻下问是古人的传统美德,美就美在,一张嘴可能使你冥思苦想的问题唾手可得。常见的是一些程序员因害怕被人笑话而不肯请叫别人,也存在一些量小之辈不肯与人分享他的所知。这两类人,都难有大的成就。

总之,一己之能在今天已经显得微不足道,善假于物才能壮大自己。

三、文质彬彬

在IT业就是既要会编程,也要善于表达自己的思想,会写文档。我从不怀疑国内程序员的“质”,而普遍需要提高的则是“文”。能够正确理解用户的需求,并且正确表达出来,形成需求规格,这是需求工程的要旨;能够正确理解需求规格,并用适合的工具、方法、算法设计实现需求的途径,这是设计阶段的任务;正确理解设计文档并编写成计算机能识别的代码,称之为实现;按照规格对比测试,发现问题并正确描述问题,是为测试。分析、设计、编码、测试各阶段都需要以文档形式进行逐级向下传递,足见表达能力对程序员的重要意义。

文档作为工程各道工序传递和沟通重要载体,对项目的意义太大了。有人说IT业的项目多位搭鸡窝工程,关键的人物一走,鸡窝就坍塌了。这个现象的成因无非是文档重视不够,设计、开发思想全在几个关键人物的脑子里,关键人物走了以后替补便难以为继了。

作坊式生产造就了一批身怀绝技的中餐大厨,他们却没有能力写出自己的绝活配方。应试教育造成理工科的学生语文水平普遍较低,书面表达往往词不达意,画虎类犬。

软件工程把软件定义为代码和文档的统称,代码为质,文档为文,二者缺一,便不称其为软件,文质不符,便无法彬彬了。

四、成人之美

企业搞信息化,目的就是解决企业困扰,提高生产效率,程序员对于企业用户,犹如医生对病人,就是要解除企业的困厄,解放生产力。程序员的一个最基本的出发点应该是为社会做贡献,通过提高企业用户的效率,解决企业用户的困扰来体现自己的社会价值。为社会创造价值是软件企业存在的理由,也是程序员应该始终坚持的原则。

不少软件项目的命运是这样的:加班加点搞突击,轰轰烈烈搞鉴定,用户付了全款,软件却束之高阁。其中固然不少原因在企业用户,但程序员对软件的使用缺乏跟踪维护也是不容忽视的原因之一。

如果程序员有成人之美,解人困厄的一颗诚心,项目的命运也许会为之改变。

成人之美还体现在程序员对待自己所在单位上,有人在项目关键时刻撂挑子,要挟单位要涨工资、要奖金;有人在项目困难时期,临阵脱逃,换个单位重头再来;甚至有人把公司的技术拿出去变卖。这些做法,无疑摸黑了程序员的形象,破坏了程序员的生存环境,应该深以为戒。没有软件企业的长足发展,何来IT业的蓬勃?

还有,既然善假于物,就应该乐善好施,帮助同行解决困难,对网上的求助力所能及地予以回应。与人方便,自己方便。

五、心怀坦荡

子曰:“君子坦荡荡,小人长戚戚”(《论语.述而》)。意识是说:君子通晓事理,处世如履平坦大道,安然舒泰。小人心思常为物役,私下患得患失,戚戚算计。程序员要融入项目团队,最重要的品德莫过于心怀坦荡。成功的团队,总会营造出开诚布公、坦诚相待的气氛来。

心怀坦荡,首先要做到不“长戚戚”,不把自己的消极情绪传递给他人,不过分计较自己的个人得失。傲慢无礼,指责别人没有水平;拈轻怕重,抱怨自己太辛苦;搞特殊化,肆意践踏团队纪律;上窜下跳,告合作伙伴的黑状;唧唧喳喳,把自己的牢骚散布到整个团队等等。这些都是最具有破坏力的“戚戚”。团队中有一两个害群之马,就足以葬送整个项目。

其次,要做到坦诚沟通。提倡民主集中制,针对具体问题,既要
积极提出自己的观点,又要服从项目经理的决策;处理不了的问题要及时上报,寻求帮助,而不要碍于面子,耽误时间;积极帮助项目组成员解决难题,不搞本位主义;不因个人恩怨而牺牲项目利益。。。。。。之所以要这样,理由只有一个:项目的成功建立在所有项目组成员完满完成任务的基础上,个别人的失败便会导致整个项目失败。

一言以蔽之,心怀坦荡,就是要以项目利益压倒一切,个人利益服从项目利益。