如何成为一个优秀的程序员( 十 )

从另外一个角度来说 , 如果希望一辈子走技术的道路 , 就要有自己的核心竞争力 , 这个核心竞争力决不是凭以往的经验能够做某些工作的能力 , 而是学习能力、思考 能力和解决有挑战性的新问题的潜力 。 在IT这一行 , 凭借以往的经验干重复的活是干不长久的 , 原因很简单 , 一个问题不会被解决两次 , 当你发现你的经验能够解 决一类问题时 , 别人早把解决这一类问题的套路编写成framework , 新上手的人即使不具备你的这些经验也可以调用framework中的类和函数来解 决问题 , 然后在这个framework的基础上积累新的经验解决新的问题 。 正因为如此 , 全世界开发人员的经验才会积累起来 , 促使软件技术发展得如此迅速 。 这并不是说经验完全没有用 , 最关键的 , 学习和思考也是建立在以往经验的基础之上的 。 另一方面 , 现有的framework并不一定是某方面开发经验的完美整 合 , 也需要不断发展 , 用新的办法重新解决老问题 , 以Web开发为例 , 从早期的ASP、PHP到后来的.NET、J2EE , 到现在的Ruby on Rails、Django等等 , 这些framework解决的是同一问题 , 就是如何快速有效地开发Web应用 , 这方面的经验被不断重新整合 , 推陈出新 。 总 结一下 , 什么才是核心竞争力呢?应该是在经验的基础上学习新技术、解决新问题的能力 。

推荐阅读