除了技术,副业也可以帮助我们在业务上获得新认知,保持敏感性。
之前我们在做程序员职业成长服务的时候,发现了一个问题。很多初阶的程序员没法升到中高阶,有两个很大的非技术影响因素,一个是管理能力、另一个是业务理解能力。
管理能力比较好理解。每一个程序员即使把自己的潜力发挥到极致,成为十倍开发者( 10x developer),他可以处理的事情也是有限的。
但是如果管理能力好,他就可以培养出很多拥有和自己同等技能的人,这样就不只是十倍、而是可以成百上千倍地复制能力,为公司增加更多的生产力。
业务理解能力这一块,是因为在绝大部分的公司里,技术都是为业务服务的。所以需要针对业务的各种需求、各种流程来做解决方案。
如果对业务不了解,那么即使技术很不错,因为不知道某些业务细节,最后设计出来的方案可能也不是最优的。这就像我们小学时做应用题,有一个隐藏条件包含在业务逻辑中,如果忽视了它,即使数学再好,做出来的答案也是错的。
所以,程序员应该需要培养自己对业务的理解能力。但比较讽刺的是,很多公司的初阶程序员,恰恰没有机会去了解业务。尤其是一些比较大的公司,很多业务相关的问题都是在中高阶的技术决策层就已经解决掉了,分配到初阶程序员这里,就只剩下一些规划好的、待实现的技术方案了。
这就会形成职业上的一个断层,让初阶程序员无法变成行业专家。很多公司是无意的,也有极少数公司是有意为之。因为高阶的岗位是有限的,如果你成长起来后没有位置,就会跳槽了。所以,公司不培养我们的时候,我们就只能自己培养自己。
而副业正是磨练自己的好方法。我们可以做一个跟我们主业相关的副业,通过自己的项目来了解需求、理解业务,从而弄明白公司在做什么样的事情,怎样才能做得更好。将自己从一个纯粹的螺丝钉,变成独当一面的解决方案高手。