`

三年高级开发,六年成为架构师,到CTO我用了12年

阅读更多

程序员阶段

大学毕业,被校招到一家小公司搬砖,大家常自嘲叫码农的阶段。这个角色职责是把需求或产品实现为用户可用的软件产品。

此职位为执行级别。另外因为经验较少,一般需要求助别人,或与别人一起完(ban)成(zhuan)一个任务。

此阶段我经历3年,总结出程序员的职责如下:

1、负责公司运营系统的设计与开发工作

2、运营数据处理和分析

高级程序员阶段

三年的开始时我遇到了一个瓶颈,按部就班的过了一年,技术,思想方面没有任何的提升,作为一个程序员,如果一年都没有进步是一件很恐怖的事情,不进步就代表这会被社会技术淘汰掉。

经过一番努力,此时我的功力开始增强,这与我平时的积累努力是分不开的。

此时的我不仅可以完成任务,开始注重代码的质量,能够写出工业级的代码。

我的经验可胜任模块级的系统设计,承担完成较为复杂的技术,能有效的自我管理,有帮助别人快速解决问题(trouble shooting)的能力。

此阶段我经历了三年左右的时间,中间要经历一段深刻自我历练的过程。

有时给人致命一击其实是心里的小蟊贼。一般人在5年前后遇到一个门槛,碰到天花板+彷徨期,或者你打心眼里不在喜欢编程,这是正常的,每个程序员都会经历,就像是青春叛逆期。

当我们熬过这段儿,就会“山随平野尽,江入大荒流“,渐入佳境矣。

高级程序员定义软件功能、做开发计划推进和管理。可以带几个个帮手把产品规划的功能实现,我是团队中的”大手“,遇到难题也是我亲自攻艰克难。

所以,一个高级程序员,我的职责很清晰:

1、负责产品核心复杂功能的方案设计、编码实现

2、负责疑难BUG分析诊断、攻关解决

架构师

13年到了架构师级别,我已经学会降龙十八掌,可登堂入世,成为一位准(lao)专(you)家(tiao)。

我大喊声:“单打独斗,老衲谁也不惧!“,遂开始领导一众技术高手,指点武功,来设计和完成一个系统,大多是分布式,高并发的系统架构平台。

架构师的任务是为公司产品的业务问题提供高质量技术解决方案。可能每条产品线都设置了架构师,也可能多条生产品线的的后端是由一个架构师设计的平台提供。

到了架构师级别,我的职责就如下了:

  1. 需求分析:“知彼”有时比“知已”还重要。管理市场,产品等的需求,确立关键需求。坚持技术上的优秀与需求的愿景统一,提升技术负债意识,提供技术选项,风险预判,工期等解决方案。

  2. 架构设计:在产品功能中抽取中非功能的需求,由关键需求变成概念型架构。列出功能树,分层治之,如用户界面层、系统交互层,数据管理层。达成高扩展,高可用,高性能,高安全,易运维,易部署,易接入等能力。

  3. 功能设计与实现:对架构设计的底层代码级别实现。如公共核心类,接口实现,应用发现规则、接口变更等。

技术经理

人生就是不断上升的过程,我不知不觉已经到达经理的层次了。如今的我,需要不断提高领导力,需要定期召开团队会议讨论问题。

首先我要更加自信,在工作中显示自己的功力,给讲话增添力量。如:“本次项目虽然有很大的困难,我们也需苦战到底。当然示先垂范,身先士卒,方能成功!”

技术经理有时候也可能叫系统分析员,一些小公司可能会整个公司或者部门有一个技术经理。技术经理承担的角色主要是系统分析、架构搭建、系统构建、代码走查等工作,如果说项目经理是总统,那么技术经理就是总理。当然不是所有公司都是这样的,有些公司项目经理是不管技术团队的,只做需求、进度和同客户沟通,那么这个时候的项目经理就好像工厂里的跟单人员了,这种情况在外包公司比较多。对于技术经理来说,着重于技术方面,你需要知道某种功能用哪些技术合适,需要知道某项功能需要多长的开发时间等。同时,技术经理也应该承担提高团队整体技术水平的工作。

到了技术经理,我的工作需要和大家站在一起,因为人们也都有解决问题的能力,更需要有以下的能力与责任:

  1. 任务管理:开发工作量评估、定立开发流程、分配和追踪开发任务

  2. 质量管理:代码review、开发风险判断/报告/协调解决

  3. 效率提升:代码底层研发和培训、最佳代码实践规范总结与推广、自动化生产工具、自动化部署工具

  4. 技术能力提升:招聘面试、试题主拟、新人指导、项目复盘与改进

技术总监

慢慢的,我的研发团队超过20人,有多条产品线或业务量很大,这时已经有多个技术经理在负责每个业务,这时我是一位技术总监。

技术总监的职责:

1、组建平台研发部,与架构师共建软件公共平台,方便各条产品业务线研发。

2、通过技术平台、通过高一层的职权,管理和协调公司各个部门与本部门各条线。现在每个产品线都应该有合格的技术经理和高级程序员。

CTO

首席技术官,英文名Chief Technology Officer。是与CEO、COO、CFO同级的领导者,是技术和业务融合的领袖。

国内与国外对CTO的定义有些许不同。

美国对CTO的职责是设计公司三年内的产品和服务的技术发展方向,较少参与技术团队的日常管理和项目管理事务。基本是前瞻性的策略思维,比如Google的谢尔盖.布林一直保持对技术方向的敏锐,比如无人驾驶汽车,人工智能等走向。

在国内,CTO大部分则偏重于研发管理,相当于技术总监的Plus版。它相当于美国互联网公司常设的工程师副总裁+CTO的工作并集。但总体事情比美国的CTO层次低,大部分CTO的是领导技术团队开发各类产品,解决技术问题,管理不同的项目,排期交付。还有一部分的职能类似于架构师或总工程师,作为技术侧的权威,为下一步的发展方向 做研究探讨,为CEO提供建设型决定参考。

CTO的职责如下列表:

1、技术愿景:识别新技术、利用新技术、整合新技术、驱动新技术。驱动商业战略、驱动产品战略

2、技术架构:建立主营业务中的技术架构与实施模式,建立技术体系标准

3、流程制度:建立高质量,高效率的技术团队。健全的项目管理体系;完善的员工能力发展体系

4、知识培训:建立以研发内容为主的知识库管理体系、技术分享与技术文化的体系

5、业务支撑:与其它部门的沟通协作,如HR、市场、BD、财务、客服等提供技术管理接口;在产品技术层面能够领先于业内同行

6、影响力:在公司内部与行业中具备一定影响力与口碑

7、视野&;格局&;执行力:看待问题全面,具有强大的学习力,具备技术前瞻力,敏锐的市场嗅觉,战略落地的能力

经验分享

在这里分享我的学习经验,这是我一直在学习的一个思维图。

源码分析专题

分布式专题

微服务架构

性能调优

工程化专题

最最重要的项目实战

多线程并发编程也是必不可少的

这些资料都是可以进群:433540541,即可免费获取,也是个人的一些分享。

小结

CTO做的事情,是商业、产品、技术、管理、团队相平衡的综合统管,公司的技术研发方向与重点商业化的结果负责,激励员工,营造工程师文化。

而技术总监主要是协调团队内部各个资源,引入工具,和方法提升工作效率。

技术经理角色相对具体,绩效考核,产品落地,执行优胜劣汰的规则。

正像《少有人走的路》,每个人的成长路径都不同,但无一不是兴趣与使命驱动——无论你是程序员,技术经理,还是在CTO的角色。大家一起发挥潜力,去迎接不期而遇的挑战与胜利后的曼妙风光。

 
2
0
分享到:
评论
1 楼 jianwang0310 2018-05-18  
很厉害的哦

相关推荐

    开发工程师如何转型成为架构师.pdf

    开发工程师转型成为架构师是一个系统性且复杂的过程,涉及到技能的提升、思维方式的转变以及实践经验的积累。在转型的过程中,开发工程师需要关注以下几个关键的知识点和技能领域: 1. **系统架构与系统设计**:...

    java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程

    java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级...

    历年高级系统架构师真题

    历年高级系统架构师真题是备考这一专业资格考试的重要参考资料,涵盖了从2009年至2017年的历年试题,旨在帮助考生全面理解并掌握系统架构设计的核心知识和技能。 在这些历年真题中,我们可以看到一系列关键知识点的...

    架构师学习指南-高级架构师必修学习视频

    架构师学习指南-高级架构师必修学习视频架构师学习指南-高级架构师必修学习视频

    软考高级系统架构师经验复习笔记仅供个人学习使用

    在准备软考高级系统架构师的考试过程中,深入理解和掌握相关知识是至关重要的。这篇复习笔记将为你提供一些关键的学习方向和重点,帮助你构建一个全面的系统架构知识框架。 一、系统架构基础 系统架构是软件开发...

    高级系统架构师培训讲义

    本资源摘要信息提供了高级系统架构师培训讲义的详细信息,涵盖了系统架构的定义、软件架构的定义、系统架构师的职责与思维方式、软件开发过程的认知、规范性软件开发过程、软件开发增量模型、架构设计的自顶向下结构...

    冲击顶级Python架构师 Python超级全栈架构师开发课程 基础+运维+高级开发+算法+项目

    冲击顶级Python架构师-Python超级全栈架构师开发课程,是一套系统化非常强的Python实战课程,课程数目超过了400多集,课程帮助同学们从零基础开始学习Python基础课程,Python高级进阶课程,Python的进程和线程,数据...

    高级系统架构师经典案例分享

    总的来说,“高级系统架构师经典案例分享”涵盖了系统架构师所需的各种技能和知识,从理论到实践,从选型到实施,全面展示了这一专业领域的深度和广度。通过学习这些案例,读者不仅能提升自己的技术素养,还能掌握...

    高级软件架构师培训讲义

    《高级软件架构师培训讲义》是一份针对高级软件架构师的专业学习资料,涵盖了软件架构设计的多个核心领域。这份讲义旨在提升架构师的设计能力,帮助他们更好地理解和实施复杂的软件项目。 首先,讲义从“架构师与...

    软考-高级系统架构师真题.zip

    《软考-高级系统架构师真题》是一个包含软件设计师高级考试相关试题的压缩文件,主要针对的是系统架构设计这一专业领域。系统架构设计师在IT行业中扮演着至关重要的角色,他们负责规划、设计和实施复杂的软件系统,...

    2021年软考 软考高级系统架构师教程、模拟题、真题、论文、知识点总结

    2021年软考高级系统架构师教程、模拟题、真题、论文、知识点总结

    天翼云认证解决方案架构师

    天翼云认证解决方案架构师题库知识点,帮你直接通过天翼云解决方案架构师认证考试。天翼云认证解决方案架构师题库知识点,帮你直接通过天翼云解决方案架构师认证考试。天翼云认证解决方案架构师题库知识点,帮你直接...

    高级系统架构师 培训 PPT

    在“高级系统架构师培训PPT”中,我们可以探索一系列深度的系统架构设计与实践的知识点,这些内容对于想要提升自身技术能力、成为一名优秀的系统架构师的人来说至关重要。这份PPT涵盖了多个关键领域,旨在帮助学习者...

    高级架构师软考.zip

    《高级架构师软考》资料集是一份针对高级软件架构师考试的重要学习资源,它包含了历年来的案例分析和深入讲解,旨在帮助考生更好地理解和掌握软件架构设计的核心概念、原则和实践。这份压缩包中的两个主要文件——...

    2021年11月最新通过系统架构师软考备考资料荟萃.rar

    2021年11月的软考高级系统架构师考试是检验专业技能和知识深度的重要途径。本文将依据"2021年11月最新通过系统架构师软考备考资料荟萃.rar"中的资源,深入探讨系统架构师所需掌握的关键知识点。 1. 论文框架与心得 ...

    架构师成长之路,架构师成长指南

    《架构师成长之路》这本书是为那些志在成为优秀架构师的IT专业人士量身打造的指南。它深入探讨了架构师的角色、职责以及如何在职业生涯中逐步提升自己的技能和视野,以适应快速变化的IT环境。 一、架构师的角色与...

    Kubernetes、K8s运维架构师实战集训营【中高级,最新第6期】

    分享一套k8s运维架构师的课程——Kubernetes、K8s运维架构师实战集训营【中高级】,最新第六期,2021年12月结课。提供课程配套的所有文档资料下载! 课程大纲: 第1章 开班仪式 第2章 赠送录播:搭建一个完整企业级...

    架构师系列三(2009.12)

    《架构师系列三(2009.12)》是InfoQ于2009年12月发布的一期关于软件架构的专题,旨在为读者提供清晰且实用的架构设计指导。这期专题深入探讨了当时软件架构的最新动态,对于理解当时的架构趋势和实践具有重要意义。...

Global site tag (gtag.js) - Google Analytics