IT 行业有多个方向, 产品, 运营, 技术...... 而技术方向也有着许多的岗位, 对于零基础想要学习 IT 技术的人来说, 可能不是很了解这些.
有句话叫, 不想当 CTO 的技术开发, 不是好程序员. 那么从一个普通程序员到顶级的 CTO 都要经历哪些关键阶段, 又都需要具备怎样的工作能力呢?
今天, 小编带大家了解一下.
01
程序员
程序员, 大家常自嘲叫码农的阶段. 这个角色职责是把需求或产品实现为用户可用的软件产品.
此职位为执行级别. 另外因为经验较少, 一般需要求助别人, 或与别人一起完成一个任务.
此阶段大概要经历 3 年, 程序员的职责如下:
负责公司运营系统的设计与开发工作
运营数据处理和分析
image
02
高级程序员
高级程序员, 学名工程师. 到了这个水平, 你的技术开始增强, 这与你平时的积累努力是分不开的.
此时的你不仅可以完成任务, 开始注重代码的质量, 能够写出工业级的代码.
你的经验可胜任模块级的系统设计, 承担完成较为复杂的技术, 能有效的自我管理, 有帮助别人快速解决问题的能力.
此阶段你需要经历到 7,8 年左右的时间, 中间要经历一段深刻自我历练的过程.
一般人在入行 5 年前后遇到一个门槛, 碰到天花板与彷徨期, 或者你打心眼里不在喜欢编程, 可尝试转为其它角色, 如产品经理, 售前售后支持等岗位, 也不失为好选择.
当我们熬过这阶段, 就会渐入佳境了.
高级程序员定义软件功能, 做开发计划推进和管理. 可以带几个帮手把产品规划的功能实现, 你是团队中的 "大手", 遇到难题也是你亲自攻艰克难.
所以, 一个高级程序员, 他的职责很清晰:
负责产品核心复杂功能的方案设计, 编码实现
负责疑难 BUG 分析诊断, 攻关解决
03
架构师
到了架构师级别, 你已经成为一位准专家了.
开始领导一众技术高手, 来设计和完成一个系统, 大多是分布式, 高并发的系统架构平台.
架构师的任务是为公司产品的业务问题提供高质量技术解决方案. 可能每条产品线都设置了架构师, 也可能多条生产品线的的后端是由一个架构师设计的平台提供.
通过上面架构师的部分成果, 总结其职责如下:
需求分析:****"知彼" 有时比 "知已" 还重要. 管理市场, 产品等的需求, 确立关键需求. 坚持技术上的优秀与需求的愿景统一, 提升技术负债意识, 提供技术选项, 风险预判, 工期等解决方案.
架构设计:**** 在产品功能中抽取中非功能的需求, 由关键需求变成概念型架构. 列出功能树, 分层治之, 如用户界面层, 系统交互层, 数据管理层. 达成高扩展, 高可用, 高性能, 高安全, 易运维, 易部署, 易接入等能力.
功能设计与实现:**** 对架构设计的底层代码级别实现. 如公共核心类, 接口实现, 应用发现规则, 接口变更等.
image
04
技术经理
人生就是不断上升的过程, 你已经到达经理的层次了. 如今的你, 需要不断提高领导力, 需要定期召开团队会议讨论问题.
技术经理有时候也可能叫系统分析员, 一些小公司可能会整个公司或者部门有一个技术经理. 技术经理承担的角色主要是系统分析, 架构搭建, 系统构建, 代 码走查等工作.
当然不是所有公司都是这样的, 有些公司项目经理是不管技术团队的, 只做需求, 进度和同客户沟通, 那么这个时候的项目经理就好像工厂里的跟单人员了, 这种情况在外包公司比较多.
对于技术经理来说, 着重于技术方面, 你需要知道某种功能用哪些技术合适, 需要知道某项功能需要多长的开发时间等. 同时, 技术经理也应该承担提高团队整体技术水平的工作.
你需要和大家站在一起, 因为人们也都有解决问题的能力, 更需要有以下的能力与责任:
任务管理:**** 开发工作量评估, 定立开发流程, 分配和追踪开发任务
质量管理:**** 代码 review, 开发风险判断 / 报告 / 协调解决
效率提升:**** 代码底层研发和培训, 最佳代码实践规范总结与推广, 自动化生产工具, 自动化部署工具
技术能力提升:**** 招聘面试, 试题主拟, 新人指导, 项目复盘与改进
05
技术总监
如果一个研发团队超过 20 人, 有多条产品线或业务量很大, 这时已经有多个技术经理在负责每个业务, 这时需要一位技术总监.
技术总监的职责:
组建平台研发部, 与架构师共建软件公共平台, 方便各条产品业务线研发.
通过技术平台, 通过高一层的职权, 管理和协调公司各个部门与本部门各条线. 现在每个产品线都应该有合格的技术经理和高级程序员.
image
06
CTO: 首席技术官
首席技术官是与 CEO,COO,CFO 同级的领导者, 是技术和业务融合的领袖.
在国内, CTO 大部分则偏重于研发管理, 相当于技术总监的 Plus 版. 大部分 CTO 的是领导技术团队开发各类产品, 解决技术问题, 管理不同的项目, 排期交付. 还有一部分的职能类似于架构师或总工程师, 作为技术侧的权威, 为下一步的发展方向做研究探讨, 为 CEO 提供建设型决定参考.
CTO 的职责如下列表:
技术愿景:**** 识别新技术, 利用新技术, 整合新技术, 驱动新技术. 驱动商业战略, 驱动产品战略
技术架构:**** 建立主营业务中的技术架构与实施模式, 建立技术体系标准
流程制度:**** 建立高质量, 高效率的技术团队. 健全的项目管理体系; 完善的员工能力发展体系
知识培训:**** 建立以研发内容为主的知识库管理体系, 技术分享与技术文化的体系
业务支撑:**** 与其它部门的沟通协作, 如 HR, 市场, BD, 财务, 客服等提供技术管理接口; 在产品技术层面能够领先于业内同行
影响力:**** 在公司内部与行业中具备一定影响力与口碑
视野 & 格局 & 执行力:**** 看待问题全面, 具有强大的学习力, 具备技术前瞻力, 敏锐的市场嗅觉, 战略落地的能力
从普通的程序员到 CTO, 需要的不仅是时间, 更重要的是不断学习, 程序员的职业晋升每提升一步都需要学习更多的东西!
多年编程经验, 今年 1 月整理了一批 2019 年最新 web 前端教学视频, 不论是零基础想要学习前端还是学完在工作想要提升自己, 这些资料都会给你带来帮助, 从 html 到各种框架, 帮助所有想要学好前端的同学, 学习规划, 学习路线, 学习资料, 问题解答. 只要加入 Web 前端学习交流 qun:296,212,562, 即可免费获取, 学习不怕从零开始, 就怕从不开始.
来源: http://www.jianshu.com/p/2d84eb6a523e