`

程序员、架构师、技术经理、技术总监和CTO

 
阅读更多
摘自:http://yangactive.iteye.com/blog/2392458
程序员

  程序员,英文名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职位区别.doc

    进一步发展,技术总监和首席架构师的角色逐渐明晰,分别负责技术平台的建设和架构设计,以支持更大规模的产品线和团队协作。而CTO则站在更高的层面,统筹全局,确保技术的战略地位与公司的长远发展相吻合。

    谈谈程序员以后的出路

    随着职业发展,项目经理可以进一步晋升为技术总监、研发总监,甚至首席技术官(CTO),负责整个公司的技术战略和运营。 对于不同级别的程序员,有不同的成长建议: - 初级程序员:通过参与项目,全面了解项目流程,...

    程序员道路的十个层次

    架构师负责整个系统的架构设计,考虑性能、扩展性和安全性等问题。他们能从宏观角度把握项目,选择合适的技术栈,指导团队实现高效可靠的系统。 第六层:技术专家 技术专家在某一领域有深厚的专业知识,如数据库、...

    技术知识图谱.png

    列出java技术人员各个职位层次需要具备的知识图谱,职位包括:程序员、项目经理、技术经理、技术总监、CTO。每个层次列出应该具备的知识图

    程序员成长的十层楼!!!

    第六层是“架构师”,架构师不仅要有着深厚的技术背景,更要有大局观和前瞻性。他们负责构建复杂的系统架构,优化系统的性能与安全性。架构师的工作往往关系到整个项目的成败,因此需要极强的责任心和决策能力。 到...

    漫谈程序员职场修炼.pdf

    纯技术路线的程序员,往往专注于技术的深化与精进,从初级工程师一路攀升至架构师,甚至技术总监等高级职位。技术管理路线的程序员,则是在积累了一定的技术资本后,选择转向技术管理岗位,比如担任技术经理、CTO等...

    35丨技术进阶之道:你和这个星球最顶级的程序员差几个等级?.pdf

    许多人都梦想成为架构师、技术总监或CTO,但如何实现这些目标并不总是清晰明了。技术进阶的关键在于理解行业的生态和等级体系,以及如何在这个体系中提升自己的影响力和技术能力。 软件技术的生态江湖是金字塔形的...

    程序员的发展方向 职业发展方向

    - **技术总监(CTO)**:负责整个公司的技术战略规划与实施。 #### 二、管理路线:转型为项目管理者 另一条常见的发展路径是从技术岗转向管理岗位。这条路线适合那些对团队管理和项目管理感兴趣的人。在积累了足够...

    软件研发工程师(程序员)怎么规划自己的职业发展方向

    发展的路径不外乎程序员-系统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO.哪一条发展的路软件研发工程师(程序员)怎么规划自己的职业发展方向 程序工作二...

    职业规划 2.1:通过四大象限和职业路线图理解程序员的主要职业发展路径(1).md

    专家线同样要求程序员从初级开发做起,通过积累和深化技术能力,最终可能晋升为架构师或行业大牛。架构师需要对各类技术解决方案都有深入了解,并能够进行优化选择。而行业大牛,例如技术布道师,则通过参加行业会议...

    程序员有哪些发展方向

    - **职责**:技术经理负责系统的设计和技术实现,确保技术解决方案符合业务需求。 - **技能要求**: - 系统分析:理解业务需求,并将其转化为技术方案。 - 架构设计:设计高效、可扩展的技术架构。 - 技术选型:...

    程序员的出路

    - **职业定位**:朝着技术总监、研发总监乃至CTO的目标努力。 #### 总结 程序员的职业发展是一个持续探索和自我提升的过程。无论处于哪个阶段,保持学习的热情、不断提升自身技能、积极寻找合适的跳槽机会都是非常...

    程序员就是利用已有的工具来根据问题解决这些问题的人

    在职业路径上,程序员可以逐步发展成为技术经理、项目经理、产品经理等角色,甚至上升到CTO或产品总监等高级管理职位。 在IT行业中,涵盖了各种专业角色,包括但不限于软件工程师、硬件工程师、数据库工程师、运维...

    程序员的十层楼

    - **第六层:技术总监/CTO**:企业高层管理人员,负责制定公司的技术发展战略。 - **第七层至第十层**:随着层级的提高,将更多关注跨学科知识融合、全球视野下的技术创新及团队建设等综合能力。 ### 结论 通过以上...

    本科软件工程方向(共27张PPT).pptx

    * 技术总监(CTO):具备一定的技术总监能力和领导能力。 * 公司经理(CEO):具备一定的公司管理能力和领导能力。 软件工程师的职业发展道路还包括销售、技术支持等方面。 软件工程方向的主要企业包括: * 微软...

    技术人员成长的修炼之道

    架构师负责架构设计、实现和评审;而CTO则需要制定技术产品战略,提升技术竞争力。避免低效的行为习惯,如目标与行动脱节、计划不够具体、只输入不输出、过度加班、无效社交等,是成为高效能人的关键。 在沟通技巧...

    软件开发团队中各个成员的英文简称.doc

    - 技术总监/经理(CTO/VP Engineering) - 信息技术经理(IT Manager) - 项目经理(Project Manager) - 系统分析员(System Analyst) - 软件工程师(Software Engineer) - 硬件工程师(Hardware Engineer) - ...

    七周七语言:理解多种编程范型

    白明 Neusoft某开发部技术总监,拥有多年电信级软件开发经验;资深C程序员,对Common Lisp、Python等小众语言也有涉猎;对开源软件有着浓厚的兴趣,曾先后贡献了lcut、cbehave等多个工具框架;喜好写博客...

Global site tag (gtag.js) - Google Analytics