互联网的蓬勃发展,让无数的程序员身价水涨船高,都变成了「香饽饽」,更有了不少「创业」,「当上 CTO,迎娶白富美的传说」。都说不想当元帅的士兵不是好士兵,我觉得这件事见仁见智,但提升自己的价值,让自己变得更优秀更有竞争力,一定是一线城市的大部分 IT 人内心的追求。

诚然,并不是所有程序员都会变成 CTO,程序员——>CTO 的路径像是一个漏斗,极少数人沉淀下来,在业界掀起一阵阵飓风。这些 CTO 比起普通的程序员,强在哪?丰富的技术知识只是基础,更重要的是战略眼光,管理把控能力。那么 CTO 所思所想,和普通程序员究竟有什么不同?

普通的程序员往往只负责模块的开发,代码的优化,和新技术的钻研,哦对我说的是普通程序员,而不是只会 fork 的小白程序员;而走向管理领域的高级程序员也许已经开始负责团队,背负团队进度和效率。而 CTO,往往不仅要考虑优化团队的开发工具、流程,肩负起把控整体技术方向的重任,要具有前瞻性,同时还要对企业绩效负责。尤其是技术驱动型公司,你问这样的公司 CTO 好招么,答案通常是「很难招」。技术选型其实是创业公司最纠结的问题,很多团队往往一上来基于已有的程序员的个人习惯和爱好,选择了一个技术方案,然后到某一天一看,我靠,全是坑(当然,也可能与执行者的能力有关)。

图为通常来说程序员的发展路线:

影响企业绩效的因素在方方面面,核心因素却往往集中在产品上。不夸张地说,应用程序的性能对于企业绩效有着非常巨大的影响。互联网产品遍地开花,SDK 层出不穷,用户对于一种新产品的尝试时间与互联网产品更新的速度成反比。用户体验这个已经被讲烂的概念依然还是提升产品价值的关键按钮,无论是 2C 还是 2B。

一旦用户未在你所负责的产品中获得最佳体验,或者直接解决痛点,他们会毫不犹豫的选择其他平台。

这个问题普通程序员通常解决不了,而一名优秀的 CTO 就需要下点功夫了。如何成为一名优秀的 CTO,这是一个问题,而一个问题往往是另一个问题的解决方案。为什么一个团队需要优秀的 CTO?是因为需要有人来带领技术团队优化应用性能——解决用户体验的难题,提升开发、运维,把控技术团队的战略方向。那么,优化应用性能,获得好的用户体验,提升开发、运维效率,又该怎么做呢?

为了确保应用程序能够达到甚至超越用户的高期望,需要不断优化底层 IT 基础设施的性能。然而,随着基础设施变得越来越动态化,混合化和复杂化,一波波新的挑战随之而生,让不少 CTO 多了几根白头发。

但是一个问题的产生,往往意味着相应的解决方法正在路上。为了优化应用程序的性能,优秀的 CTO 需要足够主动和敏捷。

主动优化包括物理和虚拟服务器,网络,存储设备,数据库,终端用户服务,云,和大数据环境在内的所有基础设施。需要将 IT 团队带领成为不仅能够迅速识别和解决问题,同时具有强大的反脆弱性,在问题对用户体验产生不利影响之前,先发制人的组织。以下五大关键措施或许可以帮助我们实现一点。

1. 捕捉和报告性能指标

鉴于良好性能的重要性,对于 IT 团队来说只在基础设施组件出现问题时产生告警是不足够的。CTO 需要让团队能够提前发现潜在的性能问题,并主动解决。例如,通过免费或付费的第三方工具及一些开源工具,配置告警,在问题出现之前解决。不同的团队,往往有最为适合自己的基础设施监控手段,优秀的 CTO 需要能够综合衡量团队大小,开发、运维水平,与人力和资金成本,选择最符合公司当下情况的监控方式。对于变动型较大或者高速发展的公司,盲目增加人力和花费时间去进行自主开发系统监控解决方案往往造成时间的浪费,得不偿失。

2. 统一视图和工具来增加可视性,并加快问题解决

由于开源工具与第三方解决方案层出不穷,不少 IT 团队也勇于尝试新工具、新方法。虽然有很多新的工具,解决不同方面的问题,但当问题出现时,团队成员仍然花费许多时间开会讨论,不断地开会浪费了许多时间。而与此同时,用户却经历着槽糕的体验。为什么明明有许多工具却依然采取本办法沟通呢?原因有两个,一个是很多 IT 团队内部在使用不同的协作、监控等工具,另一个是其实团队内部并没有养成利用监控平台或者协作工具的习惯。这种时候 CTO 就需要发挥作用,采用一个统一且功能强大的视图和架构来监测关键的 IT 服务,无论是虚拟机,物理主机,云主机,或者其他组件,同时采取深刻理解DevOps,掌握提升协作、沟通效率,优化开发流程,节省运维成本,提前发现问题的方法。

3. 跟踪用户体验

IT 团队可能拥有大量的性能指标,但是如果不知道用户的真实体验,就还是无法真正了解性能表现。什么是真实的体验?就是用户在实际操作中,是如何使用我们的产品的,在某个界面停留多久,对哪个环节不满意,诸如此类。IT 团队需要分析端到端的基础设施的响应时间,并借助虚拟交易功能,持续跟踪交易响应时间,即使在用户不使用应用程序的情况下。

4. 采用严格的 SLA 管理

一旦企业的全面监测到位, IT 团队针对服务水平协议(SLAs)跟踪性能和体验是至关重要的。IT 团队需要能够跟踪 SLA 合规性,当潜在问题出现时,立即识别和解决。通过跟踪 SLAs,IT 企业可以评估他们在管理用户体验和基础设施性能上的有效性。 这一评估对于准确计量团队绩效,设定目标和跟踪进展也是至关重要的。

5. 将 IT 和非 IT 数据相关联,进行高效的容量规划

满足用户不断提高的期望,并不仅仅是跟踪 IT 数据。通过关联 IT 和业务数据,团队可以主动识别瓶颈,提高终端用户体验。比如,将服务器 CPU 利用率指标和简单的历史数据相关联;比如,将用户登录或交易的数量与 IT 数据一起进行展示,可以为适应未来发展的容量规划,提供有意义的见解。下图为某团队将 PHP 请求、响应时间等数据和系统性能数据一起导入 Cloud Insight 仪表盘进行展示的例子。

插播一个好玩的,下图为某团队成员别出心裁将键盘使用记录导入仪表盘进行展示,也许键盘记录只是一种出于好玩的别出心裁,但同理,也可以将运营数据、业务数据、系统性能数据一起导入仪表盘进行展示,这对一个快速增长的 IT 团队来说,就很有价值了。

总结

数据驱动互联网高速发展的时代,技术团队 Leader 除了技术过硬,眼光独到,还要将紧跟 DevOps 的步伐,放眼国内外,快速、敏捷、尽可能多的优化团队开发手段和流程,减少开发、运维、运营之间的沟通壁垒,将数据化融入到技术推进的方方面面。而当你在这些方面有了核心竞争力,就不再只是一名普通的程序员了。

转载于:https://www.cnblogs.com/codercxy/p/5333942.html

CTO 比普通程序员强在哪?相关推荐

  1. 想知道吗?CTO 比普通程序员强在哪?

    互联网的蓬勃发展,让无数的程序员身价水涨船高,都变成了「香饽饽」,更有了不少「创业」,「当上 CTO,迎娶白富美的传说」.都说不想当元帅的士兵不是好士兵,我觉得这件事见仁见智,但提升自己的价值,让自己 ...

  2. 纯干货:优秀程序员和普通程序员的差距就在这7个关键点

    最近好几个读者问:如何成为牛逼的程序员?编码能力如何成长.回答完后,有些心得也给大家分享下. 其实程序员最关键的技能远不止编码能力,架构思维.底层知识的深度等等,同样很重要. 程序员这个行业,是一个区 ...

  3. 为什么我能从普通程序员干到大厂总监?

    作者| 程军 来源| 军哥手记(ID:zxhy_cj) 最近有多位读者问我:"你是怎么从一名普通程序员干到大厂总监的?"这其中有什么经验可以分享分享不,我觉得这个话题不错,我决定写 ...

  4. 普通程序员如何逆袭,达到财富自由?

    作者 | 纯洁的微笑 来源 | 纯洁的微笑(ID:keeppuresmile) 这个问题值得我们思考. 如何逆袭? 这两天闲逛知乎,发现了一个有趣的问题: 大部分人的回答大概率无非这两种模式: 1.去 ...

  5. 普通程序员如何转向AI方向(转)

    普通程序员如何转向AI方向 眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智能方向,是知乎上的一个问题.本文是我对此问题的一个回答的归档版.相比原回答有所内容增加. 一. 目的 本 ...

  6. 《我也能做CTO之程序员职业规划》写作过程重播之二

    又过一个月,写作仍在继续,评论也不停-- 2008-12-19 7:25:14 ξ箫音ξ 接收文件成功,保存于C:\Documents and Settings\dragon\桌面\我也能做CTO之. ...

  7. 普通程序员如何转向AI方向

    一. 目的 本文的目的是给出一个简单的,平滑的,易于实现的学习方法,帮助 "普通" 程序员踏入AI领域这个门.这里,我对普通程序员的定义是:拥有大学本科知识:平时工作较忙:自己能获 ...

  8. 分享 - 普通程序员如何转向AI方向

    原作者:计算机的潜意识 原文链接,内容稍有改动,侵删 1. 目的 2. AI领域简介 3. 学习方法 4. 学习路线 0) 领域了解 1) 知识准备 2) 机器学习 3) 实践做项目 4) 深度学习 ...

  9. 普通程序员如何转向人工智能方向?

    眼下,人工智能已经成为越来越火的一个方向.「普通程序员,如何转向人工智能方向」是知乎上的一个问题.本文是我对此问题的一个回答的归档版.相比原回答有所内容增加. 一. 目的 本文的目的是给出一个简单的, ...

最新文章

  1. NSThread 多线程相关
  2. 为Keil添加注释的快捷键
  3. NBIOT 移远BC28模块+stm32开发板例程、教程(打通TCP、COAP协议)
  4. 【译】CREDITS: Peer-to-peer (P2P) network and its components
  5. php 计划任务 不执行,CentOS 系统下 Laravel 计划任务 PHP artisan schedule:run 不执行,应该如何处理?...
  6. 【HAOI2010】工厂选址题解
  7. FMDB数据库框架的是使用
  8. eureka集群 ha_EurekaServer集群配置
  9. Codeforces Round #584 (Div. 1 + Div. 2)
  10. Luyten反编译工具
  11. 数据库E-R图——图书管理系统
  12. 计算机网络第七版谢希仁课后答案第二章(部分答案)
  13. linux xunsou_Xunsearch安装和使用
  14. AtCoder Beginner Contest 065(CD)
  15. c语言中的整型常量和实型常量
  16. Android传感器之光线传感器介绍
  17. Ps 初学者教程「34」如何使用魔棒工具选择单独的区域?
  18. 查询出部门名称、部门的员工数、部门的平均工资、部门的最低收入雇员姓名和最高收入雇员的姓名...
  19. 一文带你读懂 Promise
  20. 用java做出聊天工具

热门文章

  1. 微信系列研究之-----资源文件保护的小把戏
  2. JZOJ 5441. 【NOIP2017提高A组冲刺11.1】序列
  3. JZOJ 4910. 【NOIP2017模拟12.3】子串
  4. vr体验馆项目_VR安全体验馆在江苏方洋项目推广应用啦!
  5. QML和C++混合编程--(三)
  6. mysql如何定义消耗资源多的sql语句_如何查找消耗资源较大的SQL
  7. java在图片下方写文字_Java画图给图片底部添加文字标题
  8. [codevs 1916] 负载平衡问题
  9. luogu P4238 多项式求逆 (模板题、FFT)
  10. vue中webpack默认配置_Vue-cli 中 Webpack 配置优化(一)