一、高级程序员
如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员。
你定义功能、你做计划推进和管理,他可以带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、组织与人才建设:公司文化和价值观的传承;研发专业族团队梯队建制建设、研发管理族团队梯队建制建设;创建创新激发机制,激发研发人创新向前发展,激发黑马人脱颖而出
相关推荐
另还有企培专家课程:设计理念和开发,面向企业架构师和中层管理人员,详细描述了IT技术管理、敏捷开发流程、DDD实践、部门管理等内容。 更多,深度学习、大数据等全套课件,详细私信留言(非免费)
另还有企培专家课程:设计理念和开发,面向企业架构师和中层管理人员,详细描述了IT技术管理、敏捷开发流程、DDD实践、部门管理等内容。 更多,深度学习、大数据等全套课件,详细私信留言(非免费)
另还有企培专家课程:设计理念和开发,面向企业架构师和中层管理人员,详细描述了IT技术管理、敏捷开发流程、DDD实践、部门管理等内容。 更多,深度学习、大数据等全套课件,详细私信留言(非免费)
在IT行业中,Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下更新部分网页内容的技术。这个技术在实现交互式、动态用户界面时扮演着重要角色,尤其是在处理部门与人员选择这样的场景中。...
【北京IT服务行业Java架构师...总结起来,北京IT服务行业的Java架构师不仅需要扎实的技术基础,还需要具备技术领导力和团队协作能力,他们不仅是技术的创新者,也是团队的灵魂人物,引领着IT项目的成功实施和持续优化。
- **IT组织架构**:根据企业的实际需求,设计合理的组织结构,明确各部门职责。 - **人员配置**:基于组织架构的需求,合理配置人员,确保各项职能得到充分履行。 - **流程与制度**:建立和完善相关的流程与制度...
在IT行业中,从一名程序员成功转型为架构师是许多技术人员的职业发展目标。系统架构设计程序员向架构师转型之路是一项艰巨但充满挑战的任务,涉及到技术深度、广度、沟通能力以及业务理解等多个方面。以下是对这一...
【Java架构师(IT)岗位...总之,Java架构师在IT服务行业中扮演着连接技术创新与业务需求的关键角色,他们通过高超的技术能力和领导力,推动企业的技术进步,保障系统的稳定性和效率,同时也培养和引导团队的技术成长。
在IT行业中,Silverlight是一种由微软开发的富互联网应用程序(RIA)平台,它结合了XAML、.NET Framework和WPF的技术,为Web应用提供丰富的多媒体体验和交互性设计。本实例代码“Silverlight中可拖拽部门人员实例...
在IT行业中,"收发信件根据部门选人员功能"是一项常见的需求,尤其在企业级通信系统中。这个功能主要用于提高工作效率,确保信息传递的准确性和便捷性。它允许用户在发送或接收邮件时,根据不同的部门来筛选并选择收...
IT通讯软件及数据智能分析行业,是当今社会发展和科技进步的产物,主要聚焦于软件开发、数据分析、通讯服务与技术革新等领域。本分析报告从市场规模、公司分布、市场前景以及人力成本等多个维度深入剖析了该行业的...
首先,软件研发是IT行业的核心组成部分,它包括了软件的设计和实现。RD(Research and Development)是这个领域的主要角色,他们既是软件的设计者,也是实现者。新入行的工程师往往从实现工作开始,逐步积累经验,...
1. **IT管控模式设计**:IT管控模式的构建是基于对各IT部门的职责划分,包括组织架构、岗位职责、人员配置和分布,以及管控流程。这一部分强调了集中管理核心信息技术职能的重要性,通过统一的IT管理规范和标准,以...
在IT行业中,构建合理的技术等级体系以及明确的职业发展通道对于激励员工、提升团队效率和保持组织竞争力至关重要。本文将基于给定的文件信息——“中型研发团队技术等级划分及团队员工成长通道示意”——来深入探讨...
系统架构设计师在IT行业中扮演着至关重要的角色,他们是软件开发过程中的领航者,负责设计和规划复杂的软件系统,确保系统的稳定性、可维护性和扩展性。这个职业并不是简单的画框图,而是需要深厚的技术底蕴、广泛的...
### 集团企业IT信息化业务...通过上述详细的分析与规划,本方案旨在为集团企业提供一个全面、系统化的IT信息化业务架构设计方案,不仅能够解决当前面临的信息化难题,还能为未来的业务拓展和技术创新打下坚实的基础。
在IT行业的招聘过程中,银行IT部门的笔试环节是求职者必须面对的重要一关。这份"各银行IT部门岗位笔试题汇总"提供了丰富的题库资源,旨在帮助应聘者全面准备,提高通过率。以下是对这份资料中可能涉及的知识点的详细...
在建立售前工程师基本薪酬体系结构过程中,要充分考虑售前工程师在本行业从业年限及行业经验积累、技术能力、个人综合能力,主要按能力付酬,不能仅按照销售业绩付酬,不能过分强调薪酬的变动性,而应当建立一套以...
- 采用行业内的先进技术,保持IT架构的技术领先优势。 - 设计可扩展的架构体系,以便于应对未来的业务变化和发展。 - 预留足够的技术接口和数据接口,便于后续技术更新和服务整合。 - **数据安全与隐私保护要求*...