编码是什么感觉……更不用说几个星期不能接触代码了。在过去的几年里,我一直坚信这一信念,反对似乎是职业发展的自然结果。然而,我周围的人告诉我,我是一个很好的领导者,我擅长架构解决方案,我带来了很多宝贵的经验。所以我涉足管理并开始领导项目和团队,尽管一开始我并不热衷于此。然而,越是想做,越是发现自己并没有想象中那么讨厌。事实上,我很享受。我喜欢帮助他人、做出技术决策、指导同事、领导开发项目和团队等等。现在,我不仅坦然接受,而且从中感到莫大的愉悦和满足。在过去的几年里,我已经接受了一些我不愿承认的事情……随着时间的推移,你会发现自己与那些刚从学校毕业的开发人员的竞争越来越激烈。而与新一代程序员竞争就更难了,因为与我们这一代人不同,他们是在计算机普及的环境中长大的。这样成长起来的一些开发者,还在上小学的时候就开始编程了。最近,当我与一群创办了自己的编码俱乐部的中学生交谈时,我真的很惊讶他们对计算机编程的理解以及他们提出的问题类型。还记得我大一的时候才拥有第一台电脑!在我职业生涯的后期,我很清楚我的价值主张已经改变……而且必须改变。以前我的定位是写代码,整天敲键盘写代码。然而,现在,我更看重经验。我有近20年的专业软件开发经验。在这段时间里,我确实写了一些很酷的东西,我也学到了很多新的有趣的工具、技术和工艺……但这并不重要。我过去所做的,以及我看到其他人所做的,确实错位了对价值的强调。我一直认为专注于工具、技术和流程是正确的选择,却不知道我在这条错误的道路上越走越远。到最后,我发现……其实,价值与技术无关。我发现并不是所有吸引眼球、新奇的东西都适合你、你的团队、你的项目……即使你看的文章说新的东西也可以。然而,你知道吗,大多数时候,这些书的作者都在谈论一些理想的路径,并没有涉及更困难的用例和场景。可能后面的部署、支持和维护的具体情况不会很理想。也许负责维护的团队还没有准备好使用这种特定的技术、工具和流程。也许这笔维护费用会超出客户的预算。所有这些经验和见解不仅对项目非常有价值,对客户和雇主也非常有价值。同时我发现,到了一定的限度之后,如果你只会写代码,那么你争取更高薪水的谈判筹码会越来越少。一旦达到贵公司愿意为编写代码等职位支付的限额,就很难超越该价位。在用人单位看来,中高级开发人员只要拿到高级开发人员四分之三的工资,前者就可以做和后者一样的事情。所以,从经验上来说,你要让自己在众多程序员中脱颖而出,成为一个不可替代的存在。项目管理、架构和领导能力不仅能让你从其他开发人员中脱颖而出,还能让你在谈薪资时更有理由和信心。随着我职业生涯的发展,我已经成为一个喜欢回答问题、提出架构建议和领导开发团队的人。我不再挂在编码树上。这并不是说我不再喜欢编码了。只是,写了将近二十年的代码,我已经准备好迎接新的挑战了。我发现我比我想象的更喜欢我的新角色,而且我经常想知道我是否听从了那些告诉我尽快改变方向的人的建议。你有什么想法?欢迎吐槽,也欢迎议论。
