深度分析 IT 职业发展路线,做一个透彻的打工人

本贴最后更新于 1206 天前,其中的信息可能已经东海扬尘

l1mX6U

📚 深度分析 IT 职业发展路线,做一个透彻的打工人

创建时间:2021-08-02 16:19 星期一

一、前言

俗话说,“男怕入错行,女怕嫁错郎”,如果你是互联网/IT 那恭喜你,入对行了,因为:

  1. 互联网/IT 行业薪资是第二,仅次于金融行业
  2. 薪资排名前列的岗位都是互联网/IT 行业。

好的行业是个好的开始,混的如何,就要看自己的努力了。

chJ0az

sjrU8m

二、职业发展路线

“打工人,打工魂”,优秀的打工人需要时刻思考自己的打工路线图(职业发展路径),做一个有规划、有目标、有追求的打工人。

2l2Be8

0hq3r8

结合上述两张图,程序员发展路线还是比较丰富的,仔细对比上面两幅图,可以发现一条比较专业路线

初级程序员(工程师)---> 中/高级/资深程序员(工程师)---> 系统架构师---> 初级/高级技术经理----> 技术(研发)总监--->CTO

接下来,本文从薪资、技能、职责、岗位特征等角度一一总结每个阶段。

三、初级程序员

image-20210802162404-s4sfrhs.png

3.1 基本特征

计算机、软件相关的童鞋毕业后,大部分会应聘程序员岗位(程序猿、程序猿),英文名 coder/programmer,大家常自嘲叫码农的阶段。

这个角色核心职责:把需求或产品实现为用户可用的软件产品,白话就是:敲代码,从各种 Hello world 开始。

此角色为执行级别,因为经验较少,一般需要求助别人,或与别人一起完(ban)成(zhuan)一个任务。大部分公司会安排一个师傅/老手带你。

3.2 职责(示例):

  1. 参与需求分析、设计、评审工作;
  2. 执行上级主管安排的工作任务,对负责模块进行数据库表设计、接口文档设计与开发、核心功能开发、冒烟测试 d 等;
  3. 对自己负责的工作质量进行把关,主动进行技术与业务知识总结;
  4. 负责项目的日常开发维护工作等
  5. 对线上产品出现的较为重大的故障进行分析、排查并且解决或协助解决问题,使产品恢复正常使用。
  6. 完成上级安排的其他工作

3.3 任职要求示例(以 Java 为例):

  1. JAVA 基础扎实,熟悉 JSP/Servlet、spring 、spring mvc 等;
  2. 熟悉 html、css、Jquery、Ajax 、Javascript 等前端技术; 熟悉 SQL 语法 、oracle 数据库;
  3. 熟悉 SQL 语法 、oracle 数据库;具有良好的问题分析、解决能力和沟通表达能力,积极主动,具备一定抗压能力;
  4. 具有良好的问题分析、解决能力和沟通表达能力,积极主动,具备一定抗压能力;
  5. 为人诚恳、诚实、积极、负责;
  6. 有 1 年以上经验或优秀应届毕业生;

3.4 成长

此阶段大概要经历 3 年,主要是打基础的为主,积累自己的开发经验,掌握开发技巧,熟悉开发流程,也同步锻炼自己的综合素质,比如:总结汇报、演讲、资源协调等等。

在这个阶段,如果你发现自己不适合做开发,可以转向技术之外的岗位:测试、产品、售前

这个阶段的薪资水平:3K~10K 之间,不包括大厂哦~~

四、中/高级/资深程序员

5ey2yr

4.1 基本特征

如果你在开发岗站稳脚,不出意外,你会一直往这条路上走下去,随着开发技能、业务经验、公司年限的增加,公司会给予你升职加薪的机会,你得职位也会从低-> 高-> 资深 这样的路径成长,至于所需的时间和你平时的积累努力是分不开的。

4.2 职责(示例):

  1. 主要有核心技术方案设计、封装组件、核心功能/逻辑代码开发、技术评审等工作
  2. 负责后端的模块设计和开发,并负责完成核心代码;
  3. 完成模块的设计、编码、测试工作,编写各类技术文档等;
  4. 支持解决各项目中提出的定制需求,协调人员及进度控制,把控产品的研发质量;
  5. 配合前端开发人员进行程序调试测试,最好也能掌握基本的前端开发技巧;
  6. 能够按照负责人的要求进行系统程序设计和数据库设计;
  7. 指导中初级软件工程师完成工作任务。

4.3 任职资格示例(以 Java 为例)

  1. 掌握 JAVA 语言,熟练使用 servlet、JDBC、多线程、网络、IO 等技术,熟悉常见算法及数据结构,有良好的编码习惯;
  2. 熟练使用 Spring, Spring Cloud 等开源主流框架,了解框架设计思想及其实现原理;
  3. 熟悉 Linux/Unix 系统,熟悉 Oracle、SQLServer、MySQL 等关系型数据库,SQL 功底扎实;
  4. 熟悉 Reids、MongoDB 等 NoSQL 数据库。
  5. 具备良好的识别和设计通用框架及模块的能力

4.4 成长

这个阶段,你不仅可以完成任务,开始注重代码的质量,能够写出工业级的代码。

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

此阶段你需要经历到 7、8 年左右的体验,中间要经历一段深刻自我历练的过程。

有时给人致命一击其实是心里的小蟊贼。一般人在 5 年前后遇到一个门槛,碰到天花板 + 彷徨期,或者你打心眼里不再喜欢编程,可尝试转为其它角色,如产品经理,售前售后支持等岗位,也不失为好选择。

当你做到中高级程序员,基本上组织也会让你当个小组长/主管之类的岗位,让你管理几个小组员,你的思维就要从个人思维转向团队思维了,要多思考团队何去何从。

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

工资范围:10K~30K

五、系统架构师

Obg3sj

5.1 基本特征

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

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

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

5.2 职责(示例)

  1. 需求分析:“知彼”有时比“知已”还重要。管理市场,产品等的需求,确立关键需求。坚持技术上的优秀与需求的愿景统一,提升技术负债意识,提供技术选项,风险预判,工期等解决方案。
  2. 架构设计:在产品功能中抽取中非功能的需求,由关键需求变成概念型架构。列出功能树,分层治之,如用户界面层、系统交互层,数据管理层。达成高扩展,高可用,高性能,高安全,易运维,易部署,易接入等能力。
  3. 功能设计与实现:对架构设计的底层代码级别实现。如公共核心类,接口实现,应用发现规则、接口变更等。
  4. 负责核心系统的架构设计,重构、优化现有的技术架构,及关键架构设计的落地实现;
  5. 承担业务重点、业内难点的技术攻坚,主导核心组件/服务的编码和上线;
  6. 负责架构和质量意识的布道,驱动研发过程的改进和交付质量的提升。
  7. 项目售前支持,在技术方面配合客户立项及标书规范的制定、规划设计方案、商务报价、合同相关条款等事宜;
  8. 不断优化架构设计的全局性和前瞻性,推动周边系统和相关团队完成系统架构落地,解决业务发展遇到的架构问题,持续提升系统平台能力。
  9. 强烈的自驱力和责任感,面对复杂业务问题,可以从业务和技术多角度推进,最终达成目标;

具体也可以参考:百万年薪架构师综合职业技能

5.3 任职资格示例

  1. 本科或以上学历,6 年以上工作经验,3 年以上系统架构设计经验;
  2. 掌握微服务框架、分布式架构、缓存、日志、消息等大规模集群技术;
  3. 熟悉虚拟化以及 Docker、kubernetes 等容器技术,有 3 年以上云计算设计经验者优先;
  4. 熟悉掌握 Nginx/ElasticSearch/Redis/RabbitMQ 等中间件;
  5. 主导并参与过大型项目的系统设计与研发;
  6. 深刻理解大数据处理(流计算、分布式计算、分布式文件系统、分布式存储等相关技术和实现方法,有架构和设计实践经验;
  7. 熟悉大数据解决方案包括 Hadoop、Spark、Storm、机器学习、深度学习等大数据解决方案;
  8. 精通 java、scala、python 中的一种或多种语言;
  9. 对数据敏感,有严谨的工作思路,良好的沟通能力,和团队合作精神;
  10. 高扩展性、高性能和分布式系统的实践及运维经验者优先;
  11. 有大型数据仓库实施、大数据平台数据开发经验,熟悉数据中台业务者优先。
  12. 有阿里、腾讯、字节等国内外大型互联网企业工作经验优先。

5.4 成长

成为架构师至少要 6~8 年,经历大大小小的项目。

架构下一步可以继续往技术方向深度发展,也可以往技术管理岗发展。

薪资范围:20K~40K

六、技术经理

mPc5QY

6.1 基本特征

技术经理坦率的讲,就是从高级程序员开始分化而来,一部分同学选择继续专研技术,往纵向发展,一部分同学打算觉得未来管理这条路很好,主动选择开始转型管理这个方向,于是才有里技术主管或者经理经理这个称谓。

我还是以阿里为参考,阿里的 M 代表管理方向,你可以通过下图可以清晰的看见 P 系列和 T 系列对应的级

J1ThlO

这个时候你就非常清晰了,技术经理本身就是从资深工程师发展而来,很多公司的技术经理根本没有从一线研发做起,大部分就是一个项目经理,带带项目为主,根本无法胜任刚才我讲到的技术经理的工作。

6.2(示例)

  1. 负责开发团队的日常管理,制定开发计划、任务分解、工日评估、任务安排等;
  2. 负责开发团队的人员培养,制定培养计划,形成人才梯队;
  3. 对团队所承担的项目开发进程负责,从技术上对团队提供指导;负责项目的软件开发工作及相关的技术问题的跟踪和解决;
  4. 参与公司软件产品或项目的关键性需求分析,以便于能对项目技术、框架选型做出相对比专业的决定;
  5. 深入了解公司基础平台,编写符合自身软件产品或项目的编码规范、技术文档、系统设计文档 ;
  6. 跟踪技术发展潮流,为公司新基础平台提供合理建议,在未来产品或项目中使用上;
  7. 完成直接上级安排的临时或其它工作。
  8. 从架构、框架层、平台层等技术方案设计;技术推广、技术视野、新技术引进等维度上制定;

6.3 任职资格示例

能力方面

  1. 组织能力
  2. 技术架构能力
  3. 业务分析能力
  4. 项目管理能力
  5. 沟通表达和讲演能力
  6. 培训下属的能力
  7. 风险承受能力
  8. 团队技术引领能力
    意识方面
  9. 组织能力建设意识
  10. 提高团队和个人绩效意识

七、技术总监

gvtZqH

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

7.1 职责(示例)

  1. 根据公司战略规划与年度工作计划,制定中长期技术规划,提升公司的 IT 竞争力;
  2. 负责制定公司技术管理体系,包括技术规范、业务流程、项目管理、考核机制等;
  3. 全面有效管理研发项目的实施,保证项目的进度和质量控制,并确保项目目标的按期实现;
  4. 负责研发项目的技术选型、整体框架设计评审、核心代码开发评审,制定合理的技术路线,解决系统建设,开发效率,运行质量,用户体验中的问题;
  5. 主导技术难题攻关,持续提升核心功能的性能,解决各类潜在系统技术风险,保证系统的安全、稳定、快速运行;
  6. 负责技术团队的建设与管理,包括培训指导、考核等,全面提升团队技术水平

7.2 任职资格示例

  1. 本科及以上学历,计算机及相关专业;
  2. 全栈开发者,6 年以上后端开发或系统架构师工作经验, 4 年以上技术团队管理经验;
  3. 丰富的产品分析和设计经验,有技术战略推动能力;
  4. 有较强的信息规划能力,对信息技术发展有较强的敏锐度,对公司信息化技术发展提供决策性的建议;
  5. 具备较强的团队管理能力、项目管理能力、队伍培训能力,丰富的团队管理经验,有 PMP 经验或证书为佳。

八、CTO

image-20210802163940-wwjdolv

8.1 基本特征

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

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

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

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

8.2 职责(示例)

  1. 结合公司战略规划,协助公司总裁挖掘企业信息资源、制定企业信息化战略、合理布局
    企业信息化、评估信息化对企业的价值等;
  2. 负责信息流、物流、资金流的整合,完成信息系统的选型实施,收集研究企业内外部的
    信息,为决策提供依据,负责公司整体 Oracle 全面的集成云平台和云服务的实施与推行情
    况;
  3. 协助企业完成业务流程重组,运用信息管理技术重建企业的决策体系和执行体系。不仅
    要推动企业信息化的软硬环境优化,而且要为集总裁当好参谋,与各高层管理者一起促进企
    业内外部商务环境的改善;
  4. 负责信息系统建设及正常运营使用,包括建立信息系统体系及相关管理制度、规范及业
    务流程、标准工具,并提供关于信息技术的相关咨询、培训,推动并监督信息技术资源的建
    立及充分利用;
  5. 负责研究和拟定公司未来三至五年信息化建设战略规划,落实公司信息化建设计划;跟
    进各信息化作业实施进度及质量,对信息化投入产出负责;推进信息化变被动为主动,推进
    加强公司信息化建设。
  6. 利用互联网技术进行快速数字化转型,做到制造数字化、管理数据化,并运用这些数字
    手段让企业战略做出完整的决策;
  7. 负责公司各信息系统、网络、服务器等软、硬件的正常规范运作,确保健壮性、可靠性;
    实现企业办公信息化,业务信息化,仓储物流信息化;
  8. 负责公司整体信息安全体系建设、推动和实施、检核监控;为公司提供更专业的信息安
    全服务;
  9. 负责对子公司的信息管理工作进行指导与稽核,确保地区信息化工作的顺畅;
  10. 负责部门内部人员和团队的建立,储备培养信息化体系的梯队人才;
  11. 负责完总裁交办的其它各项工作事务。

8.3 任职资格示例

  1. 全日制本科及以上学历,计算机、信息管理、通信工程相关专业,精通 JAVA,懂.NET;
  2. 精通现代企业经营管理,有较丰富的企业管理经验,有大型食品制造企业大数据系统建
    立经验优先考虑;
  3. 10 年以上信息化管理相关工作经验,综合性集团公司背景优先考虑; 有知名企业公司
    相关岗位任职经验优先考虑;
  4. 熟悉移动互联、物联网、大数据、O2O 等发展趋势,对综合型业务集团信息化建设有全
    局的认识,对行业的新技术如大数据/人工智能有一定的研究及经验;
  5. 掌握基本的 IT 软件开发技术工具,有国内外主流 ERP 系统上线实施管理经历优先考虑;
  6. 熟悉 OA、ERP、CRM、WMS 等常用信息系统,熟悉用友、SAP、Oracle 等项目实施与管理
    经 fffgg 验;
  7. 独立组织实施过大型企业 IT 项目,熟悉企业内部信息系统的架构、运作和管理;
  8. 具备丰富软件系统分析、软件系统架构经验;
  9. 具备较强的数据安全意识,保证公司信息数据安全。

8.4 成长

Tenze7

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

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

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

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

九、附录:企业各职位英文缩写

简称 释义
GM(General Manager) 总经理
VP(Vice President) 副总裁
FVP(First Vice President) 第一副总裁
AVP(Assistant Vice President) 副总裁助理
CEO(Chief Executive Officer) 首席执行官,类似总经理、总裁,是企业的法人代表
COO(Chief Operations Officer) 首席运营官,类似常务总经理
CFO(Chief Financial Officer) 首席财务官,类似财务总经理
CIO(Chief Information Officer) 首席信息官,主管企业信息的收集和发布
CTO(Chief technology officer) 首席技术官 类似总工程师
HRD(Human Resource Director) 人力资源总监
OD(Operations Director) 运营总监
MD(Marketing Director) 市场总监
OM(Operations Manager) 运作经理
PM(Production Manager) 生产经理(Product Manager)产品经理
CAO Art 艺术总监
CBO Business 商务总监
CCO Content 内容总监
CDO Development 开发总监
CGO Gonverment 政府关系
CHO Human resource 人事总监
CJO Jet 把营运指标都加一个或多个零使公司市值像火箭般上升的人
CKO Knowledge 知识总监
CLO Labour 工会主席
CMO Marketing 市场总监
CNO Negotiation 首席谈判代表
CPO Public relation 公关总监
CQO Quality control 质控总监
CRO Research 研究总监
CSO Sales 销售总监
CUO User 客户总监
CVO Valuation 评估总监
CWO Women 妇联主席
CXO 什么都可以管的不管部部长
CYO Yes 什么都点头的老好人
CZO 现在排最后,等待接班的太子
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    567 引用 • 3532 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...