关于CTO和其他技术职位,90%的技术人员都理解错了


软件技术人员,随着自己技术水平的提升,自然会希望同时有一个职称和收入的提升。于是参考社会一般公司中的title,设想了一种升级过程。比如:程序员、高级程序员、项目经理、产品经理、架构师、技术总监、技术副总、CTO,等等名头很多,不一一列举了。由于企业CTO一般只有一个,大多数程序员都习惯于将更多的关注放在那些稍低一些的职位上,这恰恰是本末倒置了。

除了刚入门的程序员是每个人都能确实经历,因此有真切的体验之外,其他职位的具体职责,甚至哪个职位高哪个职位低,都不那么明确。当然在一个公司内经常是明确的,但在不同公司更换职位时,我们经常会发现同名的职位其具体职责会有明显的差别。以至于有些人在小公司拿过技术总监title的人,如果更换工作,会发现甚至不能胜任另外某个公司高级程序员的职位。

原因很简单。一个企业,首先是老板的。企业中有哪些职位,职位的具体职责是什么,是老板决定的。如果不同的企业的老板思路不同,职位体系当然不同。但老板一个人精力和知识范围毕竟有限,这里就出现了CTO职能。首席技术官,其职责就是确定IT技术在一个企业内应该占怎样的地位,应该建立怎样的职位体系,怎样的用人思路,公司的技术能力应当以怎样的路线随着公司的发展而成长,等等。一个公司可以没有CTO职位,但不会没有CTO职能。CTO职能可能会部分由老板直接担任,部分散落在公司各级技术人员身上,随着技术人员的流动,随着老板的工作越来越多,CTO的职责会被不断转手,或丢弃(无作为)。所以大多数公司的技术发展都是盲目的,缺少远见和积累。

上面讲了CTO的职能,作为一个技术人员,如果你不是一个公司的CTO,其实你的职位含义就存在于CTO的构思中。CTO考虑的是你的能力能否符合他构思的框架。如果你身上没有分担一部分CTO职能,你在公司的地位应当是可替代的,无论你的技术水平有多高。因为一个负责CTO不会把公司的技术框架建立在某个具体人的身上。但即使你的身上有分担一部分CTO职能,你的离开将对公司造成较大的影响,至少公司某部分的技术框架就失去了构思的初衷和发展规划。当然了,即使你在公司,你的技术框架构思也未必是连贯的。这是因为公司高层设计不合理,很多本来不能胜任CTO的职能的初级技术人员,被强制赋予了部分CTO的职责,造成混乱的责任在老板。

对于技术人员的发展,给出我的建议。从程序员开始,技术人员只有一个发展方向,就是CTO。在大部分公司中,无论你处于哪个职位,你都有机会体验被强制赋予的部分CTO职责,做好它,就是最好的免费的锻炼机会。在你没有达到这个职位之前,不必在意你的title,那只是某个具体公司的CTO设计的技术构架中的一部分,除了名字或许是我们熟悉的,具体职责可能完全是陌生的。求职非CTO职位的时候,我们只须讲清自己所掌握的技术,所做过的项目,至于能否胜任这个新公司的某个职位,并不是我们能预见的事情。再说的明白一点,你不用纠结于是否在某个公司拿到了多少级,在某个公司拿到了什么title,那些都不能代表你的水平。

你能想清楚自己应该学习哪些新技术,有意识地尝试哪些具体工作,这就是CTO的职责。如果你能够做好,你的技术水平就会稳步提高,并能随时跟上最新的技术发展,并且你能积累真正有用的技术经验,你的职业收入自然会稳步提升。那些听从你建议的人都能够得到收益,自然会增加你的影响力,你在公司的职位也自然会上升。技术人员一开始是自己的CTO,再向上,只有一个真正台阶,就是企业的CTO。
 

发布了24 篇原创文章 · 获赞 0 · 访问量 4585

猜你喜欢

转载自blog.csdn.net/xiaorang/article/details/104353675