我在最近一次《关于年长程序员的5个误传》文章评论中收获颇丰:“老家伙们!老家伙们!加油!” 而且也并不一定不恰当……毕竟,它有望打破被人们当做假定真理而误传了很多年的谬论。但我省略掉某些重要事情的一点细节:
年长程序员的坏习惯正在扼杀他们的职业生涯。
抱歉,我听到你的下巴砸到键盘上了。“什么!但是Dave,你说经验是宝贵的,而且……”
没错,我知道我说过。每个字都是我的真心话。但年轻人有一种不同于我们的优势:他们还没有养成很多习惯。
我不是在谈论每天价值5000美元的hooker-and-blow这种习惯。我在说的是,当你开始作为一个程序员时,那些你已经形成日常模式的实践活动。就像你(不能)写出清晰、简要,或者所有风格的评论的能力一样。当你做出大的变动时,你总是缺乏与其他组员的沟通,因为你觉得没必要。你拒绝做文档记录。或者你消极地拒绝学习新技术,因为你认为你已经有足够的知识来处理你的工作了。
这些是我多年来收集到的所有习惯。有些习惯是好的,比如,确定你始终有一个合适的bug跟踪系统,或者像信条一样使用源代码管理。但是并非所有的习惯都像我上面提到的那些一样有帮助。如果你已经有超过10年的编程经历的话,你多少会形成一些或好或坏的习惯。不要笑自己。在周而复始地做同样的事情的过程中,你的惰性和自满会让这些陋习逐渐暴露。你也不必烦恼于改掉他们,只是到目前为止它们正常运行。现在没有动机去改变他们。牛顿的第一动力学适用于软件学习:
由于重力的关系,也许我将会静止……
“如果没有外力作用,任何运动的物体,都将保持运动状态;任何静止的物体,都将保持静止状态。”
在你达到一定的能力之后,假设你还不能满足彼特原则(Peter Principle),并且能力还得不到提升,你进步的动机会被你维持现状的动机所削弱。你认为你当了5年的初级软件工程师,将来无论什么时候你都不想成为一个能力欠缺的老板,所以你觉得做一个初级软件工程师也挺开心。
错误。致命的错误。
这种想法正是产生基于年龄的偏见和歧视老员工的根源所在。自满的态度会让别人把你当做是懒虫。懒惰不会让你达到今天的成就,所以为什么你会突然觉得这个战略的转变是一个好主意?
作为一个年轻的员工,你的头脑比大卫雕像还要空白。形成新的习惯十分容易,因为每样东西对于你的设计都是全新的,学习框架,学会评估进度。你正在用工具在脑中开发出一条思维套路。万事起头难,因为你还没迈出第一步。不过每次你完成一个项目,你的思维套路轨迹会越发深刻。10年后,思维套路已经定型,不容易转向。
习惯很难被打破,但并非不可能。已经有研究表明,一种新的习惯需要9个星期左右才能定型,并真正固定在你的思维当中。这就意味着,假设你想集中全力在9个星期内养成一个独立的习惯,如果你真的努力工作,你一年平均可以摒除5个坏习惯,或者养成5个新习惯。
你想想:每一年你都能够改变你的习惯,你花时间往你的能力清单上增加5种新的技术或者实践,每一种大概花费9个星期左右。你已经在考虑学习敏捷了吗?学习一种新的语言如何?也许在改变从CVS 到Mercurial的源代码库?这就是我们在不断变化的技术面前如何保持联系的问题了。
一旦你摒除了坏习惯,你可以从你的同事那得到什么建议,他们可是看着你在6个月的时间期限之中,从只能写文档代码的菜鸟到最好的开发人员。难道他们没有因为压力太大而在说“嗨,如果那个老家伙能学习新的窍门……我就不是人。”
如果你还没有30岁,请不要尽兴地笑话这些打破习惯的事件记录。很快就会轮到你的。你最好先养成好的习惯,才能拥有更多的好习惯而不是以后再来纠正坏习惯。
好吧,我们回到开心的事情上来吧……不管怎么说都更加有趣:“老家伙!老家伙!加油!”
*虽然你可能也想远离hookers and blow,但我不认为这样做对你的职业有好处。我只是说,那样无经验可言。
原文链接:http://blog.jobbole.com/23821/
【编辑推荐】