事实上很多CTO的困境是他们自己制造的,广告平台厂商AppNexus公司CIO、纽约CTO俱乐部联合创始人IgorShindel这么认为。当你逐步晋升成为技术专家,也就是说作为一名开发人员、架构师或者是一个团队领导,很可能你会对于领导的要求一味地说“Yes”以取悦领导。但其实此时角色有两面性,就像人的性格有时候也有两面性一样,一个是“技术角色”,这部分是希望调整并通过技术手段来解决问题;而同时还存在着“英雄角色”,这部分则对于征服挑战有极大冲动。
但是,作为公司高级管理者,你的工作就不能仅仅是说“Yes”,多问些为什么以及确保弄清楚上级的确切需求是很有必要的。有时候你的工作应该是说“No”,不仅是向那些有可能误导发展入歧途的要求说“No”,还要对那些可以说是“自杀型任务”——也就是超出你资源调配能力太多的要求说“No”。
CTO能做的有哪些?
Uhrmacher和我都曾发现很多CTO在一开始加入新工作环境时,遇到问题他们都有一种“回击”的意识。但是一般超过6个月后,他们可能发现自己经常处于一种恐慌的状态,或者进行着一些错误的争辩,为了争取足够的时间和资源去达成目标,正在把自己推向“自杀式”的不归路。
一旦有人指出CTO的工作“不在正轨”,或者CTO他们自己也发现工作不在预期轨道上开展,这种时候真的需要好好做个坦率的自我评估。你是否能按照既定计划正常推进方案执行?你能避免焦躁恐慌的情绪么?你愿意欣然接受帮助么?你能打住在别人看来是愚蠢的那些行为、规划一些合理可以达成的目标并逐步建立信任么?
比如说,说太多“Yes”会让你发现自己在给自己“挖坑”。为了逃避,很可能你不得不在接下来时间去跟人谈判。你需要去跟CEO解释,“哎,是我的太懦弱只知道答应说‘Yes’导致我们现在工作面临很多困难。”
这样的对话开端很可能意味着这会是一个艰难、尴尬的坦白过程。CEO听了这话很可能问CTO:“那么你到底能做到哪些呢?”一些CTO会陷入困境不知如何作答,因为说白了他们也拿不出一个在既有资源情况下,能按时完成任务的好的方案和规划。
而相比之下,公司销售方面的计划似乎就没有那么难制定。关于未来销售额,公司的CEO会建议销售副总裁制定一个他认为明确的销售目标。但很可能这个数字对于销售副总裁来说,他会认为CEO定的太高无法达成。再之后销售副总裁会拿出一个他自己心里认可的更为现实的销售目标数字。然后,CEO否定。在双方谈判之后,在销售数字以及如果销售副总裁的团队达成目标所获得的奖金方面都达成一致。等到季度末的时候,销售副总裁的成绩如何则一目了然。与销售方面的计划相比,似乎公司技术项目规划就很难这么清晰。
成功的CTO能自信应对这种谈判,因为他或者她很清楚哪些可以做,哪些资源可以满足需求。请记住,不满意现在工作、要求更高更多、推动公司前行……这些都是CEO的工作。明白这些,CTO与CEO的谈判将会容易很多。
为了避免项目工作执行中出现“偏轨”,有的CTO会雇用资源管理人员,他的职责就是帮助指出“什么才是合理的、现实的”。在中型或是一些大型公司中,CTO往往需要协助,但是做得好的CTO还是会自己来负责把控资源调配以及执行项目计划这个过程。
应该做些什么?
接下来对于CTO来说必须要作答的是“应该做些什么?”。这其实也是对CTO提出的更高级别要求。因为这样一来,CTO就不再仅仅是技术专家的角色,而成为了一位在技术领域是专家的业务主管。
美国在线销售手工工艺品网站Etsy公司2012年产品销售额达到8.95亿美元。这是该公司CEOChadDickerson在接受美国媒体采访时透露的数据,而当时他本人还是Etsy的CTO。“因为我是首席技术官,我要对于公司整个业务非常了解,包括从基础设施到我们如何做好卖家和买家之间的联系平台。”ChadDickerson说。
问题是并不是所有CTO都像Chad一样详细了解公司的业务。这些CTO也许是并没有准备好,对于任何有关业务的,可能有点冒险的建议都会让他们感觉不舒服。他们会认为无知的意见很可能带来得不偿失的效果。CTO应该意识到他们也许不能一夜之间变成MBA,但另一方面,公司的业务其实是一个系统,但比起典型的应用和操作系统来说,其实并不复杂。对于CTO,公司业务系统的挑战就在于它没有什么技术领域中所谓的“明确定义和算法”,它很模糊。而且不同领域都有一堆的术语,比如金融、市场这种不同方向都有各自领域的很多专业术语。虽然概念可能并不难理解,但是数量确实非常大。
谁也不能“一口吃成个大胖子”,我的建议是像玩questiongame一样,用一些技巧去专注学习最为重要的部分。
一旦你与各条业务线都有一定深度接触后,目前以及未来的一些需求也就逐步明朗了。CTO能判断哪些技术可以帮助实现业务发展并带来新的思路。
但CTO并不能填补所有的空白。没有业务发展线路图的情况下很难规划出技术发展路线。这也是CTO最能展现领导才能的方面。之前举过一个例子,“如果你给一个管理团队1美元可花,那么很可能他们会花出去三次,每回0.75美元。”你需要提供决策的依据以及花销的理由。如果你的管理团队/CEO总是喜欢改变计划,那么你手下的技术团队就要承受各种改变计划做调整带来的成本上升,这会导致低效率(而且员工满意度很低)。用简单的图表来表示项目中哪些已经开始进行,哪些仍然是“悬而未决”的状态,用这样的方法对开展工作很有帮助。
“请记住,对一个正在进行中的项目做修改,其带来的成本上涨远远会超过推迟一个还未开工的项目带来的成本上升。”Uhrmacher说,“你必须有自己的原则和决定能力,确保未将自己处于‘Hold不住’的状态。”
关于技术路线图,一个很不好的例子就是建议在维护方面、重构方面投资。除非你们公司已经处于危险期,很难直接证明对于一家公司来说,提高一个系统的质量和可维护性是一项有意义的花销,特别是如果没有直接的收益影响。
“这种时候,有信誉的CTO更容易赢得战争,有助于利用研究机构或第三方(顾问、咨询顾问、董事会成员)的数据去解释为何要未雨绸缪,”Uhrmacher说,“然而,我工作过的公司没有在这种规划提出时不给压力的,你要做好准备,公司CEO、CFO可能真的不想听到没有ROI(投资回报率)的投资建议。”
按照削减控制成本的心态发展,你能做到的最大成功就是降低技术预算直至为零。但是按照聚焦业务的心态看,似乎成功看起来更大也更有意义。当CTO多数时间开始考虑的是业务的胜利,他或她可能就在正确的道路上了。
这地方适合成长么?
“我应该继续坚持还是放弃离开?”这是CTO试图摆脱危机时另外一个要做的关键决定。CEO是不是能听进去“No”?CEO是否能接受你在改进工作过程中可能犯的一些错误?你能在工作中得到成长么?对你来说不插足正处于危机中的业务是不是最好的选择?你需要一个稳定的环境或者相对更小一些的工作来积淀所需的技能么?对于成功,你是否有明确清晰的定义?
其实说放弃并不容易,但有些时候选择放弃才是正确的抉择。很多时候,对于一位CTO或者一个公司来说,获得成功的最短途径就是停下来去解决问题。
“然而,反过来看,对于一个公司来说,更换CTO则往往非常困难并且花费不少。”Uhrmacher说。
建立信誉
作为CTO,你应该知道自己的弱点并且一直在弥补和修正它。而CEO可能欣赏的是CTO的天赋并且相信他能有更好的表现。CEO可能也会感激听到“No”,因为他或她意识到你这么做,很可能避免了公司未来的混乱局面。
作为CTO,你还需要做一些在他人眼中“讨厌的”事:用简化的方式和管理模式“跨部门沟通”。你需要确保公司其他部门知晓哪些技术已经交付。而通常多数时候公司每个部门其实并不了解其他部门的工作。很多技术上的成功很了不起,但对于技术团队以外的人员来说却一无所知。打个比方,CTO很难意识到公司其他人根本不关心用Clojure是很酷的一件事,也不会重视Cascalog加速大数据处理,他们关心的只是产品体验的表面现象——搜寻答案时更快速。
要建立信任,CTO需要建一个大家都能看懂的议程,本质上来说其实就是承诺记分卡,让你的计划越能度量越好。“如果你要拿数字说话,那么就制定好各项议程。”纽约CTO俱乐部成员CharlesBerg建议说。
此外,另一位纽约CTO俱乐部成员、咨询公司顾问JonWilliams认为,重要的是要分担风险。如果CTO有艰难的决定,那么不妨花些时间跟CEO以及其他利益相关者解释一下可能出现的危机和问题中怎样做权衡。
“不跟团队其他成员或者管理者分享决策原由,那么每个决策在日后都很有可能遭遇质疑,尤其是工作中那些并没有所谓最佳解决方案的时候。”Uhrmacher说,“例如,可能CTO的决策是关于引入全新、复杂平台,这是涉及到整个公司层面的一项决定,不应该只由CTO一人单独决定。”
一旦你有一份规划到位的议程,那么建立信任最重要的就是要与人沟通交流关于你的计划执行得如何顺利。对于可能出现的问题做好提前预警,这对于建立团队中的信誉至关重要,因为每个人其实都希望在问题被大家发现前就已经解决了。
“延迟坏消息会带来很大坏处,”Uhrmacher说,“从问题中吸取教训,这对于自己乃至整个技术团队来说都是至关重要的一点,用金融交易领域的一句话就是‘你的第一次损失其实是你最好的损失’”。