[聚合文章] 老程序员们“拒绝管理岗位,活跃在开发一线”的真实故事
杨先生,软件工程师,50多岁
专长:Windows、Linux/Unix、嵌入式;算法设计、C++、C、多线程和分布式、电信、安全、套接字编程、标准委员会成员、产品计划和概念落地;TQM、ISO 9000、敏捷开发和传统开发方法论。
软件开发仍然是一个年轻的领域,工具和技术仍然在发生快速的变化。如果软件开发人员不能持续地更新他们的技能,在不到 20 年的时间里,他们就会过时。所以,一个 40 岁的老程序员很快就会发现自己已经无法胜任工作,而且前途堪忧。
好的开发人员会持续学习,直到他们退休,比如 Ken Thompsons 和 Bjarne Stroustrups。不过,我们大多数人(特别是 40 岁左右的)最终都会意识到,我们并不能成为行业的大神。
C++ 变化很大,每几年就会有新版本出现,并且包含了全新的特性,我从来没有停止过学习。也就是说,我已经成为了一个非常有经验的 C++ 开发者,拥有超过 20 年的全职系统编程经验。如果有人要我给自己的经验打分,从 1 分到 10 分,那么毫无疑问,我会给打自己 9 分,因为比我更了解 C++ 的人只有那些写书的人。后来,我写了一本有关 C++ 优化的书。
编程是一件很容易的事情。你告诉它们做什么,它们就做什么。它们是可以信赖的,也是可靠的。对于代码来说,无所谓好日子,也无所谓糟糕的日子,它们存在的意义就是在你与它们发生交互的时候。代码可能会是难啃的骨头,它们要求对细节的重度关注和相当程度的脑力付出。
人类与代码完全不一样,人类狡猾、变化多端,而且不可能充当工具使用。你不能直接告诉他们做什么,你要去影响他们,这样他们才会做你需要他们做的事情。他们不会直接对你的输入做出响应,而是间接地对你的鼓励或者你所提供的一些奖励物品做出响应。虽然人类对奖惩很敏感,但如果只是通过这种方式来管理人类并不会奏效。管理应该要像与家人、朋友和同伴互动一样。如果你喜欢与人打交道,那么你就会喜欢上管理。如果你不喜欢与人打交道,那么你就不会成为一个成功的管理者。
薪水高的管理者比薪水高的程序员赚得更多,不过他们需要有很多名校的学历背景,拥有良好的人际网络和政治同盟,也需要有一定程度的冷酷无情来震慑大部分人。而编程不需要这种冷酷无情,这也就是编程很好的一个方面。编程是关于创新,而不是操纵。
所以,你要问问自己,你更喜欢哪一种交互模式,是代码的确定性和优雅,还是人类的友情和领导力?喜欢代码完全没有问题,那些高级架构师和 CTO 也能赚很多钱。
注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。