C_and_CPP 版 (精华区)

发信人: hua (pupa), 信区: C_and_CPP
标  题: 程序员的德行
发信站: 哈工大紫丁香 (Sat Jan  1 21:30:46 2005), 转信

发信人: voidluner (虚度年华), 信区: CPlusPlus
标  题: 程序员的德行
发信站: BBS 水木清华站 (Tue Jun 17 13:54:27 2003), 转信
 

//不知道这个算不算违规:)
//觉得可以cc
作者:赵月旺     本文选自:登龙门人力资源网络  2003年06月12日
  程序员一定要除了基本的道行修炼外。更重要的是德行修炼。德行=合作能力或沟
通能力。对于规模大,生命周期长(特别是衍生生命周期长)的软件项目而言,德行更
重要。
  德行的标准
  软件开发离不开企业,企业的文化决定着程序员的行为规范,比较理想的企业文化
是:
  沟通方式开放、自由、平等,个人长期发展和企业发展的有限度统一。这样的企业
文化,必然会造就具有长远眼光和冒险精神的将帅之才。
  这方面的楷模是微软公司,该公司全球员工平均年龄只有28岁,无论在全球的哪家
公司,微软评判人才的标准都是相同的。挑选员工的第一标准是应聘者是否具有良好的
品德。微软认为,良好的品质是职业道德的基础。其次,看应聘者解决问题的能力如何
,在面对困难时是退缩,还是勇往直前,因为实际工作中常有新问题需要解决。第三,
要测试应聘者有没有快速学习的能力,日新月异的技术发展要求有快速学习能力。另外
,团队精神、责任心、工作热情、创新精神和独立工作能力都是必须的。
  好的企业文化熏陶出来的程序员,必然是关注个人长远发展的职业精英,这样的程
序员必然会较早地设定自己的职业发展管道。比如:
  管理序列:程序员->项目管理人员->中级管理人员->高级管理人员;
  技术序列:程序员->高级程序员->需求分析师\\架构工程师\\质量管理;
  市场序列:程序员->售前支持->销售;
  与这样的个人职业发展管道相适应的个人技能是:
  ——软件基础理论扎实;
  ——系统分析与设计能力较强;
  ——具有熟练的系统开发、系统测试与系统维护技术和管理技能;
  ——较强的项目管理能力和交流与组织协调能力;
  ——在企业既能适应软件产品研发,又能适应项目管理岗位;
  ——具备独立工作能力和创新意识。
  在项目开发过程中,有效沟通非常重要,沟通的形式多种多样,除了常见的几种方
式外,下面讲几种比较有特点的沟通方式:
  * 历史和现在
  如何最大程度地挖掘过去成果的价值,需要讲过去的成果(算法,code,设计思想等
)进行再组织,使之可以被快速检索。
  * 标准化
  “最好的沟通是没有沟通”,通过标准化的技术手段,使个人的输出可以被他人非
常容易地了解,这样可以避免沟通带来的效率低下。
  * 技术一致性
  软件技术的发展,使得程序员这个职业需要不断细分,这带来的最大问题是不同技
术间的互通问题。为此,在程序开发过程中,需要不断进行的技术预研变得越来越重要
。并且,只要满足功能需求,就采用最简单的实现技术。
  * 简单性
  程序规模变得越来越庞大的同时,修正Bug的代价程指数级增长。因此,尽量少用比
较容易犯错误的编程技术(比如C语言的指针),尽量采用简单(牺牲效率)的算法,接
口间尽量少一些“合并点”,将是非常有价值的。
  不良的德行
  尽管国内程序员有一些普遍的优点:比如有雄心壮志,面对困难时比较坚毅,理论
基础、尤其是数学功底扎实,编程能力强,吃苦耐劳、讲纪律、讲服从等。
  而缺点也是突出的:创新精神不足,做事缺乏主动,独立从事研究的能力弱,对很
多事没有主见,而且有想法不直接说,对新知识了解不够,不善于与人交流,缺乏合作
精神。
  还有一些缺点:不诚实——表现在答应了的事不去做;贪小便宜——用公司设备办
私事;不够踏实——急功近利,擅长做表面文章。
  这些不良德行在实际的程序开发中表现如下:
  * 滥用不变量,以自己模块调试通过为最高目的
  大家知道,程序中到处存在着“瓶颈”,这些瓶颈是造成程序运行时不稳定的最重
要的因素之一。比方说,在模块接口间定义了一个用常数开辟的内存空间。消除这些瓶
颈要从几个方面入手:
  ——采用技术手段减少不变量的使用,不要给别人造成麻烦;
  ——集中使用不变量,方便自己的上司作出Bug修正决定;
  ——应用各种异常捕获机制,在不变量导致的异常出现点进行精确定位;
  * 不尊重文档,契约意识淡薄
  应该把文档看成法律合同,要认真书写,完全彻底地遵守。并且,一旦发现定义模
糊的地方,应该及时通报作者进行适当修正。
  * 不写或少写注释,小农思想严重
  程序是共有的,模块是不能独活的,注释可以帮助测试人员和维护人员的工作,并
且,特别利于软件重用,最大限度地延长模块的生命周期;
  * 不关心他人的进度,个人利益高于以前
  开发进度的平衡是一个项目成功的重要标志。个人的能力是不平衡的,每个人的工
作量也是不平衡的。关心他人的进度,并在适当时机施以援手,将最大程度地消除开发
进度中“人的瓶颈”。要知道:团队成功是个人成功的前提;
  * 不借鉴他人的闪光点,偏重技术,忽视德行,难成大器
  创新分精神创新和内容创新。有一个有趣的现象,大家大概都经历过,比如:A在他
负责的模块内用了一个算法,得到领导表扬;B就另外写一个算法,可能B的算法要好,
但,站在整个项目的角度看,B的行为是有害的,因为他损害了沟通的效率(领导要分别
看两个算法,测试员要策两种算法,维护人员就更苦了)。
  企业的德行
  IT界普遍认为国内IT教育在课程设置上存在不足,比如课程陈旧,学生的动手能力
差,缺乏实践经验。很多企业抱怨,学生到了企业后,不好用,企业不得不再培训一段
时间才能用,所以,很多企业不愿选择应届生,而喜欢从社会上招聘。实际上是这样吗

  这实际上反映了国内软件企业的规模比较小,偏重只有较短生命周期的应用软件开
发,所以,这些企业在自身资源有限和发展定位上的“鼠目寸光”决定了他们对人才需
求的的急功近利。
  实际上,培养刚从学校出来的大学生是最合适的人才选拔方式。学生刚刚踏上社会
,对职业的理解可以从0开始塑造,这样建立起来的团队特别整齐。这可以从每年跨国公
司的校园招聘会上得到证明。
 
 
--
 
voidluner  :不好,编译pass的程序怎么执行时出错?
InToForever:去去去~~那样的程序谁让你编译?.......
voidluner  :哼!上水母请教....
voidluner  :噢!原来不能用c编译器c++程序呀,那怎么通过了呢?
InToForever丢鞋ing...
 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.113.12.191] 
--
无名天地之始;有名万物之母。故常无,欲以观其妙;常有,欲以观其徼。此两者,
同出而异名,同谓之玄。玄之又玄,众妙之门。

天地之始,阴阳两分,阴尽阳生,阳尽阴生,生可复死,死可复生,一点真诀谓之变,
穷则通,通则变,阴阳逆转,生死交替。


※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 172.16.4.153]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.790毫秒