前面曾专门分析到人到中年的软件工程师会存在无形的危机感,以及这些工程师如何选择发展方向。根据行业数据初步估计,中国互联网行业从业的工程师有800万~1000万人,这些人未来的发展路径是怎样的呢?不少工程师都会觉得未来走管理路线看起来比走技术专业路线更容易,但恰恰相反,技术人员要成为好的管理者,其实难度更高。今天我们就来讨论一下在没有太多管理经验的情况下,普通技术人员如何快速成长。
我们先来界定一些概念,CTO指的是首席技术官,也就是一家公司的技术领导者,大公司的CTO和小公司的CTO肯定不可同日而语。如阿里巴巴集团的CTO王坚院士,至少我觉得我们还是离他非常远的。我这里谈的CTO更多的是规模相对较小的公司里的技术负责人,不论公司是否给你CTO这个头衔,只要公司与技术相关的工作的最终决策是你说了算,那么你的职责就跟CTO无异,只是存在工作能力和经验够不够的问题。何为合格的CTO,这就需要你跟所在公司的实际情况结合起来。相信大家都很容易理解。阿里巴巴的CTO王坚院士,是得到公司合伙人认同及市场检验的合格CTO,但初创企业的团队,总共技术人员就不到10个,对于这个合格CTO的条件和要求肯定是不一样的。很多创始人CEO说就差一个CTO了,但当真把如王坚院士这样具有优秀能力的人给到公司,公司也留不住。初创公司要求的合格CTO,需要在技术层面能独当一面,能正确地理解CEO的商业意图,能快速地将想法变成技术产品落地,能组建一支符合公司快速发展需要的技术团队,能带领技术团队按时、保质完成公司的产品目标,这就是公司对合格CTO最基本的要求。
那何为普通技术人员呢?我定义为有5~8年的工作经验,在自己擅长的技术领域不存在明显的技术缺陷,能独当一面,例如做服务端开发,至少对系统设计、服务端架构设计、RESTful的接口设计等都要驾轻就熟,一直是自己开发完成技术任务,或者带过几个人的小团队,甚至带过一个或几个完整项目的技术负责人。
这类普通技术人员,在面临有其他工作的选择机会的时候,强烈建议你一定要去尝试一下新的岗位,不论是让你带一个项目,还是让你去一家规模较小的公司当技术负责人。那如何快速成长呢?所谓成长,就是你碰到过多少困难,解决过多少问题。如果你感觉今年一年的工作都没什么太大的难度,除了任务多经常加班赶工外,那么你今年可以说几乎没有什么成长,仅仅是将去年的经验复制粘贴了一遍而已。我们常常开玩笑说,人家5年的工作经验,你是1年的工作经验复制了5遍。所以一定要突破自己的舒适区,去尝试以前没有做过的事情,去尝试以前未曾解决的问题和困难。一旦你突破了这些问题和困难,你就成长了。我经常跟团队成员说,快速成长就是你要尽可能多地去解决疑难问题。碰到一次困难和问题,就是一次可以成长的机会,一定要抓住,自己从心态上要认识到每次解决难题都是提升经验值的好机会。一般人一年解决一两个问题,你一年解决几十个问题,你的成长速度跟人家比就是火箭发射的速度。做技术的人千万别怕困难,哪里有困难,哪里就有机会。
知道了如何成长,那如何快速成长为合格的CTO,其实答案已经非常明确了。只要再知道合格CTO需要具备哪些方面的能力和经验,再在这些方面去找问题、解决问题,提升经验即可。
以下几个方面是我认为作为合格CTO必须具备的能力。
1.沟通理解能力。CTO作为公司的技术最高领导者,需要经常跟公司的CEO、产品经理沟通,快速准确地理解他们的真实意图,这样才能完成他们期望的产品功能。
2.商业嗅觉能力。做技术的人通常认为技术非常牛,甚至经常夸大技术的作用,但所有公司都要以商业本质(盈利)作为前提,技术再牛,做出来的产品没有市场,没有办法销售,公司早晚都得关门。作为CTO必须具备敏锐的商业嗅觉能力,能将技术和商业结合起来,这样才能使开发的产品得到市场的认可。
3.产品规划能力。一般来说,产品规划能力好像应该是产品总监的工作,但很多公司有CTO,不一定有产品总监,所以对合格CTO而言,他也必须具备这方面的能力,辅助产品团队和CEO来完成产品规划的事情。
4.团队管理和培养能力。作为唯一理解技术团队的管理者,技术团队的好坏完全取决于CTO的能力。我一直相信没有天才,所谓的技术天才也是在后天适合的环境中培养出来的。大家都是普通人,正确认识到这一点可以比较容易地去评估自己和他人。每个人都不笨,只要有合适的方法和环境,都可以成长起来,变成某一技术领域的专家,而CTO正是这个关键的领路人。能否让团队成员在高质量完成技术研发任务的同时,都找到自己的发展方向并快速成长起来很重要。
5.技术问题的解决能力。一般创业公司的技术团队不太可能像阿里巴巴集团那样,各个技术领域的专家都具备。在一般公司里,能有足够的技术人员来完成开发任务,就已经非常不错了,他们在其他很多领域几乎是空白的。这就需要CTO用尽一切办法和资源去解决这些超出团队能力的技术问题,例如安全、性能、可用性等。
6.构建自身影响力的能力。不论是在公司内部还是外部,CTO都需要建立自己的影响力。在技术圈或者非技术圈,具有一定的影响力,才能促使自身不断提升和精进。要获得这方面的能力,只有将自己打造成某方面的“网红”,从而将自己的技术团队的影响力也快速提升起来。通过这个方式也能够吸引到更多优秀的人才加入技术团队,为技术团队创造更好的成长环境和氛围。
除了以上六个方面,不同的人可能还会有不同的能力要求。以上是我给中年危机中的软件工程师们的一些关于成长的解决思路,仅供参考。俗话说师傅领进门,修行在个人,希望大家都能找到自己正确的发展方向,并尽快成长起来,走向合格的CTO之路。