从程序员到CTO所要培养的六种能力
作为程序员,我们的目标是什么?技术专家、项目经理、技术总监或是其它的,你或许需要静下心来想一想了,不能象一个没有灵魂的“躯壳”那样飘来飘去的,小弟在此谈的是CTO,这年头流行C什么O,因此首席程序员也简称CPO,即Chief Programmer Officer,阿蒙认为如果你现在是个CPO,以后想升级成CTO,那么从今天开始你就要找时间去学习与培养以下的能力,从阿蒙个人的经验与思考,我对这六种能力排了个序,也就越在前面的越重要,逐级递减,希望对你有所帮助与启发。
1.领导能力
我从小就不喜欢听领导讲话,觉得实在是太沉闷太无聊,内容空洞,词汇老套,而且每一次都差不多,有时实在无可奈何不得不听,也只有海阔天空浮想连篇,要不就想方设法溜之大吉,你或许已明白,我讲的是传统的中国式领导,假如我是一个XX机构里的公务员,我就不敢在这里胡乱放肆,我怕被双规啊!
所幸,偶是个程序员偶谁都不怕,偶认为IT行业的领导是不能象前面所说的这种风格的,我们需要做事干练果断,思维敏捷灵活,讲话具有鼓舞性与说服力,否则会被程序员们鄙视死了,偶就一直觉得自已没什么领导能力,所以目前还在努力学习之中,阿蒙认为很少有人会是天生的领导者,大部分人的领导能力都是后天训练的,因此我们需要充分运用各种书籍、课程、关系和经验来提高自已的领导能力!
2.技术能力
作为CTO,技术能力是很重要的,因为你的下属大多也是技术能力较强的员工,你如果连技术都是马马虎虎的,那么你如何去评估一个子系统或一个模块的工作难度以及开发周期,你如何帮助员工解决技术难题,你如何赢得员工们的信任?阿蒙认为一个CTO最好是有过多年项目开发与管理经验,对各种项目设计与管理工具能熟练使用,熟悉主流的开发技术,并能对最新的技术进行了解与评估。
偶年轻的时候曾有一些日子很不幸,BOSS很搞笑,总觉得我们程序员不懂管理,于是派了一个行政出身的老革命来负责开发部的管理工作,老革命刚开始时激情澎湃信心十足,老子什么BIRDS什么风浪没见过啊,管你们这群毛头小伙太EASY了,谁知没管几个月,程序员都要走光了,老革命的头发也快掉光了,对于技术他什么都不懂,开会时不了解我们正在讨论的东东,更谈不上提出什么建议与方案了,于是他总是责怪我们,矛盾不断加剧,后果就可想而知了。
举这么一个例子,是想强调一下技术能力对于一个CTO的重要性,或许我的观点是偏面的,可能与偶的孤陋寡闻有关,因为能力有限,这些年偶都是混于中小型企业,偶认真地观察了几年,觉得中小型IT企业没有多大必要聘请一个专业职业经理人之类来管理技术,效果往往更差,还不如从本公司培养一些技术能力较强的员工,让他们成长起来,然后统管技术大局。
3.沟通能力
沟通能力在我们这个行业似乎是一个讨论的热点,我看到许多的前辈也喜欢一起凑热闹。可能是因为我们的程序员们大多都是性格内向的,阿蒙当年也是一个非常SHY的BOY,现在稍微好一些了,可能是岁月的无情摧残吧。但作为CTO,就不能太SHY了,因为我们需要经常性地与BOSS、别的部门、最终用户和IT员工进行沟通,不同的沟通对象还要有不同的沟通态度,那么,我们如何提高沟通能力?两个办法:(1)练习、练习、再练习;(2)观察善于沟通的人,然后模仿他们所用的方法。
4.规划能力
求伯伯的《金山词霸》对“规划”一词是这样解释的:计划,尤指比较全面的长远的发展计划。作为CTO,需要对公司的技术发展以及研发工作做一个比较全面的长远的计划。大的IT公司,应都有一个专门的技术规划部门,但对于中小型的企业,往往都是CTO在做这方面的工作,因此我们需要经常性地作战略性的思考,有时间的时候多阅读一些商业和技术刊物,它们有可能对我们的规划思路有一定的帮助与借鉴。
5.外交能力
既然都当了CTO了,那就有更多的机会与客户、合作伙伴等等进行接触,优秀的外交能力有助于工作的顺利进行,也会给对方留下一个好的印象,因此我们要学会从别人的角度想问题,有时间时多阅读销售和谈判方面的BOOKS,同时要多创造机会,走出办公室,与别人进行接触。
6.财务能力
或许你会问:偶是CTO,又不是会计!对于某一个项目,财务成本的控制是非常重要的,这关系到是否有利润的问题,有些事情是不能寄希望于财务部门帮你解决的,因此基本的财务知识我们需要具备,何况,你去看看,MBA的课程设计里都会有财会知识这一部分。