发布日期:2016-09-05 15:40:12 +0000
首先说一下:不要为这个虚名所累,我已经付出了一定的代价。这个职位一点都不酷,给你更多的是责任和压力,甚至是非议。
我离开 A 公司的时候,公司规模应该有几千人了,时间是 2010 年,现在都有些记不清了。刚加入的时候 2005 年,整个团队也就几十个人。然后一路看着公司快速增长(膨胀),这个过程里,曾经有那么一段时间,做事情非常有效率,但到后来越来越感觉到工作节奏慢了许多,有很多牵制,有很多不必要的事情也要硬着头皮去做,到了后期,按部就班,会议尤其多,非常痛苦。
我有的时候在会议室里就会走神,时常会想到生命消耗在这种事情上真是没必要,没有任何成就感可言。
从 A 公司离开,到了 D 公司,离开的时候自己把笔记本换了 Macbook Pro ,想到以后工作环境再也不用 Windows 了,也不用 Outlook 收邮件了(讨厌死了 原来 Outlook 的频繁崩溃,因为我每天要收取大量电子邮件),直接 Gmail 搞定,很欣喜。
但是,我在新团队并没有要求团队用我所喜欢的各种技术。这是很多人都忍不住要去做的,也有不少人空降到新团队死在了这一点上。
你有了一点机会要做很多选择,有一种选择是,你打算把团队变成一个勾心斗角的团队,还是把团队变成一个相对简单的团队,而这,完全取决于你。
D 公司当时整个公司 50 多人,真正意义上的小公司,技术团队一共 11 人。前面好几年积累下各种技术债务,有很多想做的产品,一直没资源实现。那首要任务就是还清技术债务。我能做的事情,一边招人,一边给团队提供资源和支持,给大家换更好的显示器,电脑加内存,换好一点的椅子,更好的电脑,好的带宽,公司提供翻墙能力…这样做的原因是会提升效率,有点投入也完全可以接受。说这些并不是说你作为一个 CTO 只能做这个,而是不得不为之。
前几天看到有人吐槽 S 公司工程师用的烂机器,简直不可想象。我一向认为好一点的工具才会有好的生产力产出,当然,因为财务能力的制约,合适就好,不是非要大手大脚。
团队一共就这么多人,要么快速招更多的人进来,要么扫清障碍,让现有资源效率更高,就可以做更多的事情,逻辑很简单。一两个月之内做的事情,差不多是我在大公司里一年的工作任务,有一种生命延长了许多的感觉。非常刺激。
到了小公司在短期内会觉得有成就感。团队同事也觉得有成就感。觉得自己的工作更有成效,受到了尊重。
在大公司里工作,跟小公司最大差异的地方是要用截然不同的思维。小公司,环节和流程都更短,结构更扁平化,一个人要承担的责任更多,对能力的要求更为全面。如果团队成员还足够信任你的话,就更为幸运了。如果不想把公司变得跟大公司一样,就别去照搬大公司的架构,除非你要告诉别人你很蠢。
被迫把自己逼成一个多面手,团队没有人能做的事情,就要自己去找资源来解决,如果你对这个一无所知,那就只好被忽悠吧,如果自己有不错的了解,那么就省了很多麻烦。拿 SEO 来说,很多大公司出来的人对这个一无所知,或者只是了解一点皮毛,但是真的到了实战中,网络上搜索来的那一点玩意儿完全不管用。在一位业内顶尖 SEO 专家的帮助下,给我们上了好几次课,最后基本上做到了及格。这样相比一堆不及格的,你就跑在了前面。
对大公司里出来的人,这个挑战是很严峻的。很多人在大公司里把自己的技术领域的事情做好就行了,完全不用管其他领域的东西。但到了小公司,要求掌握的越多越好,否则就很被动。还好,我此前曾经做过这方面的积累,刚好都用得上。
深度和广度,对小公司来说,这个阶段更需要广度的技术能力,而非深度的持续投入。但随着公司的发展壮大,就需要一些深度的积累,做技术积累。
你以为全栈工程师就够了吗? 不够的,远远不够,需要方方面面的积累。我自己也有很多缺陷,后来弥补了一点,弥补不上来的,只好扬长避短了。
忘掉自己以前最擅长的东西,那些在小公司用处不大。木桶理论大家都知道,但是实践中,很多人是没有意识的,往往忽略从全局考虑问题。我以前是做数据库的,如果把我以前的那一套照搬过来,可以把木桶的一块木板做的很高,但能怎么样呢? 不会对现有团队增加什么价值,反而可能投入更多的资源,对公司来说是浪费。同样道理,如果你以前代码写得好,别自己每天也去写代码,对团队的价值不大。不同的阶段要做不一样的事情,不能用一招包打天下。
技术有沉淀了,产品做出来了,还要考虑怎么把产品推广出去,产品怎么样才能被更多用户接受。从这个角度上看,CTO 不应该只局限于技术,应该让团队成员的技术劳动体现出应有的价值,把技术和产品变成一家公司的发动机。
题图:意大利摄影师 Franco Fontana 的作品。
按:这是一篇旧文,原文发布于 2015 年 7 月。
延伸阅读:
开放订阅中,见今天的二条另一篇文章…