注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

李红 廊坊师范学院信息技术提高班 十一期

 
 
 

日志

 
 

优秀程序员思想  

2016-07-18 08:54:04|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

     工作在第一线的软件开发人员是程序员和程序经理,他们决定着软件的命运。良好的程序员队伍和出色的管理是软件项目成功的必要条件。管理不是管制,不是去卡住人家的脖子,因为程序员不是一群野鸭子。管理的目的是让大家一起把工作做好,并且让各人获得各自的快乐和满足。当一个组织被出色地领导时,雇员甚至不知道他们已被领导。在项目完成时,他们会自豪地说:“看看我们通过努力取得的成绩吧”。所以管理者不能老惦记着自己是一个官,而应时刻意识到自己是责任的主要承担者。

      我们经常会听到有经理头衔的人在高谈阔论:“编程我不会,做个项目还不easy?派个人去搞系统分析,回头再叫几个程序员把需求译成程序,不就OK了吗?”

      不懂英语的人准以为easy和OK是贬义词。要让软件项目失败很容易,只要符合下列条件之一即可:

      (1)项目经理对软件一无所知;

      (2)技术负责人对编程不感兴趣;

      (3)真真编写代码的程序员是临时雇用的。

      如果上述三个条件同时具备,就请放心失败好了。

      让我们少幻想自己是比尔·盖茨,先当好程序员和程序经理再说。

      2.1 了 解 程 序 员

      早期的程序员干活能从软件直通硬件,个个生猛无比。又因他们的作息时间、言行举止与常人不太一样,久而久之就给人们留下了“神秘”、“孤僻”的印象。如今软件行业被炒得热火朝天,有能耐的程序员即便躲在大山岙的军工厂里也能被挖出来。而更多原本不是程序员的人操起几本“速成”、“二十一天通”等书籍也加入了这个行业。现在国内号称有上百万程序员,这支大军鱼龙混杂,已搞不清那些是正规军,那些是民兵游击队了。

      真正的程序员都有如下秉性:

      一、诚实

      程序员在学习与工作期间几乎天天与机器打交道,压根就没有受欺骗或欺骗人的机会。勤奋的程序员在调试无穷多的程序Bug时,已经深深地接受了“诚实”的教育。不诚实的人,他肯定不想做、也做不好程序员。

      有一名市场营销员和一名程序员都在新闻发布会上发言,将一项新技术的消息公布于众。

      市场营销员说:“这项技术比电话、晶体管和原子弹三项发明加起来对世界文明的影响都要大。”

      程序员说:“这项技术在有限的领域内,在有限的程度上,解决了一些技术性的问题。”

      看来为了让我们的民族更加诚实,学电脑真的要从娃娃抓起。

      二、简单——实用主义

      有人问一个数学家,一个物理学家和一名程序员:“一个盒子有几个面?”

      数学家回答说:“有六个面,因为盒子是长方体。”

      物理学家回答说:“有12个面,分为6个外表面和6个内表面 。”

      程序员回答说:“只有两个面,里面放电路板和硬盘,外面放显示器和键盘。”

      目前即使最先进的计算机也不具备智能,程序员的基本工作就是把复杂的问题转化为计算机能处理的简单的程序。如果一个问题复杂到连程序员自己都不能理解,他就无法编出程序让更笨的计算机来处理。所以程序员信奉“简单——实用”主义。

      也有不少做计算机“学问”的人颠倒行事。本来几句话、几行程序就能说明白的事,非得要抬高到理论创新的程度,写成玄乎的文章去评教授或者弄个博士学位。所幸在第一线工作的程序员大多是实干的。

      三、爱憎分明

      程序员大都喜欢技术挑战,不喜欢搞测试与维护。高水平的程序员喜欢与高水平的程序员一起工作,因为他们怕“与臭棋佬下棋,棋越下越臭”。程序员大都厌恶拉帮结派、耍政治手腕。不信,数一数你认识的程序员,有几个是党派人士?

      四、工作单调但不乏味

      有人问编程大师:“程序设计的真正含义是什么 ?”

      大师回答说:“饿了的时候就吃,困的时候就睡,只要时机恰当就进行程序设计。”

      其实程序员的生活和工作已融为一体,尽管单调却不乏味,还能独享孤独。有诗为证:

      我编程三日

      两耳不闻人声

      只有硬盘在歌唱

      结论:优秀的程序员没有理由不让人喜欢,他们远比怪僻来得可爱。

      

现在很多女士不会烧菜,却能把菜的营养讲得头头是道。虽然这是个值得哀叹的社会问题,但我们应该有信心期待:如果她们非得天天烧菜不可,那么不久就能把菜烧得又好吃又有营养。许多程序员不懂商业,不是智力上的原因,主要是个人兴趣和环境所致。软件公司的老板应该这样鼓励有灵气的员工:“你能把技术做得那么棒,还怕搞不好管理?放心干吧!”的确,很多技术人员是在工作中领悟如何管理的,他们经过挫折与磨练,逐渐升为组长、项目经理,乃至成为公司重要的决策者。

      优秀的程序员喜欢与优秀的程序员一起工作,这是一种理想的愿望。一个普通的软件公司不可能有非常多的优秀程序员,即便有,他们也不可能天天聚在一起干同一件事并且和睦得无法形容。中国自封建社会起就有喜好内斗的风俗习惯,几千年下来早已渗透到社会各个角落,那怕黄河水流断了,估计这民风也会延袭下去。要使程序员队伍稳健,必须有合理的等级制度来维护。等级制度并不限制自由和民主,它能让自以为聪明绝顶、谁也不服的人们懂得如何合作与奋斗。就象有了一架梯子,每个人才有机会爬上墙头摘下那向往已久的野花。当梯子散成一堆木棍时,只可能造就几个卖炭翁。

      下面我们尝试着建立一个程序员队伍的等级制度。

      把技术水平分为四级,第一级最低,第四级最高。第一级技术水平的程序员主要考核编程基本功,要求质量合格(他们主要来自刚毕业的大学生)。第二级技术水平的程序员编程质量要高,做过几个软件项目,有数年的工作经验,并能指导新手的工作。第三级技术水平的程序员主要考核系统分析与系统设计的能力,要求其技术有足够的深度和广度。第四级技术水平的程序员是成功的软件产品的设计师,他不仅技术超群,并且能使技术转化为有价值的商品。

      把管理(这里仅指软件业务的管理,不考虑行政事务)水平也分成四级。第零级最低,第三级最高。第零级管理水平的人没有管理职务,就是普通员工。第一级管理水平的人是开发小组的组长,可带领几名程序员工作。第二级管理水平的人是项目经理。第三级管理水平的人决定某些产品是否要开发,以及如何去占领市场。

      每个程序员都有明确的技术级别和管理级别。技术级别与管理级别有一定的联系。一般地,第一级技术水平的人只能做普通员工;第二级技术水平的人可以当一名组长;第三级技术水平的人可以当一名项目经理;第四级技术水平的人可成为公司产品的决策者。

 

      2.5 向错误与失败学习

      不管是生活或工作,人们都应该向错误与失败学习,目的是让我们在短暂的健康年华中少犯错误、少失败,多做几件正确的对社会有贡献的事。

      导致软件项目失败的因素很多,如果不去找借口的话,就会发现错误的根源在自己身上:知识贫乏、才能低下、经验不足、骄傲自负……。我们必须正视自身的不足与缺点,才会学到经验教训。可人们常有太多的虚荣,为了克服心理障碍,白白浪费了很多本该用于创造的精力。

      假设犯错误的人是诚实的并且是勤奋的。他愿意不带虚荣地改进自己。当这个人突然面对失败时,可能觉得自己一无是处,也许会不知所措,也许会病急乱投医。程序员都有一种共同的体会:在调试程序时,时常碰到只有十几行的程序竟会产生上百个编译错误;最后发现这么多的错误其实是由某一行程序错误引发的。当我们在工作中碰到挫折时,先要冷静地分析问题(事出有因哪),找出问题的内因与外因。内因是最主要的,应该予以最先解决。

    

 

      2.6 提高综合素责

      前面给软件开发人员加了过多的赞誉。一个技术出色的程序员可以自豪,但不可以目空一切。上天不可能赋于一个人太多的优点,以致于他没有表示谦虚的余地。

      我们在求学时可能太功利太挑剔,导致知识结构非常单薄,只怕到了晚年也成不了大器。当程序员擅长技术时,还要时刻留意弥补自己并不擅长的非技术才能。扬长补短才能提高综合素质。

      假如能回到中学时代,我希望能把文科学好。那时侯盛传“学好数理化,走遍天下都不怕”。我读中学时很无知,鄙视一切文科,现在后悔莫及。高考语文成绩54分(只比我的期望值低6分)。写作文的最高目标就是不逃题,考试前我总是反复祈祷:我没干过坏事,保佑我作文不逃题吧!上大学的第一天我竟然无法用普通话说出“去洗澡怎么走”,只好晃动澡票与辅导员打哑语。中学的历史、地理课也被我糟踏了,考试时只会填写任课老师某年某月某日在我家乡英勇就义,比谁的成绩更接近零分。更让我沮丧的是,这些行径都不是我发明的,我顶多是个跟屁虫而已,一点回忆的自豪感都没有。

      扔掉文科只学理科并不等同于“放下包袱,轻装前进”,倒象是摘掉了控制系统的机车,开不了多远就翻车了。我搞了八年的软件开发,没做出象样的软件来。倒是有同行意外发现我的文笔不错,是当作家的料。我发现自己在不该开花的地方结了一颗瘦涩的果子。曹操之子曹彰曾建议:“大丈夫当学卫青、霍去病,立功沙漠,长驱数十万众,纵横天下,何能为博士耶?”要后悔的事情太多了,只能现在做得勤快些。明知自己不成大器,但愿意亡羊补牢,力求学得更深更广。

      不要让人觉得程序员只管钻研技术,可以不懂世事并且应该自由散漫。程序员不该因为幼稚而显得单纯,应该是成熟了才变得单纯,才配得上这个充满活力的职业。

     

      中国经历了很多打斗、整人的革命,却没有一次赶上工业革命。在如今计算机横行的形势下,我们不能再掉队了。90年代初期,中国出现了一些程序员英雄,曾让我们激动过、崇拜过。但这些孤胆英雄们很快地几乎全消亡了,他们只留下故事,没留下更多的价值。再一次让我们意识到“振兴民族软件产业”不能依靠几个人一朝一夕的辉煌。软件人员勤奋学习和工作,不该只图将来能做成几件事情的快意,而应力求事业长盛不衰,才能推动整个民族软件产业持久稳健地发展。

  评论这张
 
阅读(9)| 评论(3)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017