前言
作为一名程序员,当亲戚问起职业的时候其实自己都不知道该如何描述,如果你说你是做Java开发或者web前端开发这一类说辞,家里人不仅听得云里雾里可能还会觉得这工作没那么好。正确的做法是回答在某某公司做工程师,这样亲戚反而一脸羡慕还觉得高大上。说白了,都说自己是程序员、工程师但是你还是不知道自己做的到底是个怎样什么职业,因为程序员的岗位实在有太多了,整理了以下岗位,一起来看看吧。
程序员
程序员,英文名coder/programmer,常自嘲叫码农的阶段,当然有些大牛也会以码农自嘲自谦。这个角色职责是把需求或产品实现为用户可用的软件产品。此职位为执行级别。另外因为经验较少,一般需要求助别人,或与别人一起完(ban)成(zhuan)一个任务。
此阶段大概要经历3年,程序员的职责如下:
- 负责公司运营系统的设计与开发工作
- 运营数据处理和分析
高级程序员
高级程序员学名工程师。到了这个level,英文名可改叫做engineer或developer。此时的功力开始增强,这与平时的积累努力是分不开的~
此时的你不仅可以完成任务,也开始注重代码的质量,能够写出工业级的代码。
你的经验可胜任模块级的系统设计,承担完成较为复杂的技术,能有效的自我管理,有帮助别人快速解决问题(trouble shooting)的能力。
此阶段需要经历到5、8年左右的体验,中间要经历一段深刻自我历练的过程。
有时给人致命一击其实是心里的小蟊贼。一般人在5年前后遇到一个门槛,碰到天花板+彷徨期,或者你打心眼里不再喜欢编程,可尝试转为其它角色,如产品经理,售前售后支持、项目经理等岗位,也不失为好选择。
当我们熬过这段儿,就会“山随平野尽,江入大荒流“,渐入佳境矣。
高级程序员定义软件功能、做开发计划推进和管理。可以主导带领几个帮手把产品规划的功能实现,你是团队中的“打手”“技术核心”,遇到难题也是你亲自攻艰克难、新技术研究等。有些高级能力已经突破、达到大成,企业基于成本考虑和能力认可等,会安排高级开发兼顾架构师、技术管理等职责,甚至特升为技术专家。
所以,一个高级程序员,他的职责很清晰:
- 负责产品核心复杂功能的方案设计、编码实现
- 负责疑难BUG分析诊断、攻关解决
- 查漏补缺、迎难而上、攻坚克难、新技术研究等
架构师
到了架构师级别,想必你已经学会降龙十八掌,可登堂入室,成为一位准(lao)专(you)家(tiao)。
我们大喊声:“单打独斗,老衲谁也不惧!“,遂开始主导或领导一众技术高手,指点武功,来设计和完成一个系统,大多是分布式、高并发、高可用的系统架构平台。
架构师的任务是为公司产品的业务问题提供高质量技术解决方案,有些团队会要求架构师能有效落地。可能每条产品线都设置了架构师,也可能多条生产品线的的后端是由一个架构师设计的平台提供。当然有些公司考虑成本等因素,会要求高级开发兼顾架构师、技术管理等职责。
通过上面架构师的部分成果,总结其职责如下:
- 需求分析:“知彼”有时比“知已”还重要。管理市场,产品等的需求,确立关键需求。坚持技术上的优秀与需求的愿景统一,提升技术负债意识,提供技术选项,风险预判,工期等解决方案。
- 架构设计:在产品功能中抽取中非功能的需求,由关键需求变成概念型架构。列出功能树,分层治之,如用户界面层、系统交互层,数据管理层。达成高扩展,高可用,高性能,高安全,易运维,易部署,易接入等能力。
- 功能设计与实现:对架构设计的底层代码级别实现。如公共核心类,接口实现,应用发现规则、接口变更等。
技术经理
人生就是不断上升的过程,你已经到达经理的层次了。如今的你,需要不断提高领导力,需要定期召开团队会议讨论问题。
首先我们要更加自信,在工作中显示自己的功力,给讲话增添力量。如:“本次项目虽然有很大的困难,我们也需苦战到底。当然示先垂范,身先士卒,方能成功!”
技术经理有时候也可能叫系统分析员,一些小公司可能会整个公司或者部门有一个技术经理。技术经理承担的角色主要是系统分析、架构搭建、系统构建、代码走查等工作,如果说项目经理是总统,那么技术经理就是总理。当然不是所有公司都是这样的,有些公司项目经理是不管技术团队的,只做需求、进度和同客户沟通,那么这个时候的项目经理就好像工厂里的跟单人员了,这种情况在外包公司、偏销售型公司比较多;有些公司有些产品或项目技术经理、项目经理一肩挑,有些项目经理兼技术经理,弊端时项目经理对技术把控和计划排期需要技术侧协同,有些技术转型项目经理对技术的把控和计划排期时优势,但是也需要增强计划和资源规划等能力。
对于技术经理来说,着重于技术方面,你需要知道某种功能用哪些技术合 适,需要知道某项功能需要多长的开发时间等。同时,技术经理也应该承担提高团队整体技术水平的工作。
你需要和大家站在一起,因为人们也都有解决问题的能力,更需要有以下的能力与责任:
- 任务管理:开发工作量评估、订立开发流程、分配和追踪开发任务
- 质量管理:代码review、开发风险判断/报告/协调解决
- 效率提升:代码底层研发和培训、最佳代码实践规范总结与推广、自动化生产工具、自动化部署工具
- 技术能力提升:招聘面试、试题主拟、新人指导、项目复盘与改进
技术总监
如果一个研发团队超过20人,有多条产品线或业务量很大,这时已经有多个技术经理在负责每个业务,这时需要一位技术总监。
技术总监的职责:
- 组建平台研发部,与架构师共建软件公共平台,方便各条产品业务线研发。
- 通过技术平台、通过高一层的职权,管理和协调公司各个部门与本部门各条线。现在每个产品线都应该有合格的技术经理和高级程序员。
CTO
首席技术官,英文名Chief Technology Officer。是与CEO、COO、CFO同级的领导者,是技术和业务融合的领袖。
国内与国外对CTO的定义有些许不同。
美国对CTO的职责是设计公司三年内的产品和服务的技术发展方向,较少参与技术团队的日常管理和项目管理事务。基本是前瞻性的策略思维,比如Google的谢尔盖.布林一直保持对技术方向的敏锐,比如无人驾驶汽车,人工智能等走向。
在国内,CTO大部分则偏重于研发管理,相当于技术总监的Plus版。它相当于美国互联网公司常设的工程师副总裁+CTO的工作并集。但总体事情比美国的CTO层次低,大部分CTO的是领导技术团队开发各类产品,解决技术问题,管理不同的项目,排期交付。还有一部分的职能类似于架构师或总工程师,作为技术侧的权威,为下一步的发展方向 做研究探讨,为CEO提供建设型决定参考。
CTO的职责如下列表:
- 技术愿景:识别新技术、利用新技术、整合新技术、驱动新技术。驱动商业战略、驱动产品战略
- 技术架构:建立主营业务中的技术架构与实施模式,建立技术体系标准
- 流程制度:建立高质量,高效率的技术团队。健全的项目管理体系;完善的员工能力发展体系
- 知识培训:建立以研发内容为主的知识库管理体系、技术分享与技术文化的体系
- 业务支撑:与其它部门的沟通协作,如HR、市场、BD、财务、客服等提供技术管理接口;在产品技术层面能够领先于业内同行
- 影响力:在公司内部与行业中具备一定影响力与口碑
- 视野&格局&执行力:看待问题全面,具有强大的学习力,具备技术前瞻力,敏锐的市场嗅觉,战略落地的能力
总结
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(Project 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: 现在排最后,等待接班的太子