技术管理 | 作为 Tech Lead 应该操心什么?丨IDCF
共 5980字,需浏览 12分钟
·
2024-07-16 07:58
点这里👇星标关注,获取最新资讯!
01认清Tech Lead的位置
对于软件工程师做技术经理是一件好的事情,可以从另外一个更高的角度观察自己现在正在做的事情。
成长为技术经理并不是一件很值得得意的事情,我接触到的技术经理压力都非常大,所以很多人还是愿意做一个纯粹的开发。软件开发行业和其他行业有一个不同的地方就是,会出现 Tech Lead 的角色没人愿意做的现象。
那么 Tech Lead 所处的位置是什么呢?
实现领导的开发目标。软件工程师的职责就是为老板构建可用的软件,至于老板拿这个软件在市场上赚钱和赔钱是市场和老板需要关心的事情。Tech Lead 能够把控产品经理的需求,并对老板给出估算,这事儿靠谱还是不靠谱,需要多久的时间。对老板来说,他不关心具体的技术实现和细节,Tech Lead 能帮他拿捏好,这需求能做还是不能做,能做的话最终能保证出活儿。对老板来说,靠谱是最重要的。
安排好项目的进展情况。如果没有项目经理专门带队做软件研发,Tech Lead 也需要关心项目管理的事情。项目管理并不是发布任务,设定目标,保证目标的达成这么简单。要需要考虑技术选型、技术决策和移除项目的困难点和阻塞点。
关心好团队的成员。 开发人员往往除了工作挣钱之外还有一些自我成长的诉求,所以还需要关心人员的成长,以及帮他们搭舞台唱戏。Tech Lead 不仅仅是给他们分配任务的人,还一定能引导他们的兴趣,尽可能帮他们找到资源,分配给他们感兴趣的任务。毕竟成就他人就是成就自己。
所以有些公司把 Tech Lead 这个角色赋予了四种能力:
Expert:是这个项目和产品的核心专家,必须保证有足够的业务知识和技术知识,能把握项目上的一些关键问题。
Manager:能拆分任务,将活儿分给其他同事做,并且管理项目的进展。
Coach:具有发展他人、团队的能力,能给其他团队成员提供指导和帮助。
Leader:知道如何用正确的方式达成目标,激励人,知道团队的业务和技术目标。
从这四个方面来看,操心的事情不少,后面部分整理了一下作为 Tech Lead 经常要操心的事情。
02 应该操心什么事情?
技术选型和决策
能根据业务需求做出合理的技术选型。
技术选型能满足未来一段时间的业务和架构演进目标。
技术选型需要考虑成本。
技术选型需要考虑团队人员素质和背景。
软件架构和搭架子
服务设计和领域划分。
数据库设计。
分层架构和包结构的设计。
错误码规范和定义。
API 规划。
一些常见操作的例子供开发人员参考。
日志和监控设计。
需求评审
需求是否合理,业务逻辑上是否自洽。
交互设计的性价比。
设计的一致性,和项目现有的逻辑是否一致。
是否会影响安全。
是否会造成性能的大幅度降低。
基础设施和运维把控
DevOps 基础设施,例如流水线、制品库、跳板机等。
建立运维手册,例如定期拨测和数据备份。
定期防灾演练。
定期检查系统健康状态,密匙、证书、域名有效期。
制定上线流程和规范。
Oncall 和线上轮值计划。
非功能性需求
关注需求的性能指标。
关注兼容性需求。
关注容量和弹性伸缩的需求。
代码质量
配置静态代码扫描,例如 checkstyle、find bugs。
设计团队代码规范。
进行代码评审。
安全
安全规范,例如密匙的要求。
安全建模。
定期的安全扫描工具异常处理。
预防技术方案中的潜在安全问题,比如数据和隐私泄露。
团队
制定团队协作策略,例如分支策略。
制定版本策略。
制定团队契约,例如 CodeReview 时间和主持人、技术例会。
对团队新人进行 Onboarding 和维护团队 Onboarding 文档。
人员梯队建设、管理人员流动的任务交接。
团队矛盾和冲突处理。
知识共享
制定团队技术分享机制。
制定文档存放契约。
更新系统架构图、部署图和数据库模型等项目架构材料。
项目管理
工时估算和迭代计划。
技术债的评估和分析。
项目风险评估。
跟踪第三方依赖的时间点。
收集项目反馈。
-
个人兴趣:你喜欢解决问题还是管理团队? -
职业目标:你希望成为技术领域的专家还是希望掌握技术的同时拥有管理职责? -
技能倾向:你更擅长技术任务还是更擅长与人沟通、协调资源? -
工作环境:你希望在一个需要频繁交流和协作的环境中工作吗? -
个人价值观:对你来说,技术成就和管理影响力哪个更重要?
研发效能(DevOps)管理/技术工程师
证书类别:工业和信息化人才培养工程,终身有效。
IDCF社区作为国内最大的DevOps社区,为《研发效能(DevOps)工程师 职业技术证书》课程官方授权培训中心,课程分为管理与技术两个方向。
管理工程师侧重于如组织转型、敏捷核心实践、团队建设、流程建设、研发协同、测试管理、运维管理等相关管理实践,以及完成工作所必需的相关技术能力要求;
技术工程师侧重于如持续集成、持续测试、持续部署、持续发布以及自动化运维等技术实践,以及完成工作所必须的流程及管理能力要求。
社区邀请了多位业界知名专家导师,坚持“以职业活动为导向、以专业能力为核心”的指导思想,在充分考虑科技进步、社会经济发展和产业结构变化对研发效能(DevOps)工程师知识水平、专业能力要求的基础上,精心设计了培训知识体系,课程内容涵盖【组织与协作】、【产品与运营】、【开发与交付】、【测试与安全】、【运维与监控】五大研发关键环节逐一讲解,1000页学习教材+2000分钟的课程内容讲解+400个技术知识点+300道练习题。
结合国内外多个真实案例,以实战为导向,注重实践操作,知识点覆盖端到端的研发生命周期,旨在全方位培养行业与企业发展所需研发效能(DevOps)专业人才。
适考人员:从事 / 关注研发效能(DevOps)相关的管理与技术人员,包括企业中高层管理者、研发总监、研发经理、项目经理、产品、架构、开发、测试、运维、运营、敏捷教练、工程教练等角色,想要提升技术技能的IT领域从业人员,通通适用。