升级技术架构,先要革新观念,最后才是技术问题

升级技术架构,不仅仅是技术升级

说到升级架构,大家第一个都会想到,是不是对技术升级一下就可以了?

我认为不是,技术架构升级要求的是整个公司的升级。

技术架构的变化,直接映射的就是成本投入的变化。如何让其他合伙人明白你的投入是值得的?比如业务合伙人可能质疑你只花钱没有结果。所以做技术架构变化时,先给公司高管说明白,我们的目标是什么?为什么我们要做?是因为业务规模达到一定量要继续升级,还是要支持原来的产品投入?它将来的投入可能是什么样?我们现在如果不升级,会变成什么样?

这是公司的产品技术一把手应该做的。

升级技术架构,背后是人员变动

第二个,大家都会说,技术架构的变化就是升级一下技术架构呗。

其实不是。升级技术架构背后映射的是人员变动。技术架构在不断升级,有些人会跟不上技术架构的发展。怎样妥善处理这些跟不上的人员?怎样评估他对整个团队的影响?先要把未来架构的人员以及需要的底层资源准备好,再去做技术架构的升级。

技术架构变化,也要考虑节奏问题。技术的使命是什么?是打造特别牛的系统,或者特别打造特别牛的开源项目,让业界都觉得你非常牛,却可能和公司业务没有什么关系?还是要让公司的业务呈现指数级的发展,你能够升级架构支持公司的变化?我认为是后者更重要。

你的节奏有多快,步伐有多大,其实蛮有讲究。每一个做技术的小伙伴,都希望把最新最牛的技术应用到公司。当你在一把手位置的时候,你要考虑人员资源业务是不是真的能够一步到位?究竟要分几步,才能把心目的完美架构落到公司?很可能预算、人员、计划都跟不上,你冲到最前方,却把团队扔下了——这是不可取的。

所以每一个公司步伐迈多大,究竟怎样才去合适,这是每一个公司的 CTO 或者技术产品 VP 心里面要考量的问题。

升级技术架构,最后才是技术问题

技术结构的变化,到最后才是技术问题。我们会看整个架构效率怎样、扩展性如何、将来对 SLA 的影响如何?

到最后一步的技术问题,你是不孤独的,这时候还有总监,还有架构师,还有各种各样的技术人员;而在考虑前三点的时候,作为技术最高管理者,你是孤独的。所以对于每一位技术一把手来讲,我觉得都要明白,升级架构一定不是仅仅技术升级的事情。

不解释,最终要让事情发生

最后分享一个心得,其实就是这一句话:不解释,最终要让事情发生。你的决策受到各种各样资源的限制,你可以找一万个理由用来解释,用这一万个理由去不做事情。然而,作为技术和产品一把手,你不能解释,只能让事情去发生。

这也是我从总监到 CTO 的转变。CTO找总监希望找能扛事儿的,而CEO找 CTO 希望找到能成事儿的。扛事儿和成事儿是两个不同的境界。大家将来成为技术产品一把手的时候,把这句话记在心里:不解释,最终要让事情发生。

问答

2.是否考虑采购或外包一些算法类的工作?

我的回答是当然考虑。我们有一个原则,对所有业务问题都会问三个问题:

  • 第一个问题是,能不能用技术化的自动化的手段解决?如果可以的话,我们就去研发。
  • 第二个问题是,能不能采用外部专家和外包方式解决,而不动用我们的资源?因为有这种思维,我们才能保证易观一直是“最小的大公司”,最少的人可以做非常多的事情。
  • 第三,前面这些都不行的时候,我们再考虑招人。我们现在 192 人维护这么庞大的体系,我们有很多合作伙伴和专家,我们非常欢迎这些方面的专家来洽谈业务。

3.如何面对大公司的人才争夺?

要时刻面临大公司的人才抢夺,这对于小厂来说的确是很不容易的。我觉得大厂有大厂的好处,小厂有小厂的妙处。

大厂的数据分析都是后台业务,小厂就不一样,比如易观是依赖数据分析和数据产品存活的,我们在数据这一块的力度和产品迭代速度是由整个市场来推动的。人才在大厂的成长速度一定不如在小厂快,在小厂天天面对生死存亡,不把这东西做起来,客户就不买单;不把这个问题解决的话,这么大的并发数据量可能就会形成很大的技术事故。

所以我们在和大厂去 PK 人才争夺的时候,我们主要是看人才是不是真的想在这里做的专深。我觉得,面对大厂和小厂的人才争夺,人各有志,要看每个人自己的想法是怎么样。要给年轻的小伙子机会,要给中层带人的机会,用不同的策略来面对人才争夺。

4.团队内有比你技术更牛的专家没有?如何管理他们?

团队里面当然要有比我牛的技术专家。我觉得,一个CTO是不是合格,就是看他能不能找到比他更牛的人。我觉得,对于牛人不能叫管理,而是看他有什么需求,然后指引他的需求和公司战略方向保持一致,他能发挥出来的价值远超过你自己一个人能够去做的事情。

我经常讲,一个牛人只能是做 × 1 的事情,一个 Leader 带领 10 个牛人那就是做 × 10 的事情。作为 CTO,你应该找 10 个 × 10 的人,那就是 × 100 的效果。

我希望团队里面每一个方向都有比我更牛的人,这样我才能放心地做想做的事情。否则我每天要做 X 1 的事情——我不是不能做,我刚加入易观的时候都在写代码——我如果每天都去写代码的话,谁去做 × 100 的事情?

5.非巨头公司如何平衡业务/生存问题和长远技术储备问题?

中小型公司平衡业务和生存,我觉得这个真的是一个艺术的问题,很难用一句话来解决。每一个公司都不一样,每一个管理者的风格也不一样,每一个 CEO 对技术和产品的期望和投入也不一样。所以做平衡的时候,关键在于对整个公司的战略有比较深刻的了解,对公司其他合伙人和 CEO 对公司的战略布局比较清楚,你心里对整个技术架构都很清楚。

你要选择适合当前的结构和人员,为马上面临的,比如三到六个月会遇到的技术问题,开始做储备。如果你人够多,可以做一年左右的技术问题人才储备。人更多的话,可以做更长期的储备。不要一步到位,别想直接支持未来五年的业务发展。我估计这样不论是产品和技术,都很难成功吧。

作为CTO如何做技术升级的更多相关文章

  1. DRF对Django请求响应做了技术升级

    Django视图是用来处理请求和响应的,Django默认是按Form和Template来设计的,如果要处理以JSON格式为主的RESTful API,那么就需要对Django请求和响应的处理代码进行优 ...

  2. 从程序员到CTO的Java技术路线图(我爱分享)

    在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...

  3. 从程序员到CTO的Java技术路线图 作者:zz563143188

    在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...

  4. 【原创】公司各个阶段 CTO 需要做什么?(上篇)

    CTO 是企业内技术最高负责人,对企业的发展起到至关重要的作用.但随着公司的不断发展,CTO 的工作重心也会不断变化.只有在正确的阶段做正确的事,才能更好地为公司做出贡献.我是空中金融 CTO ,TG ...

  5. 【原创】公司各个阶段 CTO 需要做什么?(下篇)

    假设一个公司发展有以下几个阶段: 0 :创始阶段: 0.5 :有产品但无管理阶段: 1 :经过 1年的发展初步稳定的阶段: 1+ :稳步发展阶段. 上一篇文章中,我们聊了公司在初创阶段,CTO 需要做 ...

  6. 从程序员到CTO的Java技术路线图 JAVA职业规划 JAVA职业发展路线图 系统后台框架图、前端工程师技能图 B2C电子商务基础系统架构解析

    http://zz563143188.iteye.com/blog/1877266在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样 ...

  7. [转]从程序员到CTO的Java技术路线图

    原文链接:http://zz563143188.iteye.com/blog/1877266 在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常 ...

  8. 做技术最自由,在IT最幸福!

    这些天来,一直感觉"做技术最自由,在IT最幸福!" 在IT最幸福 一直感觉从事IT行业最幸福,想想那些干机械的.干汽修.地勤的,让我干那些工作,对我来说真是折磨! 大体总结以下几点 ...

  9. 从程序员到CTO的Java技术路线图 (转自安卓巴士)

    在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...

随机推荐

  1. hadoop无法启动常见原因

    1.Could not chdir to home directory /home/USER: Permission denied 启动datanode时会报这个错误,尝试利用ssh登录datanod ...

  2. express + mongodb 搭建一个简易网站(二)

    express + mongodb 搭建一个简易网站 (二) 在搭建网站(一)中,实现了简单的路由功能,这离一个完整的网站还差的有点远,继续撸代码吧. 1.首先在根目录下新建一个views文件夹,用来 ...

  3. How to create a Virtual Machine in SmartOS

    在SmartOS中,使用vmadm创建工具创建虚拟机. 此工具需要一个JSON有效负载,并使用输入JSON中指定的属性创建“kvm”或“joyent” brand zone. 正常输出是一系列单行JS ...

  4. spring-boot PageHelper

    分页插件PageHelper 参看了pagehelper-spring-boot,使用起来非常放方便,关于更多PageHelper可以点击https://github.com/pagehelper/M ...

  5. 第八章 高级搜索树 (xa2)红黑树:结构

  6. sublimetext 2 编译文件带input时 提示 EOFError: EOF when reading a line

    昨天在网下下载了个什么sublimetxt 2 的破解版,然后让我折腾了半天,没错 ,就是因为这个 EOFError: EOF when reading a line错误让我搞的半死.怨自己,贪图中文 ...

  7. 使用jQuery可能出现的错误

  8. OpenStack的架构详解(转)

    OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集.其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云.私有云,也为大云.小云提供可扩展的.灵活的 ...

  9. 15-matlab矩阵运用

    from scipy.spatial import Delaunay from mpl_toolkits.mplot3d import Axes3D import numpy as np import ...

  10. POJ 1122.FDNY to the Rescue! Dijkstra

    FDNY to the Rescue! Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2808   Accepted: 86 ...