有多少开发人员是超过四十的?

老程序员,老开发人员

你知道有几个开发人员是超过40的?对你们当中不少人而言,这个数是0。对你们当中知道一两个超过40开发者的人,我有个问题:他们中有几个人能称得上优秀?如果你知道任何一个超过40的优秀的开发人员,请做一件对你有益的事:向他请教。看看他掌握的那些技术是否还跟得上时代。一旦你做了这些,请为大家做一件事,就是找个地方把他公布出来,因为实际上,在这个行业里并没有多少优秀的老的开发人员(对那些读这篇文章的旧时代过来的人:我尽量表示尊敬和爱戴 ;))。

出现这种情况有两个原因。第一:绝大多数的开发人员在工作了几年后都转向了管理岗位,一方面是因为他们原本的职业生涯规划就是这样(不管你喜欢与否,很多开发人员仍然认为,作为一个开发人员就该朝着这个方向奋斗),要么是他们因为偶然的原因进入了管理层。对于后一种情况,我们只讨论那些优秀的开发者,他们表现良好,不管交给任何任务都能出色的完成。等进入管理层后,他们绝大多数的时间都是被锁在会议室里,根本没有任何时间剩余来做编程——尽管他们中的有些人很可能更喜欢把精力更多的放在编程上。两种情况中,这些人很快都会失去开发者的身份,早晚的事儿。

第二个主要的原因是,很多具有较长阅历的开发人员慢慢的会认为自己该掌握的知识都差不多掌握了,不再去学习新的解决问题的方法,或者是看看别的开发人员在学什么,自己也跟着学。他们认为自己做过的那些就是一切,任何具有挑战的开发任务都处理过。他们一年又一年的使用着相同的技术和方法,心想着“为什么要去改变一个冠军组合?”。虽然他们的技术方案可以用,也许会非常的好用,但他们的实现方法可能是过时的或效率低的。从这点上看,程序员的品质开始降低,持续的降低,一直到他掌握的技术过期、被淘汰。

我不知道你会怎样,但我对在余下的职业生涯中走这两种道路是丝毫没有任何的兴趣。我希望一直能这样编程编下去,我在其中找到了乐趣,更重要的是,我希望我的技术能够一直更新不过时。我相信我作为一个开发人员贡献出来很多价值,我希望在我变的越来越老时,我仍然能够增加这种价值,把它带给我的客户。不仅仅是通过经验,还有通过时刻把握整个软件开发业的时代脉搏。可问题是:你如何能做到这些?你如何能防止自己变成这种喜欢说“相信我,孩子,20年来我都是这样写的,不会有错”的人?

很显然,我没有一个权威的答案,因为我只是一个具有8年工作经验的开发人员。但是我做了一个简单的计划,我希望它能使我不断的增加自己作为开发人员的价值:

  1. 让自己感觉无知一旦你认为自己无所不知,你基本就完了,这只会害了你自己、你的客户以及那些不幸的跟你共事的人。相反,要坚持阅读那些比你能干、谈论一些你不能理解的技术的人写的博客和书籍。当你阅读他们的文章、他们的代码时,你会觉得自己愚昧无知。这样很好,这些时候就是你最有可能决定去学习新知识的时刻。一直读下去,直到掌握它们,然后用实践验证你刚刚学到的东西。一遍一遍反复的这样。简言之:让自己感觉无知,这是唯一能保持学习的方法。
  2. 质询自己的知识和思想,每天在软件开发这种工作上,相当多的知识都有一个有限的保质期。你现在所有用在开发软件上的知识10年后很有可能完全不能用。也许5年后所有的这些知识中有一半你都不再需要。请让我更进一层:半数你现在知道的知识很有可能在5年后成为阻挡你开发出一个优秀软件的负面因素。鬼才知道呢,不是吗?坚持不断的审视自己的知识。所有的方法,模式,实践理论和任何你欣赏的东西,你都需要不断的一次次的更新它们。它们现在还有价值吗?是否有新的事物出现使你对它们的存在形式或环境产生不同的认识?是改变你的思维的时候了。特别是当一两年后某些事物没有任何变化的时候,一定要这样想想 … 也许是你不再感到自己无知,这可不是一个明智之举。

重申,我不能保证这就是能让开发人员长期保持自己高质量的最好的方法,但我想我正在努力去做。

[英文原文:Thoughts On Developer Longevity ]
分享这篇文章:

29 Responses to 有多少开发人员是超过四十的?

  1. evan says:

    Stay hungry.
    Stay foolish.

  2. bookjohn says:

    The comments below the orihinal artical are very interesting as well. It’s better if some of them are translated as well.

  3. yangc says:

    个人感觉:程序员的价值其实主要在于分析和解决问题的能力,在于经过千锤百炼的逻辑思维,不在于会不会什么最新的技术。只要能解决问题,用户不会关心你用了什么最新框架。

  4. haitao says:

    惭愧,一个正好40的程序员看到此文了。。。。。。。
    【用户不会关心你用了什么最新框架】?恰恰相反,用户尤其是他们的IT人员最喜欢追求时髦的框架、语言、平台了

  5. 七夜 says:

    计算机行业是个日新月异的行业,有很多新技术冒出来.虽然说经验丰富是很重要的。单是也不能一味的沉浸在自己的经验中, 比如今天可以用memcached来解决项目的需求。到了明天memcached就满足不了新项目的需求了.所以还是得不断的学习。

  6. xxx says:

    这个人也能当程序员,他讲话自相矛盾,他的语气就是40以上的都成白痴了,然后一转话锋说自己要继续作个程序员,意思是他40以后会是个好程序员.自相矛盾,逻辑不清.
    首先,40以上的高手多的很,只是他是个白痴不知道而已.
    40以上是自己设计标准,制定标准的年纪,这个白痴还说要学习,对,你学什么啊,你学的不就是老程序创造的新的编程技术吗?C++是大师年轻时发明的吗?这个白痴应该被公司除名.

  7. 陈绪 says:

    管理层次的人也需要学习,这样才能保证团队的成长。

  8. tree says:

    写了5年代码,总是感觉自己有太多东西不知道。。。。惭愧ing。。。

    • cjacky says:

      如果按23岁大学毕业, 40岁即在1998年开始工作, 那时的程序员还不多, 干得好的早就是行业的中坚了,留在编程一线的真的不多了.

  9. tytyty6308 says:

    一个46岁的前程序员
    在20-30岁时,我可以连续熬夜4天,第5天跟平常一样工作生活,40岁后,熬一天夜,要连续休息4天才能正常工作生活,这无关知识结构等。
    个人忠告,在快40岁后,就要考虑其它的发展方向了

  10. raymin says:

    之所以选择计算机行业,就是打算写一辈子的程序。
    奉劝只做管理,不写代码的人,趁早转行。

  11. AnthonyDou says:

    写的不错。
    个人观点:
    1. Stay foolish, stay hungry. 每天阅读和思考各种中外书籍、博客、论坛(在这样一个时代,纸质媒体已经不能满足了),关键是,思考和总结,提出问题。
    2. 知识要不断更新,但从金庸武学来讲,知识属于外家功夫,对于数据结构和算法设计、编译原理、离散、操作系统原理、设计模式、设计思想等等内功,每天都要锤炼、精进。无论你是在路上,在车上,甚至挤在地铁门上。
    3. 不喜欢计算机科学、不善于思考总结和自我突破、心静不下来的人,最好不要从事这项工作。倘若你喜欢,那就一直做下去。

  12. crackling says:

    想想互联网在我国才发展多长时间,就知道没有多少超过40岁的程序员是因为年龄没有到,国外不是大把大把的么……

    • LeiZhang says:

      想想互联网在我国才发展多长时间,就知道没有多少超过40岁的程序员的原因是
      *)时代限制,人的发展受限于时代背景
      *)行业发展的问题,监管指引的问题,其实归根结底依然是时代问题
      再过10年,情况兴许会好一点,那时没准整个国家、整个行业会更加注重技术、原创、积累、知识产权保护。那时整个行业没那么浮躁,没那么多加班,更加绿色,更加可持续发展。一切都变得科学、规划、按部就班。到这种程度,才是为40、50多岁的程序员提供了土壤,其实才会循环促进产业健康发展

  13. leizisdu says:

    Stay hungry, stay foolish:)

  14. 远志 says:

    我是一个有差不多10年经验的开发者,感觉写代码方面要和年轻人竞争真的是自找苦吃,现在技术发展,开发都是有框架,他们不用对原理理解很多就能完成项目需求,而且开发速度比我还要快。后来我发现我站到更高的位置对团队更 有价值,因为我明确知道该要做什么,用什么方法做最好,怎样规划在进度上更有效,怎样安排人员是团队更安全和高效,已经团队需要怎样的人。做这个位置后我更轻松了,团队也更强了。而且我现在也坚持写核心代码,框架并不能解决所有的事情。这个行业不写代码,注定要被淘汰。

    • 86cc says:

      那是说还是在做这个,只是在不同的位置

      • 远志 says:

        是的,我感觉这个行业是为我这样的人设置的,随着年龄的增长,我面向的职位的年龄限制也向上走,唯一的困惑就是越往上职位数量越少,不过没有竞争力的人也在此过程中淘汰了,我这样的人要是找工作都是找领导层决策层的,以前的工作经验很好的适应了这个职位的需要,也见过很多学历高的年轻人因为得到老板信任,但是事实上并不胜任,实践才是真正的好大学,总想方法创造问题解决问题的人,一定要比灌输知识的人强。

        • zonlyyou says:

          软件开发不是只局限于敲代码;需求,设计,测试、维护,销售,人员管理,和客户打交道,都是很重要的一部分,有多年经验的人不应该局限于编码,而是做更有意义的事,40岁能有20岁的年轻人精力多?你能像给你开四五千的工资你会去干活?你只需要根据自己多年的经验吧你的想法写成文档,交给新人完成;或者凭借多年对产品的了解,积累下来的人脉为人处事的能力向客户推销,和客户谈论需求。。。

        • 老谢 says:

          看看这个博客吧,一个已经46岁还在从事IT软件、硬件技术研发的大拿:http://blog.csdn.net/tomsoft

  15. 51soco says:

    质询自己的知识和思想,每天在软件开发这种工作上,相当多的知识都有一个有限的保质期。十年以后,新一代的程序员思想远远超前卫老一辈的传统风格思想、

  16. 老牟的老 says:

    四十过一了,刚才还在写代码。是个不优秀的程序员,有木有?有木有?

  17. 邢智皓 对这篇文章的反应是赞一个
  18. iceThread says:

    珍惜生命,远离IT,警钟长鸣,切记勿忘

    • 葛猛 says:

      我感觉只要每天坚持运动,编写代码也不一定就会身体太差.那些身体差的就是做其他的行业也一样会出问题,因为他们自己不爱自己的身体.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.