今天在知乎被邀请回答这个问题,题主说:做了六七年程序员了,内心深处还是挺喜欢写代码的,但是环顾周围高一两级的同事,基本上都是汇报能手,尤其是从一些大厂空降的领导层更是如此,非常迷茫……
作为一个老码农,一定得答一波……
你开始迷茫、疑惑、不知所措时,说明你还心存理想,不甘于现状,不随波逐流,是好事……
题主之所以这么问,除了有上进的意愿,我觉得更多的是因为技术思维的限制。
不同的视角看待这个世界,这个世界就会有很大的不同!
曾经我也是这样一个人,而且性格耿直,觉得可以写一辈子代码,只要代码写的好,就能一直升职、加薪,直到走向人生巅峰,如比雷军、马化腾,如比尔盖茨、乔布斯……
实际上这一切都是幻想,只是我们站在程序员这个很低的角度去臆想我们的未来,其实一直代码的未来几乎不存在……
假如把程序员的工作限定为只写代码(这个比较绝对,只是做个假设,实际可能不是如此),那么程序员的职业生涯是有尽头的,而且相较于其他行业,比如医生、财务、老师等岗位时间不算长。
一线城市的大环境好,对于高级以上的程序员、架构师需求岗位会稍微多一点,那么程序员只写代码,职业生涯会长一点,但一般也是10年到15年,20年也有,但是都是极少数。
二线城市程序员的职业生涯会更短,10年可能都到头了,如果10年多了还在写代码,那么你的待遇跟薪水不会太高……
高级的纯技术岗位本身就不多,只有少部分人能胜任,那其他人呢?
要么转行,要么转岗……
只有这两个选择,没有其他
很多人会问:程序员年纪越大,技术越好,为什么没人要呢?不是应该很抢手么?
程序员的评价怎么能只看技术?要看性价比的……
当一个程序员年龄大了以后,虽然技术很厉害,但工资不会低,而且思维惯性比较大,精力也大不如前。若非极少数公司需要技术攻关或者缺少架构师,否则根本不会选大龄程序员。
这不是你选不选的问题,即便降薪跟小年轻拿一样的工资,公司也不会要你,很残酷,但这个就是事实。
所以,到了一定年龄段的程序员如果混不下去了,就只能转行……
对于那些转岗的程序员,他们已经成为团队负责人、技术管理人员、产品负责人、项目负责人、研发总监等高级岗位的人了。更有甚成为股东、合伙人,或者自己创业当老板……
那么问题来,既然不能一直写代码,如何才能不被淘汰成为后者呢?
答案就是:围绕技术,不断完善技术之外的技能,获得晋升。
注意,是不断完善技术之外的技能!可不是代码、开发语言、技术框架、高级算法、性能优化,而是沟通能力、表达能力、管理能力、领导能力等等技术之外的技能。
但有一个前提是技术得扎实、拔尖,这只是你晋升更高岗位的前提,也是你生存的根本。
技术只是工具,而不是目的……
任何软件的设计和研发都是为了满足用户的需求,所以,为了满足用户需求,做好一个软件,撰写代码只是其中一部分工作。相关的还有产品设计、交付运维、售后服务等岗位,除此之外为了让产品拥有市场并让用户付钱买单,还得有市场、销售、运营等等岗位。而且每个岗位都有初级、中级、高级之分。
当你了解一个软件公司到底如何赚钱,需要做多少工作,需要多少岗位以后,我们再来审视程序员这个岗位。如果想要往上走,你就必须扩大自己的知识和技能范围,只靠代码是完全行不通的。你得懂产品、懂市场竞争、懂成本控制等等知识,并结合以上知识,给出合理的研发规划,并按时执行。
如果你能做到如上要求,那么恭喜你,你已经胜任产品、研发负责人的岗位了。
再往后还有总监、副总等高级高位,咱就不再啰嗦,那些岗位需要技能更多……
那么聊到此处,应该可以回答题主的问题了:程序员的终极目标还真的不是写代码……
感到迷茫是好事,但是不能只是迷茫,可以学习产品、学习沟通、学习管理,了解公司业务、了解行业、了解用户。
最重要也是最难的就是跳出技术思维,站在更高的高度去审视自己,这样才能看清自己的方向,明白自己的不足,知道自己需要做什么。
这个阶段我也经历过,确实很迷茫很痛苦,从技术到管理我踩过很坑。
如果一定要给出经验的话,我说两个:
1、多看书
2、多做有挑战的事情
读书可以让你认清自己,看清身边的人和事儿,找到成长的路径和方法。
做有挑战的事可以倒逼你学习,进而快速成长!
网友评论