辛劳的程序员,别被卖了还帮人数钱,对不适合当一名开发人员的10种迹象一文的正确解读!
原文见这里 不适合当一名开发人员的10种迹象。此文可以说是写的非常软,粗看之下,感觉说的头头是道,言之有理,但读完之下,却总是有种不不大对劲的感觉涌上心头。
我感到很惭愧,工作做的不够好,学习的不够努力,工资领的太多,性格脾气太差,没和公司里的怪脾气的同事老板搞好关系等等等等,相信不同推荐和评论的都有这样的感觉。公司对你太好了,但你没有做的够好,甚至有迹象表明,你很可能根本不适合当一名开发人员。
对于这种很容易错误理解并让人陷入误区的文,实在是难于释怀,不得不站出来说几句,从另一方面解读下这十条,以正视听!
1. 宁愿培训,也不自学
原文观点:公司培训很昂贵,顶多为你报销买书的费用,所以你最好自学,否则你就有不合格的迹象。
解读:程序员自学固然重要,但公司的做法更不合格。
2. 喜欢正常的工作时间
原文观点:下班时间,你应该自觉加班,而不是你孩子的足球比赛或你想看的一个新的电视节目
解读:劳动合同规定了程序的工资和工作时间,延长工作时间,实际上就是变相降薪,所谓加班,大多数时间只不过是公司过度榨取程序员的手法而已,程序员自由支配自已的业余时间,合理合法。正确做法是公司应合理制定开发计划及投入足够的人力,加班也应该支付加班费。
3. 喜欢正常加薪胜过跳槽
原文观点:软件开发行业,技术无时无刻不在贬值,所以你的技术很可能一天不如一天值钱,所以公司不给你降薪,已经是对你大大的恩赐了。想加薪,门都没有,除非你大幅提升了你的价值或者给我走人。
解读:劳动合同规定了程序的工资和工作时间,延长工作时间,实际上就是变相降薪,所谓加班,大多数时间只不过是公司过度榨取程序员的手法而已,程序员自由支配自已的业余时间,合理合法。正确做法是公司应合理制定开发计划及投入足够的人力,加班也应该支付加班费。
实际上,程序员该不该涨工资,应该看公司有没有发展或者业绩增长,如果有,作为这些财富的创造者的一部分,程序员有权来分享,并且合法合理。频繁的跳槽,实际上对公司和程序员的发展,都没有过多的好处(对职业中介到是好处多多,这里最后会去补充)。
4. 无法和他人和睦共处
原文观点:你的经理很可能是一名非技术人员,所以你必须善于向非技术人员表达自己的想法。
解读:为什么不是你的经理善于向技术人员表达他的想法?或者你的经理应该略懂技术?否则一个技术人员向不懂技术的上级,怎么表达你工作上遇到的问题?另外这里请再参阅第十条“不喜欢极客类型的人”,一个技术人员,不仅要精通技术,还要有八面玲珑的人际关系,善于和各种类型的人沟通打交道,否则你就是不合格。
5. 容易垂头丧气
原文观点:文件材料过于陈旧或有错误、之前的程序员写的代码晦涩难懂、老板规定了一些必须遵守但毫无意义的规定……诸如此类的事情不胜枚举,你最好习惯,如果感到抓狂或垂头丧气,你同样不合格。
解读:程序员也是人,未必就是没有感情的机器,就算是比正人有更多的耐心和毅力,也不应指望他面对一堆Shit仍然还有食欲,实际上遇到上述那些不胜枚举的事情,公司正确的做法是主动或者提供资源去改善它。
6. 思想保守,不考虑他人建议
原文观点:几周前,一名初级程序员给我提了一个建议,他的建议让一段代码的运行时间从之前的若干天一下缩短到几个小时。
解读:这句话明显就是外行人YY出来的,任何一个写过几行代码的程序员都知道,一段代码,从运行时间若干天缩短到几个小时,真是匪夷所思,闻所未闻,要知道,一段代码的运行,正常情况下要以微秒计。不过多听取各方的意见是有必要的,但有时候老程序员采用保守的做法,实际上是在降低项目的风险,多方案争论不休的时候,要主动拿主意,先采取安全保守可行的方案实现,然后再去想着改进它。
另外再看第8条“不三思而后行”,跟本条前后矛盾,可见作者之外行。
7. 不注重细节
原文观点:有时,像少一个句号这样的小错误,就会让原本很完美的程序产生随机错误。如果你连哪里少了句号都搞不清楚,恐怕你在这一行业也不会有很大发展。
解读:外行,还是外行,写过几行代码的程序员都知道,语法错误是无法通过编译的。另外主流的编程语言,象C,C++,C#,Java等,应该是少个分号吧,句号这个的符号在源代码里倒是很少见。程序员注重细节是这必须的基本功,但此文这种“作为一个程序员,你在程序里连哪里少了个句号都搞不清楚,你不合格”,明显是个莫须有的罪名。
8. 没有工作自豪感
原文观点:原文例子观点很难理解,有拼凑嫌疑,但要表达的就是没有工作自豪感、不认真对待每个项目的程序员工作质量不高,从而编程事业也不会长久。
解读:认真对待工作是有必要的,而且是基本的职业道德,但这个工作自豪感,不是你程序员一个人想产生就能产生的。原因我不多说了。实际上,一个程序员,要是不热爱编程,他干麻还要干这种吃力不讨好的工作呢,所谓缺乏工作自豪感,很大原因是因为工作打击了程序员的积极性,比如超长时间的加班,过大的工作压力和强度,缺乏管理及混乱的需求等。
9. 不三思而后行
原文观点:比起编写程序,软件开发人员(至少是优秀的开发人员)会在项目计划上花费更多的时间。
解读:的确是个大道理,但实际上如何呢?实际上,除了初入行的菜鸟急着写代码外,哪个正常程序员不想把代码写的更好?大多数情况下,往往是公司要求你赶快写代码,让程序员缺少足够的设计,思考时间。而且很多时候是加班写代码,以赶上所谓的“项目进度”,这种做法,怕是连程序员自身都不满意。
一个项目的时间经常是这样分配的,正常需一年,客户压缩到半年,老板为节约成本再减三个月,剩下三个月业务需求要耗掉一个月,上线测试变更需求等要留出半个月,最好的结果就是程序员只有可怜的一个月要完成代码。其生产的质量可想而知,更不用说有足够的时候做好它,能加班加点搞完就不错了。
既要马儿跑得快,又要马儿不吃草,给你一个月的时间你没把工作做好,是因为你写代码不三思而后行。
10. 不喜欢极客类型的人
原文观点:所有的开发人员都像那样性格怪异吗?当然不是。但也不乏古怪的人,这足以让你在这个行业痛苦不堪。
解读:程序员也是人,别总把性格怪异当个性,如果你不是公司主力或者是业界大牛,最好还是正常一点。另外再次纠正原文作者的一个观点,极客,不是性格怪异和古怪,具体请参考百科解释,极客只不过是热爱计算机的一群人,把极客当怪人完全就是偏见,这是两个概念。混淆这两个概念有偷梁换柱的嫌疑。
正确说法是,如果你不喜欢极客并深感痛苦,那你的确不适合当一名开发人员,但如果你不喜欢性格古怪的人,那么你是个正常人。
花了这么多笔墨来解读,原因的确是这些概念很有代表性,似是而非。在打着“提升程序员群体素质,发现不合格发开人员”的幌子下,干的是损害程序员群体利益的勾当,以后还会有类似的概念来鼓吹这些观点,但程序员要认清事物的本质。这个本质就是:你在付出的时候,也应该争取你的合法利益,比如工资及福利待遇,正常的工作时间,业余时间自由支配等等。
这里需要注意,此文的观点很可能代表着一些职介,人事部门,公司管理层的心声,弱势的程序员群体,要正确判断。
注:修改并删除了一小部分涉及原文提交者伯乐在线的内容,原因是原文证实为伯乐在线所翻译而非原创。