程序员

程序员,英文名coder/programmer,大家常自嘲叫码农的阶段。这个角色职责是把需求或产品实现为用户可用的软件产品。

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

此阶段大概要经历3年,程序员的职责如下:

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

2、运营数据处理和分析

高级程序员

高级程序员学名工程师。到了这个level,英文名可改叫做engineer或developer。此时你的功力开始增强,这与你平时的积累努力是分不开的,祝贺你~

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

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

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

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

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

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

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

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

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

架构师

到了架构师级别,想必你已经学会降龙十八掌,可登堂入世,成为一位准(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、视野&格局&执行力:看待问题全面,具有强大的学习力,具备技术前瞻力,敏锐的市场嗅觉,战略落地的能力

小结

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

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

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

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

程序员、架构师、技术经理、技术总监和CTO有啥区别?相关推荐

  1. 2022最新Java高级程序员架构师面试题及答案

    1. Java如何开启线程?怎么保证线程安全? 答:线程与进程的区别:进程是操作系统进行资源分配的最小单元.线程是操作系统进行任务分配的最小单元,线程隶属于进程. 如何开启线程?1. 继承Thread ...

  2. iOS 程序员、架构师、技术经理、技术总监和CTO有啥区别?

    //联系人:石虎  QQ: 1224614774 昵称:嗡嘛呢叭咪哄 程序员 程序员,英文名coder/programmer,大家常自嘲叫码农的阶段.这个角色职责是把需求或产品实现为用户可用的软件产品 ...

  3. 高级程序员、研发Leader、技术总监、首席架构师、CTO的区别

    一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员. 你定义功能.你做计划推进和管理,他可 ...

  4. 高级程序员、研发Leader、技术总监、首席架构师、CTO的职责

    我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 作者 | 阿朱 来源 | 微信公众号"阿朱说" 经常有创 ...

  5. web全栈架构师所需技术栈_统一架构–一种构建全栈应用程序的简单方法

    web全栈架构师所需技术栈 Modern full-stack apps – like single-page apps or mobile apps – usually have six layer ...

  6. 1 张图,拆解阿里 P8高级架构师必会技术栈!

    大家都知道,阿里P8高级技术专家,基本上是一线技术人能达到的最高职级,也是很多程序员追求的目标.达到年入百万的P8 Java高级架构师级别,不仅要具备优秀的编程能力和系统设计能力,在技术视野和业务洞察 ...

  7. 动力节点『lol版』Java学习路线图(七)架构师提升必备技术点

    七.神秘之地的筹谋 架构师需要学习技术 神秘的班德尔城,洒脱不羁的约德尔人.作为符文之地最神秘的城邦,约德尔们好整以暇的看着大陆上的各种算计.争夺乃至战争. "喜欢这世道纷扰,我却悠然自得& ...

  8. 我在经网的日子---从1个程序员开始建立的规范技术团队

    讲述一段经历,总结一个从1个程序员开始建立的规范技术团队! 经网,一个立足于湖南的互联网公司. 2006年,以"湖南经济网"的名字进入网络新闻传媒界,2007年底,平均日IP20万 ...

  9. java程序员需要会前端吗_一个后端程序员,需要掌握前端技术吗?

    一个后端程序员,需要掌握前端技术吗? JSP时代 8年前,刚刚进入编程这个行业,当时的Web开发使用古老的SSH框架+JSP.那个时候,几乎所有的Java程序员都要懂得如何写JavaScript.如何 ...

最新文章

  1. 信度效度难度区分度是什么意思_高考试题的效度信度区分度难度什么意思?
  2. 进入全真互联网——音视频通信的技术变革
  3. ScrollView中嵌入Listview,当item高度不一样的时候,item展示不全问题
  4. PAT A 1118. Birds in Forest (25)【并查集】
  5. ssd训练自己数据集
  6. 统计学基础一:基础概念
  7. 做网上商城项目的一点记录
  8. 【[USACO13NOV]没有找零No Change】
  9. 监管大屏系统_“警视” 警务情指一体大屏可视化决策系统
  10. android webview 3d,Unity3d Android的web视图没有显示_webview_开发99编程知识库
  11. SpringBoot+Vue项目上手
  12. ad logon hour
  13. nRF24L01无线通信模块使用简介
  14. 安装Office 2016出现 Office 16 Click-to-Run Extensibility Component
  15. 《基于海思35xx nnie引擎进行经典目标检测算法模型推理》视频课程介绍
  16. 【统计学】Python计算并绘制样本数据的经验分布函数
  17. Citrix 桌面虚拟化解决方案与VMware桌面虚拟化解决方案对比
  18. 《系统架构设计师教程》 第一章:绪论
  19. 使用XDoclet生成代码
  20. openmv扫码控制步进电机,模拟一种无接触式电梯

热门文章

  1. 100天精通Andriod逆向——第2天:Android基础知识和jadx的使用
  2. com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException UNAVAILABLE io exception
  3. 转载 --史上最全数学符号、公式的英文读法,干货满满!
  4. 如何使用谷歌浏览器Chrome把整个网页保存成图片
  5. sublime text3设置快捷键在浏览器中打开
  6. cad图片怎么转换成pdf格式
  7. 电信物联网平台,java后台对接电信北向应用,订阅平台消息
  8. 若重新启动ratel,需确定是否还存在僵死进程
  9. kubernetes资源管理平台ratel
  10. 大厂如何开发和部署前端代码?淘宝8年案例解读