如何成为一名优秀的CTO(首席技术官)
最近我发现很多开发人员都表示不知道如何规划职业生涯的下一个步骤。基于我们目前所处的科技泡沫现象,很多工程师都倾向于留在大型的成熟公司,或者要么a)去初创企业工作要么b)自己搞初创公司。
回顾我自己的职业生涯,我想我是幸运的,因为不管是大公司还是初创企业我都找到了工程技术方面的工作。无论你的选择是什么,只要你想成为领导者(CTO、工程副总监、工程部管理人员等),那么有些基本技能你就必须掌握。当然,并不是每个兵都想当元帅,不过这也没关系,青菜萝卜各有所爱。
如果你对自己的目标定位非常明确,也知道应该怎么做,那么只要你能专注于学习掌握匹配该工作的相关技能,那么你将很快得偿所愿。
但是,如果你想要成为领导人员,下面这几个思维方式是你成功的关键。
从一名管理人员的角度出发看问题
也许你认为这理所当然,已经没必要赘述,但是我强烈建议各位志向高远的程序员必须清楚明白这一点,并将这一行为思考方式铭记于心。比如,有些程序员心里想着要做经理什么的就是万事俱备只欠东风的事儿(事实上还差着十万八千里),但是却从不主动去学习所需要的技能。
有工程师告诉我,其实管理岗位并不需要太多技术性的知识和技能,这也是他们最终选择放弃这类管理工作的原因之一。
有时候很多工程师会傲气十足地想着头也不回地远离管理岗位,但是静下心来之后,往往会选择经过短暂的修整后再次回到这一战壕,继续追求自己的职业生涯。
无论你怎么想,首要的是学好管理技能。管理人不像管理服务器那么简单。如果真心想在这一领域有所建树,那就不要老是去问别人关于管理技术团队的经验,试着自己从一名管理人员的角度出发看问题,不要让别人的经验误导了你!
从现在开始为团队建设做准备
很多聪明人发现,(技术方面的)管理主要涉及三个方面:规划、招聘并留住合适人才、处理突发事件(事实上,这往往是计划出现变化的后果)。
根据上述标准,有一半的管理工作其实要做的就是团队建设/留住人才的事情——也就是所谓的人才管理!
如果你致力于这方面的发展,那么现在就可以培养自己的人际交往能力了,尤其是一定要和那些直接涉及团队建设和招聘事宜的人打好交道。
如果你现在已经是团队的管理人员了,并且需要新招一个全新的岗位,你会怎么做?
下面这些问题能告诉你一些关键:
如何定义该岗位?聘用的人需要具备什么样的素质和特点?要求掌握的基本技能是什么?哪些技能是没必要的?(然后问问自己:到底什么样的技能才是真正需要的?可能你觉得有点画蛇添足,但是这是一个最简单的真理——你要求的基本技能越多,寻找合适人员的时间就越久。)
如何吸引优秀的应聘者?什么东西对他们最有吸引力?如何在团队中推销他们?为什么你的团队需要这个岗位,与公司经营目标有什么关系?有什么样的技术难题在等着这位新人?他们是否得选择数据库技术或JavaScript框架?他们是否有建议关键技术的决策能力?
怎么做才能让他们对于立马加入这一团队high起来?
一个工程师想要处于领导地位,最重要的是能吸引优秀人才到团队中来,而要想招募他们进来信服于你,那就得有好口才。最好马上开始练习,无论你现在有没有拍板的权力。
结论
无论是在大公司还是初创企业,你如果想晋升到工程相关的管理岗位,那么就必须考虑并准备好上述几个关键要素,以便助力自己的职业发展。