什么是专业的程序员

看了孟岩的文章《程序员必须走向专业化》,有点感想。

真正专业的软件工程师, “专业”,是指具有规范化的价值观和知识体系,规范化的工作习惯和职业纪律,职业化的工作作风和流程,当然也具有相应的技能和经验。在中国,很有一些程序员,以为自己技术高,就应该拿高薪,就应该牛,就可以不要纪律。他们很少问自己,究竟给团队带来什么价值,究竟给企业带来什么价值,究竟给客户带来什么价值?

中国的程序员们就不应该整天琢磨着要赶哪个新,逐什么潮,一会儿面向这个,一会又面向那个,左一个语言右一个框架地折腾着,而是应该踏踏实实在专业性上下功夫。

企业宁要专业的工程师,不要不专业的“牛人”。专业性保证了一个程序员的技能和工作能够为组织带来效益,而他们只会为这种效益付酬,不会出于对“大牛”的敬仰之情而主动上缴贡银。而且,他们也相信,只要一个人专业化程度足够,技术和经验上的不足是容易在实践中弥补的。

记得近两年有一句很流行:“老大,咱没这么干过,咱不专业啊”。虽然是笑话,但有此可见这年头做什么事情都得专业,否则会贻笑大方。

但什么是专业的程序员?老外比较注重工程师的专业精神,举个例来说,如果事情交给这个工程师做,能高效、保质、按时的做出来,而且做出来的软件很专业,能很好的与人合作和沟通,配合测试组或其他开发组共同完成任务,为团队和企业创造价值,达到企业追求的目标,就是专业的程序员。概况起来,我认为专业的程序员必须:

1.       专业的企业精神(做事高效负责,规范化的价值观和知识体系,规范化的工作习惯和职业纪律,职业化的工作作风和流程)

2.       编程很专业(技术精湛,经验丰富,有独立分析问题和解决问题的能力)

3.       做事很专业(善于沟通,不论是和客户、同事、项目经理、新手,还是老手,乐于和他人合作,具有团队精神)

 

与之相对应的就是不专业的程序员:

1.       无企业精神(个人主义严重,觉得自己技术特牛,贡献特大,认为企业给的薪水少,干活不该卖力,项目经理安排的任务故意拖拉不服从,上班很晚到等)

2.       编程不专业(没写过几行代码,没做过什么大系统,就认为自己技术特精湛,其实写的代码却不堪一击;没工作几年就认为经验特丰富,没碰到过多少客户和生产上的具体问题就认为有丰富的分析问题和解决问题的能力)

3.       做事不专业(难于沟通和合作,没有团队精神和集体精神,不是本着解决问题的态度和学习提高的态度,而是本着耍弄技巧、高人一等甚至刁难别人的态度,和客户没沟通点、和项目经理沟通阴奉阳违,对新手好为人师,对老手不屑一顾等等)

    文章说到中国的程序员效率比老外差7-8倍,原因在于中国的程序员不专业,而老外程序员专业化程度高。我认为这只是一个原因,即程序员的专业素养,这只是个体原因;与之相比更严重的问题在与团队和管理。中国程序员往往单拿出来技术“牛人”很多,但放到一个团队里面整体战斗力非常差,这是为什么?这是我们需要思考的问题。

几乎每个团队都有几个专业的程序员,即“主程序员”,也有很多不专业或即将专业的程序员;有刚毕业朝气蓬勃的白纸小伙,也有业务经验丰富但默默无闻的老黄牛,有满身带刺的所谓技术“牛人”,也有不大伸张的真正“牛人”;项目经理如何管理和激励团队成员,扬长避短,使团队发挥最大战斗力,如何帮助团队成员成长,这是项目经理需要思考的问题。

而从程序员自身来说,则应当向专业化的方向努力,无论你的职业方向是管理、技术、还是技术管理,这些都是必须的。因为说到底,只有你做的专业,只有你做出来的东西专业,才能让人信服。



:很多人谈到职业素养问题,《程序员》杂志刊登的程序员职业素养 

1.       学习和分析能力。每个团队都在成长,作为程序员这个群体就更需要“与时俱进”。尤其是在开发这个知识日新月异的行业里,同时分析能力是必不可少的。像本案例中,如果没有在充分了解客户需求的基础上的精准分析,很难想像最后的结果。;(调查中71.15%人认为,学习能力是程序员基本能力中比较重要的一条。另外,此次调查中57.69%的被访者认为,在技术方面有不同意见时,处理妥当的程序员必要的修炼之一。相信这个案例为我们提供了新的思路。

2.       与内外保持良好沟通,永远是成功的保证。及时汇报、沟通进展也可以在第一时间发现自己的偏差。在改bug问题上,有些小bug,程序员可能比较容易就修改了,但有些比较难修改的bug,如果自己解决不了,应该像同事或者专家请教,甚至组织小组讨论,但有些程序员处理这种情况时,往往是自己琢磨半天,改不了,然后就放那去做别的事情了,等过几天项目经理问起来时,才承认自己改不了,这种现象应该最大程度地避免。毕竟,相差一度两条线顶点的距离会在不限延伸后相差不限大。(59.62%的被访者认为“汇报项目进展时明确及时”是程序员内在修炼的重要组成)

3.       产品意识。良好的产品意识可以大幅度提高开发效率。某次产品改版中界面都重新修改过了,因为有2个程序员专门负责编程匹配部分,而其中一个就非常具有产品意识,他用.NETUI原形都画了出来,在公司内部组织讨论,让最后的客户环境和界面都非常优秀。

4.       团队意识。作为一个新人要向老人请教学习,作为一个老人要把自己的心得、收获、技能等与新人分享,也就是要带新人。知识的分享是知识学习中一个最有效的方法,尤其是在程序员这个行当里;

5.       对于编码规范和文档规划是毫无疑问必须要遵守的。(此次参加调查的程序员中有80.77%认为编码规范是程序员内在修炼的毕选项。、68.59%认为文档规范是修炼的必要内容。)

Tag标签: 沟通
posted @ 2008-03-04 21:33 Mainz 阅读(4170) 评论(49)  编辑 收藏 网摘 所属分类: 项目管理与流程改进

  回复  引用  查看    
#1楼2008-03-04 21:42 | 伍迷      
写得好。
  回复  引用  查看    
#2楼2008-03-04 21:51 | 梦里花落知多少      
呵呵,想成为一名专业的程序员不容易啊~

  回复  引用  查看    
#3楼2008-03-04 21:55 | 秋千      
写的很好,国内也只是谈谈

  回复  引用  查看    
#4楼2008-03-04 22:05 | 深蓝      
分析的有道理。
  回复  引用  查看    
#5楼2008-03-04 22:21 | 水果阿生      
别说这个,不给钱就让人干活这事仁义吗?程序员不需要自省,不需要自强,需要先有钱。
  回复  引用  查看    
#6楼2008-03-04 22:42 | Jeffrey Zhao      
@水果阿生
如果老板先要程序员自强才给钱,程序员先要老板给钱再自强,那怎么办呢?

  回复  引用  查看    
#7楼2008-03-04 22:44 | Zhuang miao      
@水果阿生
是啊,程序员都挣不过卖猪肉的,还谈什么让程序员提高专业素质啊~哎

  回复  引用    
#8楼2008-03-04 22:51 | 在北京de jyk[未注册用户]
如果老板先要程序员自强才给钱,程序员先要老板给钱再自强,那怎么办呢?

我的回答是 —— 死亡

换一下组合会更好。


专业的程序员必须做到的,我好像都没有做到。

到是不专业的,我好像挺像的。


  回复  引用  查看    
#9楼2008-03-04 22:58 | 水果阿生      
@Jeffrey Zhao
现在不就这样吗,所以大家都互相观望,最后在互相能够容忍的情况下,程序员在混,老板在忽悠

  回复  引用  查看    
#10楼2008-03-04 23:11 | 王德水      
如果一个程序员碰不到一个好的项目经理,很难自强或者说自强程度会降低
  回复  引用  查看    
#11楼2008-03-04 23:46 | 江南白衣      
#9楼 2008-03-04 22:58 水果阿生
@Jeffrey Zhao
现在不就这样吗,所以大家都互相观望,最后在互相能够容忍的情况下,程序员在混,老板在忽悠
======================
这就是现在的中国国情

  回复  引用    
#12楼2008-03-05 01:20 | 北京SEO网站优化[未注册用户]
#9楼 2008-03-04 22:58 水果阿生
@Jeffrey Zhao
现在不就这样吗,所以大家都互相观望,最后在互相能够容忍的情况下,程序员在混,老板在忽悠

的确这样,另外就是有人力部门的人都不懂的什么叫人才

中国不缺千里马,缺的是伯乐

  回复  引用  查看    
#13楼2008-03-05 03:14 | Jeffrey Zhao      
@水果阿生
说明国内不光缺专业的程序员,也缺专业的老板,呵呵。

  回复  引用  查看    
#14楼2008-03-05 07:19 | carysun      
--引用--------------------------------------------------
Jeffrey Zhao: @水果阿生
说明国内不光缺专业的程序员,也缺专业的老板,呵呵。
--------------------------------------------------------
我觉得不要把责任都推到程序员的身上,专业的老板,专业的团队,公司的
文化等等,这些都和整个软件的环境相关,而且起的作用要比单纯的程序员
起的作用要大的多的多

  回复  引用  查看    
#15楼2008-03-05 08:21 | kiler      
做事态度上的缺陷远比技术上的缺陷危害大,不懂可以学,但是不打算学好那就没办法了。
  回复  引用    
#16楼2008-03-05 08:22 | 嘿嘿[未注册用户]
其实这和有中国特色有关
在中国什么都有中国特色 有些事情一言难尽

  回复  引用    
#17楼2008-03-05 08:37 | 神游[未注册用户]
我们只是和电脑打交道的人群,玩不过那帮人精啊
  回复  引用    
#18楼2008-03-05 08:39 | 牛牛牛[未注册用户]
做事不专业最严重
  回复  引用    
#19楼2008-03-05 08:52 | zdq2601[未注册用户]
可笑,专业的程序员和我们车间每天拧螺钉的工人一个等级,他们的工作是重复没有多少的创新。
  回复  引用  查看    
#20楼2008-03-05 09:04 | 小寒      
在中国做专业的程序员,不太现实
中国需要程序员什么都会,试想一个什么都要学的人,怎么专业
说说而已
现实往往与理想有很大的差别

再说,专业也没个量上的尺度阿
谁都可以说自己专业,谁也可以说别人不专业
其实只要,做出的东西客户认可,对他们来说有用,就是专业

支持作有中国特色的程序员!

  回复  引用  查看    
#21楼[楼主]2008-03-05 09:37 | Mainz      
@小寒
的确如此,不过这的看老板和所在企业的文化了:

如果是国企的文化,就得用中国的那一套来办,因为他们根本看不起做技术的,他们要的是廉价的熟练工;

如果是外企的文化,还是做事专业一点,他们尊重有价值的人;

总之,适合的就是最好的;但我想中国软件终有一天要向国外看齐,包括价值观,对企业有价值的程序员老板终会看到!

  回复  引用  查看    
#22楼2008-03-05 09:37 | bmrxntfj      
其实这说明了两个字:矛盾
有本书中也说过(大概是有效用例模式吧),我想大家也都读过。
一个人走到糖果机前要买糖果,他的目的是要糖果,并不是要给老板钱。
老板呢,他的目的是赚钱,并不是要给糖果。
对立的事物必然产生矛盾。

  回复  引用  查看    
#23楼[楼主]2008-03-05 09:38 | Mainz      
@Jeffrey Zhao
是的,国内缺专业的老板,千里马不缺,缺的是伯乐!

  回复  引用  查看    
#24楼[楼主]2008-03-05 10:04 | Mainz      
@怪怪
看了你的<业余程序员宣言: 我们就TM不专业了, 怎么了?>

写的挺好,慷慨激昂,有几点声明一下:

1 我的文章不是标准,里面的几点标准漏洞百出也好,逻辑不通也好,见笑了,本人水平有限

2 哪里来的什么标准,大家都是在探讨而已,随便写的感想而已

3 本文不是站在精英的立场批判非精英的,不要误解

4 文章的用意是针对在公司和企业做事的程序员来说的,希望做事专业一点,仅此而已。如果你不是在企业做事,如果你是自己创业是老板,如果你是比尔盖茨等天才,完全不用追求做的更好,不要追求企业的标准和价值观,不用理会什么标准,其实大学也不用念完的。。。。

5 文章说的一些不专业的毛病,每个程序员都存在,有则改之,无则加勉,为了提高自己而已,不是愚化程序员,也不是针对谁或扣上不专业的帽子,你误解了我的意思。。。我只是希望大家能够更多的提高自我而已,不仅仅是在技术上。


  回复  引用  查看    
#25楼2008-03-05 10:26 | floodpeak      
专业与否没有一道明显的杠杠横在那儿
我们只能做得尽量好些……

  回复  引用  查看    
#26楼2008-03-05 10:43 | 置身珠海,学习与奋斗      
文章说到中国的程序员效率比老外差7-8倍
-------------------》
前不久听哥们说一件事,某省某银行招标搞个客户服务系统,印度一大公司的报的标是12年,要求是12年分期完成
哥们公司报的标是1年,哥们公司的那伙搞项目的人,整天加班加点的,还真准时搞出来了

比比效率,不会算的话,自己写程序去算去!



说中国程序员的效率差的,你真的见过人家怎么写程序的吗?人家有像中国程序员这样死心踏地,任劳任怨,不计报酬的吗?

  回复  引用  查看    
#27楼2008-03-05 10:52 | 随风逝去      
做一行就要做一行的专业!
职业精神感觉确实是非常重要的

  回复  引用  查看    
#28楼2008-03-05 10:57 | 随风逝去      
--引用--------------------------------------------------
kiler: 做事态度上的缺陷远比技术上的缺陷危害大,不懂可以学,但是不打算学好那就没办法了。
--------------------------------------------------------
心态决定一切

  回复  引用  查看    
#29楼2008-03-05 11:30 | 李华星      
牛人不吹不出来的, 是磨练出来的
  回复  引用  查看    
#30楼2008-03-05 14:39 | Achilles.NET(李智)      
几乎每个团队都有几个专业的程序员,即“主程序员”,也有很多不专业或即将专业的程序员;有刚毕业朝气蓬勃的白纸小伙,也有业务经验丰富但默默无闻的老黄牛,有满身带刺的所谓技术“牛人”,也有不大伸张的真正“牛人”;项目经理如何管理和激励团队成员,扬长避短,使团队发挥最大战斗力,如何帮助团队成员成长,这是项目经理需要思考的问题。

而从程序员自身来说,则应当向专业化的方向努力,无论你的职业方向是管理、技术、还是技术管理,这些都是必须的。因为说到底,只有你做的专业,只有你做出来的东西专业,才能让人信服。
======================

现状~~~

  回复  引用    
#31楼2008-03-05 14:40 | 张大磊(Ray Zhang)[未注册用户]
看到孟岩文中的:

”硅谷软件工程师的平均效率(或说生产率)比北京的软件工程师高得多,其差距之大,可能达到10倍之多。“及其解释。
-------------------------------------------

我第一反应就是打一个问号,有证据吗?

中国软件产业目前是不如美国发达,但这是工程师懒惰、不专业造成的吗?
也许只有×××学院的人才这样想吧?
不如让所谓的专家好好在北京写上几年程序再来下个客观推论。




  回复  引用    
#32楼2008-03-05 16:48 | sunrisex[未注册用户]
看来楼主高深莫测,连专不专业也由你说了算了.厉害.厉害.
  回复  引用  查看    
#33楼2008-03-05 16:49 | It all depends on your attitude      
所以说现在任一定要team work
  回复  引用  查看    
#34楼2008-03-05 17:06 | birdshome      
不是太清楚孟严指的效率到底是什么?
但一定不是工作量和编码量这些东西。
微软的程序员,一年下来的平均有效代码也就一两千行,
不少的时间都在training, meeting, argue, sync...

  回复  引用  查看    
#35楼[楼主]2008-03-05 17:07 | Mainz      
@置身珠海,学习与奋斗
非常同意,中国很多牛人,一人顶N人,效率绝对高;但平均起来,人一多,项目一大,中国人再内耗一下,就完了。。。

  回复  引用  查看    
#36楼[楼主]2008-03-05 17:07 | Mainz      
@张大磊(Ray Zhang)
我也对这个数据表示怀疑

  回复  引用  查看    
#37楼[楼主]2008-03-05 17:10 | Mainz      
@sunrisex
探讨而已,没什么标准,仅供一娱,如果对你有启示,最好;没启示,全当路过罢了。有不同意见很正常,或许你是世外高人,根本无需追求做的更好,更专业!

  回复  引用  查看    
#38楼[楼主]2008-03-05 17:13 | Mainz      
@birdshome
估计是说的对企业真正产生的价值。。很虚的。。。

这个数据我非常表示怀疑,中国程序员效率不会差,比老外勤快多了!如果说差,那肯定是因为中国软件公司管理落后,软件工程落后所致,作坊式的管理惹得祸!

  回复  引用  查看    
#39楼2008-03-05 18:04 | 周喜宏      
专业的找专业的,不专业的找不专业的不就完了。我就不专业:)
  回复  引用  查看    
#40楼[楼主]2008-03-05 18:13 | Mainz      
@周喜宏
高见!呵呵

  回复  引用  查看    
#41楼2008-03-05 20:30 | GoGoSonny      
谁不想去专业化的软件公司,可是,太多公司不专业了。。。
PS:努力专业中。。。

  回复  引用  查看    
#42楼2008-03-06 09:44 | 置身珠海,学习与奋斗      
--引用--------------------------------------------------
Mainz: @置身珠海,学习与奋斗
非常同意,中国很多牛人,一人顶N人,效率绝对高;但平均起来,人一多,项目一大,中国人再内耗一下,就完了。。。
--------------------------------------------------------
内斗在技术行业内是很少的

能以在一年内做完人家十二年的工作与民族文化有很大关系。

中国人聪明,与那外国人比起来又太勤快,还任劳任怨主动为老板着想,时间紧张还能主动加班,这样才能把外国人做不到的事情做出来。

仔细想一想,运载火箭,神舟飞船,探月卫星,核武器,高能激光,KKV,常温超导,聚变发电等等,哪一样不是在比别人条件更艰苦,时间更紧迫的情况下完成了,高精尖方面有多少又是全球领先.

这么好的技术人员群体,却要受那样的无端污蔑。

  回复  引用  查看    
#43楼[楼主]2008-03-06 10:37 | Mainz      
@置身珠海,学习与奋斗
运载火箭,神舟飞船,探月卫星,核武器,高能激光,KKV,常温超导,聚变发电等等的确厉害,但光就软件行业来讲,中国的确不如美国,没有一个拿得出手的软件,也没拿的手的软件公司,连印度都比不上,这的确是不得不承认的现实。但这是上层的问题(产业环境,土壤,产权保护,创新体制,管理水平,软件工程实施水平,企业文化等等),孟岩说原因就在程序员效率差不专业上,我是不同意的。可以看我文章的倒数第三段,这一点的确是对中国程序员的污蔑!

  回复  引用  查看    
#44楼2008-03-06 12:15 | 置身珠海,学习与奋斗      
--引用--------------------------------------------------
Mainz: @置身珠海,学习与奋斗
运载火箭,神舟飞船,探月卫星,核武器,高能激光,KKV,常温超导,聚变发电等等的确厉害,但光就软件行业来讲,中国的确不如美国,没有一个拿得出手的软件,也没拿的手的软件公司,连印度都比不上,这的确是不得不承认的现实。但这是上层的问题(产业环境,土壤,产权保护,创新体制,管理水平,软件工程实施水平,企业文化等等),孟岩说原因就在程序员效率差不专业上,我是不同意的。可以看我文章的倒数第三段,这一点的确是对中国程序员的污蔑!
--------------------------------------------------------
美国是所有的公司都在做底层吗?刨去搞操作系统,数据库,网络交换,应用工具的,其它的都一样。
去年测试过美国大公司的CRM产吕,界面无比华丽,逻辑无缘清楚,就是使用中怎么有点磕磕碰碰。感觉有点不对劲,反编一看(.net程序,未混淆未加密),真是让人傻了眼,那代码一看就知道是没有审核过的,中国一在校大学生水平!

  回复  引用  查看    
#45楼2008-03-06 12:44 | 三千      
@水果阿生
别说这个,不给钱就让人干活这事仁义吗?程序员不需要自省,不需要自强,需要先有钱。

----------
老苏怎么越来越现实啦~~

:D


  回复  引用  查看    
#46楼2008-03-06 12:59 | 置身珠海,学习与奋斗      
--引用--------------------------------------------------
Mainz: @置身珠海,学习与奋斗
运载火箭,神舟飞船,探月卫星,核武器,高能激光,KKV,常温超导,聚变发电等等的确厉害,但光就软件行业来讲,中国的确不如美国,没有一个拿得出手的软件,也没拿的手的软件公司,连印度都比不上,这的确是不得不承认的现实。但这是上层的问题(产业环境,土壤,产权保护,创新体制,管理水平,软件工程实施水平,企业文化等等),孟岩说原因就在程序员效率差不专业上,我是不同意的。可以看我文章的倒数第三段,这一点的确是对中国程序员的污蔑!
--------------------------------------------------------
回到正题,我的本意是指,专业这个词并不适合中国国情,也不适合中国信息产业的发展速度。
为了专业而专业不如先把东西做好,节省更多的人力物力,为社会多做贡献!


  回复  引用    
#47楼2008-04-08 09:50 | SilviaYu[未注册用户]
在自己年轻的时候计较得太多,往往耽误的是自己.



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1090690




相关文章:

相关链接: