大龄程序员深谈实录,那些你关心的话题都聊到了

来自:程序视界(微信号:programmer_sight),作者:《程序员的成长课》作者,安晓辉 

小包是1983年生人,在IT领域工作了12年,目前在一家民营上市公司做高级Android开发工程师,最近有点倦怠,感到职业发展遇到了瓶颈,想转型项目管理或产品管理,不知道怎么做,通过在行APP搜索“安晓辉”找到了我。


聊了一会儿,我知道,小包的工作内容,主要是Android系统应用开发和移植,介于Android应用开发和Framework开发之间。



我问小包:“是什么原因让你想转型?”


小包:“一方面是因为现在的工作,没什么向上发展空间,有点倦怠;另一方面,是大龄程序员的中年危机。”


我:“在你目前的公司,有向上空间吗?”


小包:“要说有,还是有的,估计2年左右,不过这两年绩效都要比较好才行。”


我:“在你身边,与你同龄或比你大两三岁的开发者,有吗?”


小包:“有2、3个人吧,比较少。”


我:“你觉得这是为什么?或者,你怎么看待大龄开发?”


小包:“大龄程序员,除非掌握核心技术,一般的应用开发会有严重问题。比方说,公司招聘时会有年龄限制,要求35岁以下,我年龄已经超了,现在找工作就很尴尬。再比方说,大龄程序员家庭压力、经济压力都比较大,不能加班,与年轻人比没什么优势。”


我:“大龄程序员的优势是什么?”


小包:“大龄的优势,应该是经验吧。”


我:“你这方面的优势体现出来了吗?”


小包:“没有,体现不出来。我做的事情,工作两三年的人也能做。”


我:“你所在的部门,所在的项目,是公司的核心吗?”


小包:“公司刚在我们这个城市成立,核心项目还没过来吧。”


我:“你在开发方向上有这么多年经验,想过继续在这个方向上再挖掘一下吗?”


小包:“向上往应用层发展吧,我没什么完整的应用开发经验,没竞争力。往底层发展吧,技术本身有点难,年龄大了,有点力不从心。而且,我也担心,万一公司这方面不景气,将来再换工作,我们这个地方,同类型的工作不好找。现在看来,就是华为等几家公司,华为吧,我年龄超了,学历也不够。”



我:“那别的转型方向,你想到了哪些?”


小包:“项目经理或者研发经理吧。”


我:“像你做Android手机ODM方案,应该有接触到项目经理,了解他们吗?”


小包:“公司也有项目经理,不过和他们聊的不多。”


我:“手机方案的项目经理,管理完整的项目,对内会衔接软件研发团队、硬件开发团队,对外会对接客户、元器件供应商,他把控的是整个项目的运行状况。你是想做这样的项目经理吗?”


小包:“不是吧,我主要做开发,我看招聘网站上有的职位写的是‘APP开发经理’。”


我:“APP开发经理,更多的是研发团队和项目在软件方面的工程管理,他的角色,一般是对内的事情较多。”


小包:“我说的应该是这种。不知道要怎么才能转型到这个角色?有什么策略?”


我:“有四种人比较容易成为管理角色的。第1种是技术最强,别人搞不定的疑难杂症他都能手到病除,不仅团队里的小伙伴们都把他供为大神,客户更是离不开他,让他带人,带团队,带项目,顺理成章。这也是程序员最常见的转型管理角色的策略。第2种是最能熬的人,技术也不错,但也说不上多出色,但别人都离职了,就他还在,对业务、技术债、项目状况、公司状况,都非常清楚,那对公司来讲,要填补管理空缺,他就是最合适的人选。第3种是和领导私交最好的,领导高升了,或者新开产品或项目了,他很容易被提拔。当然这类人,技术也要还可以,不然不服众。第4种是情商最好的,特别善于表达,能用各种有效的沟通方式把问题讲清楚,平衡各方关系,那领导就倾向于把团队交给他,因为领导觉得情商较高的人才能做好管理。”


小包:“安老师你当年是走的哪条路成为管理者的?”


我:“我待过的几家公司,都是三两百人那种,我一般都是研发团队里技术最强的,走的是第1种路线。”


小包:“安老师你觉得我应该走哪种策略?”


我:“你自己觉得呢?”


小包:“3、4都不太适合我。2吧,也说不来,我所在的分公司是才成立的,项目也很凌乱,感觉还没稳定下来。第1种策略吧,又回到了之前说的了,往底层,有点吃力,而且看样子还得几年……”


我:“如果跳槽,比如说应聘你看到的APP开发经理,你觉得自己可以吗?”


小包:“我现在没有管理经验,恐怕很难通过。”


我:“那对你来讲,怎么做比较合适?”


小包:“看起来还是在公司内争取向上发展争取把握新机会更现实。”


我:“通常,一家公司在招募研发经理之类的角色时,往往会看你有没有相关经验,那你之前没做过,就没经验,那就很难抓住这样的机会。所以对我们来讲,在公司内努力把握各种机会力争上游走向管理岗位,就是最现实的策略。当你有了管理经验,一方面可以在公司继续向上发展,或者扩大管理范围,另一方面,到外面寻找管理角色也更容易。”



小包:“嗯,是,是这样,看来我目前最好还是留在公司找机会。那安老师,从开发转管理,有什么风险,或者困难,或者说,要注意的地方?”


我:“从开发转管理,有四个方面需要注意。第一,做开发时是一个人,做好自我管理就行了,做管理后,是带领一群人,一个团队,要把自己当成催化剂,当成服务角色,服务好整个团队,把团队绩效搞起来,要忘掉自己,不要凡事都想自己搞定,都想自己出风头,要让团队好,团队好,你就好。第二,做开发时,是以事情为中心,以开发任务为中心,搞定任务就万事大吉,做了管理后,要增加一个维度,要关注人,这个人怎么想、他为什么在这里、他有什么诉求,你都要琢磨,不然你就很难激励他出成绩。第三,要以结果为导向,过程不重要,努力不重要,加班也不重要,有结果最重要,面向结果,承担责任。第四,要尽快补齐目标分解、计划、沟通、一对一谈话、激励等各项管理能力,不要觉得管理是自然而然就会的事情,要有意的学习和训练。”


小包:“明白了。可是我老是担心自己的年龄,假如过几年,我还是没转型成,那就很尴尬了。”



我:“年龄确实是个问题,但其实大龄程序员也有好多策略可以打造自己的优势的。”


小包:“我能想到的,就是经验,经验又往往体现不出来……安老师觉得,大龄程序员,还可以怎么建立优势?”




我:“大概有5个方向吧。第1个,让自己在某个领域或细分方向变资深,成为专家级人物,可以解决更难、更复杂的问题。这样的人是很稀缺的,很值钱。第2个,在你的组织中,团队中,成为对什么都门清儿的人,业务、技术、项目状况、遗留代码等,都弄得很清楚,这样你也是非常有价值的活化石,年轻人无法在短期内替代你。第3个,提升自己的高度,站在更高的维度上看问题,比如做架构、做设计、从全局层面解决复杂问题。这个时候,你想得更多,做得更少,做得更好,避免了与刚入行三两年的年轻程序员在编码方面的体力化竞争。第4个,构建多维度竞争力。你想想,刚入行没多久的程序员,做的最多的是什么?编码。对吧。他们是别人的手,忙于写代码,聚焦在技术实现上,无暇顾及其他方面的能力提升,或者也看不起诸如业务、沟通、讲授、反馈等这些看起来比较虚的能力。但实际上,这些东西是人和人之间协同工作所必须的,能够从另外的角度更好的促进问题的解决。因为项目发展到一定阶段,很少是技术的问题,更多是业务的问题、人的问题、团队的问题。如果我们能培养编码之外的多种能力,比如业务分析、沟通、反馈、目标管理、计划、演示、激励等等,那我们就能更好的解决问题,拥有更强的综合竞争力。第5个,其实是一种意识的转变,你要意识到,工作不是你的全部,不是你所有的价值,你还可以在工作之外构建其他价值点,比如通过输出建立影响力、比如构建其他的人际圈子,这样我们能从多个角度观察这个世界,也能更好的应对类似裁员这种黑天鹅事件。”


小包:“嗯,确实是这样,好像路还挺多的。不过我经常有一种力不从心的感觉,我现在有老婆孩子,家里很需要我,感觉没时间没精力持续学习提升……不知道安老师怎么平衡家庭和工作的?”



我:“其实我觉得家庭和工作并没有绝对的平衡,也不存在一种固定的策略,你照着执行,就能保证工作和家庭的平衡。”


小包:“可加班多了,就会影响家庭啊,照顾家里多了,工作上花的精力就会少啊。”


我:“没错,现实是这样。所以这个平衡,其实是动态的,分阶段的。比如这段时间老婆怀孕了,那你自然要早早下班回家,做饭,照顾。比如另外几天公司项目要交付赶进度,那你和家里商量下,加加班,也没什么问题。所以,我觉得最重要的一点是——自己要建立一个喊停的机制,能让自己周期性的停下来审视自己的生活现状,自己工作如何、老婆是否需要更多照顾、孩子有没有什么情况等,然后根据这个检视的结果,立即做出调整,这样就可以比较好的让自己的工作和家庭协同起来。比如每周固定两个时间来思考这些事情,每周三、周六早上来琢磨,这样就不至于在加班的路上陀螺般的旋转不停,无暇思考,失去对家庭状况的感知。”


小包:“嗯,是个办法,我可以试试。”



关于我和小包的这场对话,你有什么想法?快来留言啦。

来自:程序视界(微信号:programmer_sight)

推荐↓↓↓
程序员的那点事
上一篇:IT职场新人选python,go还是java?用数据来说话 下一篇:关于CodeReview的一些思考