技术成长与业务卖命的抉择————论程序员的“瓶颈”问题
在IT行业打拼多年,身边的同事也是走走停停,一些人因为追求技术而不断跳槽,而一些人一直在一家公司至今已经成为了团队的Leader。作为一名工程师的你,对于时间,你更愿意花在学习新技术上,还是花在实现产品需求上呢?
内容提要
- 两类人的分析
- 技术还是业务?
- 你缺乏什么
两类人的分析
进入IT行业已经多年,从刚实习做Delphi,到后来扎根C,一直在现在专心做移动技术,前前后后也换了3家公司了。相信你和我一样,也换了数加公司,然而有一点我相信你和我更为共鸣的一点:身边的同事一个个的离自己而去,也有一些新同事加入你的团队,人海茫茫何去何从。这里我们关注下那些离职的同事,他们的离职原因除了薪资以外,说的最多的可能是两句话:
- "这家公司技术没增长了,自己学不到东西了,我要换个公司"
- “天天做业务做功能烦死了,哪有时间自己学东西,到最后过了几年啥都没学到”
相信你可能也是这两类人之一,你是一个技术狂人,但是苦于自己遇到了瓶颈,一会学一下这个框架,一会学一下那个框架,感觉没啥你学不会的了。或者你们团队的做的软件功能太多,每天都在做功能,实现需求,而你天天抱怨自己没有时间学技术,大量的业务需求挤压了自己的成长时间。
技术还是业务?
我认为技术是无限的,你不可能把IT行业,即使是你所感兴趣的那一类目给学透。想想当初学习IT是为了什么,为了钱?还是为了实现一些价值。我认为你学习的技术很大程度是为了解决实际的问题。今天学这个框架,明天学那个平台,都是最后你都只是看了文章,撸个demo,但是实际你的项目却根本用不到,不能落地,都是自己在玩,我认为这是无用的。
很多工程师往往把技术和业务给隔离开来,或者说自己带有私心:
- “我多学点技术,以后跳槽好跳”
- “天天做功能,到下家公司都用不到,没时间学技术就是废人一个”
看起来技术热情很高,一直研究各种新技术,但总是忽视对公司与团队业务的贡献,学习到的东西也不能落地,这有点本末倒置,我们应该首先关注于公司团队业务,更多思考如何以技术的角度,给业务做出更多贡献。产品才是最终目的,一个优秀的产品背后一定有非凡的技术支撑;而一个技术牛人,不一定能做出一个优秀的产品。
我记得有一个当初我待过的第一家公司的一个同事,当年也是应届生。他这么多年,一直都待在那家公司,坐着同样的时间。如今他已经是管理二十多人的一个小团队Leader了,对他来说,业务和管理都更为重要。
同时,我也有几个以前认识的同事,他们看起来很热衷于“学习技术”,但是总是对现在公司不满,认为实现功能占用了他们太多学习技术的时间,不自由,于是不断的跳槽,至今依然还是游荡所在公司的最底层,撸代码。
那么到底技术和实现业务哪个更重要?
我个人的观点是,一半的时间学习技术,一半的时间实现功能业务。相铺相成。用你实际的项目来验证你所学到的东西。
你缺乏什么
我认为最终这个行业人才的走向都是两个
- 项目经理 -> 管理者
- 技术专家 -> 技术缔造者
我认为一个好的管理者他应该是做技术起家的,他本身就是一个经验老道的工程师。只不过如今,他把更多的时间花在了业务上。我们学习更多的技术,不是为了一味的花时间去学习技术抵制实现业务功能,而是为了能够带领这个团队,能够做出完美的产品。当你的目标是这个,而你觉得自己已经到了成长瓶颈的时候,不妨想一想自己对于市场、运营、销售是否了解,能够带领一个团队。
如果你是个geek精神的工程师,对技术无限狂热,觉得自己技术到了瓶颈又一直想深入下去的,不妨看看自己是否能独立写个框架或者工具,而不是仅仅会“用”github上的别的成果。与此同时,你是否能将自己的技术推广开来,做一个真正的专家。当你觉得自己每天都在看技术博客、文章的时候,静下心来想一想,自己是否真的也能实现一下,而不仅仅是会用而已。就像百威最近的广告语 慢能成事