程序员

当我第一次深入考虑我的职业生涯时,我一度认为我要做的就是集中精力做技术向导。我想知道成为公司的技术专家能让我走多远。我觉得团队领导和管理人员的角色并不适合我。我甚至都无法想像自己有一天不能编码是什么样子……更不要说几个星期不能接触代码了。在过去的年月中,我一直秉持着这个信念,坚决反对那些看似是职业生涯发展的自然结果。

但是,我周围的人告诉我,我是一个好领导,我擅长于架构解决方案,我带来了很多宝贵的经验。于是,我开始涉足管理方面,并开始领导项目和团队,尽管一开始我并不热衷于此。可是,我越是这样想这样做,就越是发现其实我并没有像我想象的那样讨厌它。事实上,我很享受。帮助他人,制定技术决策,指导同事,领导开发项目和团队等,都让我乐在其中。现在,我不但坦然接受了它,并从中感受到了莫大的乐趣和满足。

……随着一年又一年时间的流逝,你会发现自己与那些初出校门的开发人员的竞争越来越艰难。

在过去的几年时间里,我接受了一些我一直以来不愿意承认的事情……随着一年又一年时间的流逝,你会发现自己与那些初出校门的开发人员的竞争越来越艰难。并且与那些新生代的程序员的竞争更难,因为他们不像我们这一代,他们成长在计算机已经广泛普及的大环境中。这样成长起来的开发人员有的甚至还在读小学的时候就开始编程了。最近,我在给一群自己创建了一个编码俱乐部的初中生演讲时,他们所懂得的计算机编程内容和提出的问题类型,让我由衷地赞叹不已。我至今记得,我是读大一的时候才拥有了我的第一台计算机!

在我的职业生涯后期,我明明白白地意识到,我的价值观定位发生了变化……它也不得不发生变化。以前我的定位是写代码,整天敲键盘写代码。然而现在,我将定位更多地放在了经验上。我已经快要有 20 年的专业软件开发经验。在这段漫长的时间里,我也确实写出了一些很酷的东西,并且也学到了很多又新又有趣的工具、技术和工艺……但这其实并不重要。

我一直以为关注工具、技术和流程是正确的选择,却不知道自己已经在这条错误的道路上越走越远,最终我发现……其实价值与技术无关。

我以前的所作所为,以及所看到的他人的所作所为,对于价值的重点其实都弄走错了方向。我一直以为关注工具、技术和流程是正确的选择,却不知道自己已经在这条错误的道路上越走越远,最终我发现……其实价值与技术无关。

我发现,并非所有吸引人眼球和新颖的玩意儿都适合你和你的团队,以及你的项目……哪怕你读过的文章都表态说新事物 is OK。然而你是否知道,大多数时候,这些书的作者说的都是一些理想路径,并没有涉及到更困难的用例和场景。也许后面的部署、支持和维护等具体情况,会不太理想。也许负责维护的团队还没有准备好运用这种特定的技术、工具和进程。也许这种维护成本会超出客户预算。所有这些经验和真知灼见,无论是对项目,还是对客户和雇主都是非常有价值的。

……到达某个极限之后,如果你只会写代码,那么你要求更高薪水的谈判筹码必将越来越少。

与此同时,我发现,到达某个极限之后,如果你只会写代码,那么你要求更高薪水的谈判筹码必将越来越少。一旦到达你们公司愿意支付给写代码这类岗位薪资的极限,就很难超出这个价位。在雇主眼中,只要付给中高水平开发人员高级开发人员四分之三的薪水,前者就能做到与后者一样水准的事情。所以,你得从经验这个角度,让自己从众多程序员中脱颖而出,成为无法替代的存在。项目管理、架构和领导技能,不但可以让你有别于其他开发人员,还能让你在谈判薪资时更有理由,更理直气壮。

随着我的职业生涯的发展,我已经成为了一个喜欢解答问题,制定架构方案和领导开发团队的人。我不再吊死在编码这棵树上。这并不是说我就不喜欢编码了。只是,我写了将近二十年的代码,已经做好了迎接新挑战的准备。我发现,我比我想象的更喜欢我的新角色,并且,我时常在想,要是我早点听从那些劝我换方向的人的建议就好了。

英文原文:Change your value proposition – your experience is valuable