一、高级程序员

如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员。

你定义功能、你做计划推进和管理,他可以带1-2个副手把你规划的功能实现了,他是主力干活者,有技术难题也是他来亲自攻克解决。

所以,一个高级程序员,他的职责很清晰:
1、负责核心复杂功能的实现方案设计、编码实现
2、负责疑难BUG分析诊断、攻关解决

二、研发Leader

公司再长大些。如果你就有一个研发团队(含产品/开发/测试),你就一套主产品,而且你的研发团队小于15人,那么你需要的就是一个研发Leader。

因为你已经有了1-2个高级程序员,核心难题攻克和核心功能研发进度与质量保证,已经可以靠他们自身能力解决掉了。那么你需要研发Leader干什么。

研发Leader的职责是:

1、团队任务管理:开发工作量评估、开发任务分配

2、团队生产质量提升:代码审核、开发风险识别/报告/协调解决

3、团队生产力提升:代码模板研发与推广、最佳实践规范总结与推广、自动化研发生产工具研发与推广

4、团队专业力提升:招聘面试、新人指导、领导复盘总结改进

三、技术总监

如果你的研发团队超过20人了,而且有多套主打产品线了,你可能已经有了多个研发Leader了,那么你需要一个技术总监。

技术总监的职责:

1、组建平台研发部,搭建公共技术平台,方便上面各条产品线开发。

2、通过技术平台、通过高一层的职权,管理和协调各个产品线组。现在每个产品线都应该有合格的研发Leader和高级程序员了。

四、首席架构师

因为你已经有了技术总监了,所以技术平台不错了。技术平台和各条产品线的协调互动,也是技术总监管着。

因为你已经有了各个产品线的高级程序员,他们在靠个人能力维持着核心功能模块的开发进度和代码质量。

因为你已经有了研发Leader,所以代码模板研发与推广、最佳实践规范总结与推广,这些事都已经在日常按份内职责开展了。

那么,啥时候需要首席架构师啊。

也就是说,需要分离管理族和专业族了。你会发现,这个阶段你的研发团队已经超过100来人了,需要有人专注来做架构规划、设计、日常维护。不能让研发总监和研发Leader又做管理又做技术一股脑都扔给他们,你就等着总结果产出。这是不对的。

需要从技术总监和研发Leader身上剥离职责了。让技术总监和研发Leader偏项目管理(管理族),把各个模块之间的架构设计工作,独立出一个岗位,就是架构师,来负责。

每个产品线都有架构师,在技术平台部门也有技术平台的架构师。那么,技术平台和业务产品线的架构互动,就是首席架构师在衔接了。让技术平台架构能够和产品业务系统的架构互相促进和支撑,就是首席架构师的份内之事。

架构师的职责是:

1、架构分析:从功能性需求中识别出需要增加的非功能性需求,好满足性能、可扩展、解耦/集成、安全、可运维、高可用、易部署、易更新。并且识别完非功能型需求,还要做技术选型、技术架构风险识别、技术实现工作量评估

2、架构设计与实现:非功能性模块的架构设计、接口设计、代码实现。所以需要的是有代码实现能力还要有架构思维的工程师,不需要画PPT的工程师

3、业务架构设计与实现:需要对跨系统的接口进行识别、实现、维护,需要对能写成公共代码类库的进行分析、识别、接口设计、实现、变更维护。

4、重构:架构师需要经常做Bug分析、非模板性和公共类库代码检查,以发现代码腐烂程度,以发现还有哪些代码没有做很好的架构与精心的代码设计。所以重构是经常性维护发生的,不是攒到某一刻动大手术,甚至推翻重做,那就不叫重构了。

五、CTO

你把架构师团队组织建立完成,再往大长,你才需要真正意义上的CTO了。否则你一开始就招真正的CTO,他也不满意,你的期望也不对。现在你的期望也对了,他的能力模型也正好和你的期望职能匹配了,你能给他的和他想要的也正好匹配了。

有的公司有软件系统产品副总裁,也有软件系统技术副总裁,而且把软件系统技术副总裁叫CTO,软件系统产品副总裁叫产品VP。这就很怪异。

真正的CTO,是软件产品和技术是统一管理的。

他做的事情,是商业、产品、技术、管理、团队相平衡的综合统管。

CTO的职责:

1、业绩达成:洞察客户需求,捕捉商业机会,规划技术产品,通过技术产品领导业务增长,有清晰的战略规划、主攻方向,带领团队实现组织目标

2、前沿与平台:到这个研发规模规模级别了,一定要有专门的团队做技术应用创新探索和前沿技术预研。而且要和技术平台团队、应用研发团队形成很好的联动作用,让创新原型试点能够很平滑的融入商业平台再让应用研发线规模化的使用起来。大量的前沿探索都死在了内部,做完试点就停滞了,这就需要CTO做好整体的衔接推动工作。

3、研发过程管理:站在全局立场来端到端改进业务流程,为业务增长提供方便

4、组织与人才建设:公司文化和价值观的传承;研发专业族团队梯队建制建设、研发管理族团队梯队建制建设;创建创新激发机制,激发研发人创新向前发展,激发黑马人脱颖而出。

CTO、首席架构师、技术总监、研发Leader、高级程序员的职责相关推荐

  1. 技术总监谈好的程序员如何写代码[转]

    技术总监谈好的程序员如何写代码[转] 要判断一个程序员是不是好的程序员,主要看他写的代码,因为程序员最重要的事是写代码.          即便不去理解代码的意图,只要看一眼,好的程序员写的代码与差的 ...

  2. 十一年架构师教你怎么打造PHP程序员简历

    bilibili是国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主.大家可以在这里找到许多欢乐. 哔哩哔哩是一个好网站,不仅可以找到欢乐,也能够给你提供学习途径.闲着 ...

  3. IBM总架构师寇卫东:话说程序员的职业生涯-IT程序人生-职业生涯规划

    初级程序员和高级程序员时期,都属于职业生涯发展的第一阶段,我们可以称之为黄金时期.这阶段程序员的年龄在20~35岁之间,因为年轻,所以更善于学习,而且体力充沛,很多走过这个阶段的程序员有过通宵工作的经 ...

  4. 架构 php_十年PHP架构师的成长之路,程序员必备

    不知不觉自己做开发已经十年了,这十年中我获得了技术能力.CTO.大公司的经历.但再仔细一想,这十年中我至少浪费了五年时间走了很多弯路,这五年可以足够让自己成长为一个优秀的程序员,我用这五年时间和很多程 ...

  5. 阿里P7架构师,带你点亮程序员蜕变之路

    前言: Java是现阶段中国互联网公司中,覆盖度最广的研发语言. 掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地. 有不少朋友问,成为Java架构师除了 ...

  6. 技术总监谈好的程序员如何写代码

    要判断一个程序员是不是好的程序员,主要看他写的代码,因为程序员最重要的事是写代码. 即便不去理解代码的意图,只要看一眼,好的程序员写的代码与差的程序员写的代码基本上就可以看出来.好的程序员写的代码,整 ...

  7. 阿里P8架构师谈:2019的Java程序员要怎么提升?拿30K高薪?

    最近去阿里的菜鸟国际做了一次面试交流,发现大公司对于面试者的知识结构考核非常严谨,可以作为我们日常工作学习的指导.虽然很多人说面试问到的东西在实际工作中很少用到,甚至有「面试造火箭,工作拧螺丝」的说法 ...

  8. Akamai首席架构师Will:WebRTC、QUIC、DASH、AV1都前景可观

    William Robert Law是Akamai媒体业务群的首席架构师,自从去年邀请他参加LiveVideoStackCon 2017后,我们就亲切的称他Will.在对他的邮件采访中,他谈到了中美科 ...

  9. 从高级程序员到 CTO 的 4 次能力跃迁!

    见字如面,我是军哥! 常常会被问到这样的问题,CTO.架构师.技术经理和高级程序员到底有什么区别呢?多大规模的技术团队应该配备什么级别的技术负责人呢?被问多了就想梳理思路写下来,另外文末有今天晚上直播 ...

  10. java技术自我_2020年Java程序员如何进行自我提升?

    作为一名java程序员,我认为我们都会从低级走向高级的.一般java程序员的职业路径为java工程师-高级工程师-项目经理-架构师-技术总监,也会有一些程序员选择创业的.可不管发展到哪一个阶段,随着工 ...

最新文章

  1. .Net Core扩展 SharpPlugs简单上手
  2. 使用java.util.LinkedList模拟实现内存页面置换算法--LRU算法
  3. 为什么现有的工作制度 对 上班族不利
  4. SpringBoot中怎样基于slf4j封装日志类输出日志
  5. Vue源码后记-更多options参数(1)
  6. Cell子刊:盗梦空间成真,科学家成功进入他人梦境,并与之“交流对话”
  7. 【华为云技术分享】华为云ServiceStage-企业级微服务开发框架利器
  8. iOS TableView多级列表
  9. 跨域问题,解决方案-Nginx反向代理
  10. C#学习基础---BrowsableAttribute.Browsable属性
  11. 【MSP是什么】最佳管理实践指南
  12. The binding handle is invalid 绑定句柄无效
  13. Linux实验一:安装配置Vmware-Linux实验环境
  14. 第二章:用Python对不同的商品销售数据进行预测分析
  15. 账务实时交易系统设计思考
  16. 计算机中键盘可以共享吗,步骤详解什么是双模键盘(两台电脑共用一套鼠标键盘)...
  17. 常识之外:全表扫描为何产生大量 db file sequential read 单块读?
  18. 品牌如何正确联动B站UP主“恰饭视频”,最近一支不像恰饭视频的作品在B站火了
  19. android耳机检测驱动,[RK3288][Android6.0] 有线耳机驱动小结
  20. 开发岗校招求职攻略——面试准备(7.2胸有成竹-技术面技巧)

热门文章

  1. RS232 与 RS485的区别总结
  2. ElK STACK的简要分析
  3. SAP 信息记录条件 无法维护多个条件
  4. UE4 用spline画正圆
  5. C#替换方向性的 Unicode 控制字符,解决无法匹配iphone 通讯录复制的手机号码问题
  6. vue resource的应用
  7. c语言中十六进制减法,二进制十进制十六进制
  8. 反射之前奏Oracle升级版
  9. 微信公众号 scanQRCode:fail, the permission value is offline verifying
  10. 【docker】win10系统下docker容器安装及使用(二):docker通过commit及dockerfile进行创建