第二章 程序员与程序经理
工作在第一线的软件开发人员是程序员和程序经理,他们决定着软件的命运。良好的程序员队伍和出色的管理是软件项目成功的必要条件。管理不是管制,不是去卡住人家的脖子,因为程序员不是一群野鸭子。管理的目的是让大家一起把工作做好,并且让各人获得各自的快乐和满足。当一个组织被出色地领导时,雇员甚至不知道他们已被领导。在项目完成时,他们会自豪地说:“看看我们通过努力取得的成绩吧”。所以管理者不能老惦记着自己是一个官,而应时刻意识到自己是责任的主要承担者。
我们经常会听到有经理头衔的人在高谈阔论:“编程我不会,做个项目还不easy?派个人去搞系统分析,回头再叫几个程序员把需求译成程序,不就OK了吗?”
不懂英语的人准以为easy和OK是贬义词。要让软件项目失败很容易,只要符合下列条件之一即可:
(1)项目经理对软件一无所知;
(2)技术负责人对编程不感兴趣;
(3)真真编写代码的程序员是临时雇用的。
如果上述三个条件同时具备,就请放心失败好了。
让我们少幻想自己是比尔·盖茨,先当好程序员和程序经理再说。
2.1 了 解 程 序 员
早期的程序员干活能从软件直通硬件,个个生猛无比。又因他们的作息时间、言行举止与常人不太一样,久而久之就给人们留下了“神秘”、“孤僻”的印象。如今软件行业被炒得热火朝天,有能耐的程序员即便躲在大山岙的军工厂里也能被挖出来。而更多原本不是程序员的人操起几本“速成”、“二十一天通”等书籍也加入了这个行业。现在国内号称有上百万程序员,这支大军鱼龙混杂,已搞不清那些是正规军,那些是民兵游击队了。
真正的程序员都有如下秉性:
一、诚实
程序员在学习与工作期间几乎天天与机器打交道,压根就没有受欺骗或欺骗人的机会。勤奋的程序员在调试无穷多的程序Bug时,已经深深地接受了“诚实”的教育。不诚实的人,他肯定不想做、也做不好程序员。
有一名市场营销员和一名程序员都在新闻发布会上发言,将一项新技术的消息公布于众。
市场营销员说:“这项技术比电话、晶体管和原子弹三项发明加起来对世界文明的影响都要大。”
程序员说:“这项技术在有限的领域内,在有限的程度上,解决了一些技术性的问题。”[James 1999]
看来为了让我们的民族更加诚实,学电脑真的要从娃娃抓起。
二、简单——实用主义
有人问一个数学家,一个物理学家和一名程序员:“一个盒子有几个面?”
数学家回答说:“有六个面,因为盒子是长方体。”
物理学家回答说:“有12个面,分为6个外表面和6个内表面 。”
程序员回答说:“只有两个面,里面放电路板和硬盘,外面放显示器和键盘。”[James 1999]
目前即使最先进的计算机也不具备智能,程序员的基本工作就是把复杂的问题转化为计算机能处理的简单的程序。如果一个问题复杂到连程序员自己都不能理解,他就无法编出程序让更笨的计算机来处理。所以程序员信奉“简单——实用”主义。
也有不少做计算机“学问”的人颠倒行事。本来几句话、几行程序就能说明白的事,非得要抬高到理论创新的程度,写成玄乎的文章去评教授或者弄个博士学位。所幸在第一线工作的程序员大多是实干的。
三、爱憎分明
程序员大都喜欢技术挑战,不喜欢搞测试与维护。高水平的程序员喜欢与高水平的程序员一起工作,因为他们怕“与臭棋佬下棋,棋越下越臭”。程序员大都厌恶拉帮结派、耍政治手腕。不信,数一数你认识的程序员,有几个是党派人士?
四、工作单调但不乏味
有人问编程大师:“程序设计的真正含义是什么 ?”
大师回答说:“饿了的时候就吃,困的时候就睡,只要时机恰当就进行程序设计。”
其实程序员的生活和工作已融为一体,尽管单调却不乏味,还能独享孤独。有诗为证:
我编程三日
两耳不闻人声
只有硬盘在歌唱
结论:优秀的程序员没有理由不让人喜欢,他们远比怪僻来得可爱。
文章来源于领测软件测试网 https://www.ltesting.net/