程序员越老越优秀吗?

Peter Knego 向我们展示了一些有趣的东西: 官方数据:程序员年纪越大越出色、越稀有。他使用StackOverflow的声誉值和其它几个指标来印证他的观点。

他的总结是:

  • 随着年龄的增加,程序员的数量急剧下降。程序员数量的峰值出现在27岁,随后每6-7年减少一半。
  • 40左右的程序员对比20左右的程序员,回答的数量前者比后者多一倍,而提问仅为一半之多。这显示年轻一代更喜欢学习,而老一代更喜欢教授。
  • 帖子的质量,例如每个帖子的分值,随着年龄只有微弱的增加。
  • 老程序员通过更活跃的回答问题来赢得声誉。

明年我就年满40,在很多编程相关的社交圈里都被公认为“老程序员”。我的经验如下:

  • 每年,我都能更进一步的善于捕捉“大局”。我不认为这样的进步会有停止的时候。我现在做出的决策比起10年前更合适、更稳重。这归功于我变得更加淡定和有了更多的经验。
  • 对于新事物的掌握已变得信手拈来般容易,而不是早前的需要“深挖洞,广积粮”。经常,新知识一看就面熟,因为它们只是以前出现过的知识的再次混合。例如:如果你对Scheme、Self、Java很熟悉,那JavaScript就很容易理解了。如果你对C、C++和Smalltalk很熟悉,那Objective C就很容易学会了。
  • 不断积累的经验和更加清晰的思路让我的代码变得越来越好,但我仍然需要投入时间才能让它们真正的优秀(例如,好几次的往复修改。)
  • 我学会更加注意休息,更加注重自己的身体,但仍然还不足够。

Frank Silbermann在Pertinent 文章后留下的评论:

  • 速度快的程序员能通过他们高人一等的短期记忆来编出杂乱无章的代码、迅速的完成任务。这些程序员当他们年纪大、短期记忆力衰退后就会变得越来越糟。他们很可能会最后退出这个领域。
  • 慢程序员写出的代码组织的很好,可读性强,不依赖短期记忆。他们随着年龄的增加会越来越优秀,因为在他们的长期记忆里积累下来的是不断增加的策略、模式和技巧。

有不少非常聪明的程序员都不幸的落入了“速度快”的类型里。他们完成任务很迅速,但长期来看,他们写出的代码没有价值

回到

顶部