哪类程序员升职快:主动哥还是被动哥?

 

近日,问答网站“知乎”上有个关于程序员能力的问题引来了截然不同的回答。提问人表示疑惑:大多数程序员是否有能力独立完成一个稍显复杂的桌面软件?

 

  在此,我们挑选出两种观点中的代表性回答。

  程序员谢旭阳表示:一个做桌面程序的程序员应该很容易做一个“稍显复杂的桌面软件”。这就好像一个做Web的程序员做一个“稍显复杂的网站”也是很容易的。当然这个“复杂”只是指功能等技术逻辑上的复杂,如在UI方面还有更高要求,那应该由专门的美工来负责,而在推广营销方面还应与市场人员配合。

  而一位拥有十年开发经验的程序员给出了否定观点的回答。

  程序猎人:程序员也有分工:桌面程序、网络程序、移动终端程序、大型机编程、小型机编程、单片机编程……即便同是做桌面程序开发,在不同操作系统下,代码写法也有很大不同。术业有专攻,一直钻研其他领域的人,哪怕是高手也可能对桌面程序的运行机制和构建方法不熟悉,从而无法独立完成这个任务。即使在一个专做桌面软件的公司里,也可能有大部分程序员无法独立编写一个稍显复杂的桌面软件。

  “程序猎人”不仅给出了回答,还对背后的原因进行了深层次的分析。他认为,做事情兢兢业业、并且做事时肯主动动脑思考前因后果、愿意主动扩大自己工作责任范围的人总是很少,他称这类人为“主动哥”。大多数人都习惯于只做被分配的任务,并按照被吩咐的做法去做,对扩展自身工作范围和知识没有什么兴趣,仅在被分配了新的工作内容时才去学习,他称这类人为“被动哥”,并表示这个世界的大部分财富是“被动哥”创造的,大部分工作是他们完成的。他们中不乏好人、热心人,但因为求知欲的缺乏会导致他们长期保持在某一状态。而以Windows桌面编程为例,如果一个“被动哥”被分配只需编写一些函数调用其他人开发好的API,并通过其他人写好的框架来做测试,那么他很可能在完全胜任工作的前提下不了解任何Windows桌面程序从头建立的方法。自然就不可能独立完成一个桌面软件了。从大工业生产来看,这一点对公司是有利的,因为工作的成败将不仅仅取决于某几个员工,而且随时可以替换任何一个被动哥,也就意味着随时可以找到成本更低的人才。日本很多软件公司中的程序员都是这种状况。相对来说,中国的一些看似不太成熟的公司反而好些,里面的人什么都得做,哪怕是超级被动哥也什么都会了。另一方面,主动哥往往容易得到上级的赏识,很快便从程序员升级为设计者、架构师、管理者、顾问……长此以往沉淀在程序员阶层的大多是被动哥,那么大多数程序员无法独立做出一个像样的东西也就不足为奇。

  另外,这位热心网友还介绍了目前软件公司普通程序员的工作情况,以下是他的文字摘录:

  大部分情况下,普通程序员并不负责设计,仅负责编写代码并进行最小限度的单元测试,同时在被要求的情况下撰写相关文档。这类程序员常常是对着详细设计书进行代码翻译工作,对于一个有思想有抱负的人来说很枯燥乏味。我曾经见到过快要达到伪代码级别的设计书。如果拿在手里的不是打印出来的纸张,随便写个宏什么的,基本都能把代码生成出来的。但也不排除设计书做的不完整或者质量低下的情况,这时候就需要向设计者发问,并承担一部分设计工作,这种情况相对会有趣一些。但对知识不丰富且没有设计经验的人来说,这项工作是个噩梦。尤其跨国协作时,要用外语探讨时,有些外语不好的人就彻底缴械了,三天两头请外语好的人吃吃喝喝的……当然还有另外的一些高级程序员,进行着分工更高层一些的工作。比如:设计师、架构师、顾问等。作为设计师,相对接近程序员一些。要把架构师定下来的东西更进一步细化,设计成程序员能实现的东西。当然对于一些小公司和小项目,以上角色互有穿插,甚至一人全兼。

  作为架构师,往往要做出很多艰难的抉择——是使用这种技术还是那种、是用这种平台还是那种平台、是牺牲功能还是牺牲性能?作为顾问,其实很多真正喜欢闷头搞技术的人一不小心当了顾问之后都大惊:我这跟搞推销的有啥区别?啥时候才能让我再次打开久违的IDE(集成开发环境)或者记事本(拽点的人用Vim),敲两行代码啊。因为顾问的主要工作是研究客户的业务,并提出一个可以满足客户业务需求的IT解决方案。他们对IT技术可以说无所不知但又对任何一种都不深入。(当然也有一些超人,在完成任务的基础上自行抽时间钻研某方面技术。遇到这种人,就膜拜吧。)让普通技术人员眼花缭乱的各种名词是他们忽悠客户最好的武器。然后就是去客户现场忍着各种不爽做讲演了。

  对于程序员新手如何提高开发能力,这位拥有十年开发经验的热心网友建议“做个‘主动哥’而不要做‘被动哥’”。首先,大量的实践练习绝对是必须的。而实践之外重要的一点,是多动脑思考,哪怕工作本身不需要头脑,也不要停止思考。想一想做这件事的前因后果,有什么可以改进的地方或者提高效率的地方。长此以往,经过同样的时间,你会比“被动哥”多学会很多东西,并具备很多能力。简而言之,要提高开发能力,就要做到勤奋和善于思考。

 

 

 

无需怀疑:移到开发者的前景和“钱景”一片光明

【1】  海量Android教程、开发资料和源码 

【2】  海量Linux学习教程和开发资料 

【3】  海量C、C++、MFC和VC++教程、源码和开发资料

其他精彩博文:

从IT菜鸟变为“IT骨干开发者”的11个建议

程序员发展应该尽早明白13个道理

程序员编程技术迅速提高的终极攻略

中国最高等级实验室——“国家实验室”名单(仅20所)

2011年3月最新“211工程”大学名单(共112所)

技术精英谈IT程序员的出路在哪里——很经典

让IT人远离慢性疲劳,长时间操作电脑需要养成的几个好习惯

技术开发人员为什么会无奈苦逼?

成为Java高手的25个学习目标--非常经典

周立功谈嵌入式:我的25年嵌入式生涯

印度和中国程序员的区别 

技术开发人员应该多吃的15种健康食品 

IT技术开发人员获得成功的六大步骤

开发人员的7大坏毛病

老程序员的忠告:不要做浮躁的软件工程师

为程序开发人员量身定制的12个目标

IT技术开发人员35岁之前应该做的十件事

2011年中国百万开发者大调查:程序员的薪水不

 IT人生路精彩博文精选导 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值