精选30+云产品,助力企业轻松上云!>>>

一个技术主管的工作职责

  • 开发规范
  • 开发流程
  • 技术规划
  • 管理

  • 开发任务分解分配
  • 开发实践
  • 技术架构评审
  • 代码审核
  • 风险识别

开发规范

命名规范
统一IDE代码模板

IDEA插件Eclipse Code Formatter

Maven使用规范

二方、三方包版本全部有parent pom管理

代码Commit规范

基于Angular Commit Message规范生成统一的ChangeLog,这样一来对于每次发布release tag非常清晰,Mac下都需要安装对应的插件,IDEA也有对应的插件,具体可以参考阮一峰老师的《Commit message 和 Change log 编写指南》。

统一API规范

(success代表接口处理响应结果成功还是失败,errorCode、errorMsg表示返回错误码和错误消息,module表示返回结果集,把ResultDTO定义到common-api顶层二方库,这样以来各个应用不需要来回转换返回结果。Http Rest接口规范约定同ResultDTO相差无几,需要额外关注一下加解密规范和签名规范、版本管理规范。)

异常处理规范

BusinessException、RetriableException(幂等性)、common-api、异常拦截器

方法内异常自我消化处理:

  • 直接返回
  • 抛出异常
  • 重试处理
  • 熔断处理
  • 降级处理

使用Netflix开源的hystrix容灾框架进行弹力设计,解决异常熔断、超时熔断、基于并发数限流熔断的降级处理。

分支开发规范
  • 分支的定义(master、develop、release、hotfix、feature)
  • 分支命名规范
  • checkout、merge request流程
  • 提测流程
  • 上线流程
  • Hotfix流程
统一日志规范

日志脱敏(比如自定义实现logback的ClassicConverter)

《阿里经济体开发规约——日志规约》

统一MYSQL开发规范
统一工具与框架

开发流程

瀑布开发模式(需求评审、测试用例评审、技术架构评审、开发与测试、验收与上线)

需求管理、技术架构评审、代码评审、发布计划评审

需求管理
技术架构评审

敏捷迭代、日志审计

  • 技术选型
  • 高性能
  • 高可用
  • 可扩展性
  • 可伸缩性
  • 弹性处理
  • 兼容性
  • 安全性
  • 可测性
  • 可运维性
  • 监控与报警
代码评审

代码质量包括功能性代码质量和非功能性代码质量

CodeReview:

  • 确认代码功能
  • 编码规范
  • 潜在的BUG
  • 文档和注释
  • 重复代码
  • 复杂度(如圈复杂度)
  • 监控与报警
  • 测试覆盖率
发布计划评审
  • 各环境配置信息是否存在差异化;
  • 数据库是否有表和数据的变更;
  • 是否有二方、三方的jar包、接口等依赖,确认各应用和服务的发布顺序,包括内部和外部,提前协调好相关人员和业务方;
  • 回滚计划,如果某些发布不可逆,确保限流降级等容灾计划;
  • 发布完毕后的回归测试

技术规划与管理

系统健康度巡检
  • 系统指标:系统CPU、负载、内存、网络、磁盘有无异常情况波动,确认是否由发布导致,还是系统调用异常。
  • 慢接口:通常rt大于3s的接口需要重点关注,极端并发场景下容易导致整个系统雪崩。
  • 慢查询:MYSQL慢查询需要重点关注,随着数据量上涨,需要对慢查询进行优化。
  • 错误日志:通过错误日志去发现系统隐藏的一些bug,避免这些bug被放大,甚至极端情况下会导致故障。
技术规划
  • 架构优化(高内聚低耦合、单一职责原则、模块化/服务化)
  • 性能优化
  • 弹性与可靠性
  • 可伸缩性

总结

大局观
  • 业务发展趋势
  • 技术演进趋势(架构能力)
  • 良好的管理能力
  • 执行力、学习能力、解决问题的能力

一个技术主管/团队Leader的工作职责有哪些?相关推荐

  1. 一个研发团队是如何坚持7年技术分享的?

    --"所有分享都是有意义的" --"在PingCode,人人都可以成为分享者" 这是PingCode研发团队的分享精神,而这样的精神,在过去7年中已经闪耀了10 ...

  2. 35岁,一个团队leader,从工作满8年的公司离职,选择重新尝试新机会,或许35岁才是起点。

    目录 面试 1. 年龄大找工作一定要有目标,不能太随便 2. 代码能力是整个IT行业的核心技能,也是对整个行业从业者的要求 3. 沟通表达很重要,把自己做过的事情做到极致,然后能讲出来 4. 心态要好 ...

  3. 如何培养一个搞垮团队的Leader?

    作者| Mr.K   整理| Emma 来源| 技术领导力(ID:jishulingdaoli) 搞垮一个团队并没有想象的那么容易,首先Leader要有搞垮团队的潜力,普通Leader基本没戏. 不过 ...

  4. 一个运维工程师必须要知道的(工作职责与应用场景)干货整理

    目录: Linux运行 工作中运维应用场景 运维的发展过程 运维分类与工作职责 运维平台和工具 一.Linux运行 1. 什么是linux运维? 运维是指大型组织已经建立好的网络软硬件的维护,就是要保 ...

  5. 阿里六年团队Leader实战秘诀|程序员最重要的八种软技能(找工作/就业生必读)

    前言 此笔者在带团队的六年中发现,程序员们在职场都有一个共同的困扰:"好像写代码都没什么问题了,日常工作基本上都是应付业务需求的开发,好像找不到其他的更大的附加价值了,我应该找一些什么样的发 ...

  6. 一个开发团队、软件公司,团队工作氛围很重要,没有好氛围难出好产品、好项目...

    接触软件行业很多年有些年头了,展望过去的岁月,总想写点儿东西,总结总结,我也 不怕拍砖了,曾经也换过很多公司.跳过很多槽,现在想想,总结出来:"天下的乌鸦 是一样黑的",没有理想的 ...

  7. 工作那些事(三十一)怎样带好一个项目团队

    非常多人写了几年代码都想去做管理,事实上做管理要处理的事情很多其它,要协调内部和外部资源,要会踢皮球,把问题抛给别的部门.与其它主管扯来扯去.那怎样才干带好一个项目团队呢. 要带好一个团队,首先是领导 ...

  8. 4个步骤成功构建出一个机器学习团队

    在过去的几年里,机器学习有了巨大的发展.但是,尽管机器学习是一门学科,管理机器学习团队的技艺却更年轻.当今许多机器学习管理人员被迫进入管理岗位,要么是出于需要,要么是因为他们是最好的个人贡献者,而且许 ...

  9. 团队开发经验:如何带领一个项目团队并做好项目总结 !!

    最近带领一个小团队做完一个项目,项目虽不算大,可五赃俱全,感觉在这项目中最重要的还是沟通协调.下面是我自己经过这个项目,自己的一点体会,写在这里,总结自己的思路,并希望在以后的项目中有更多的提高,到时 ...

最新文章

  1. 【Matlab】如何对二维矩阵进行线性/非线性插值?
  2. oracle数据库连接数超了,oracle数据库当前和最大连接数
  3. 读《纸本书变电子书是很小的事》有感
  4. 大数据学习笔记48:Flume Sources(Flume源)
  5. 1024程序员节开源技术英雄会 参会“英雄榜”发榜
  6. SSM整合时IDE: File is included in 4 contexts
  7. spark常见问题定位
  8. formdata 嵌套_解决form嵌套
  9. kotlin android 注解,注解 - Kotlin 语言中文站
  10. 静态页面转换为模板2
  11. linux下tar命令压缩/解压缩.tar/.gz/.bz2文件、分卷压缩
  12. qq音乐api接口梳理
  13. 使用css修改input的文字提示语颜色
  14. php beanstalk 客户端,Pheanstalk(beanstalk的PHP客户端)-连接如何工作?
  15. MIT6_0002F16_ProblemSet4
  16. 用虚拟机写java程序_JAVA是什么?java是狗屁!写java程序说穿了就是在对java虚拟机这个软件进行应用。...
  17. 退休后多长时间能领到工资
  18. 顺序栈的创建以及各种操作
  19. android开发笔记之sh脚本
  20. 【游戏推荐】癞子斗地主--OGEngine精品游戏推荐系列【一】

热门文章

  1. Java运算符与Scanner键盘输入
  2. iPhone4与iPhone4s区别
  3. (23)打鸡儿教你Vue.js
  4. 高中生写LOL外挂1年狂赚五百万,落网前刚买下120万保时捷
  5. 如何在plsql/developer的命令窗口执行sql脚本
  6. ultraedit 运行java_UltraEdit中Java编译运行设置方法
  7. 软件测试初入进阶到优秀测试工程师
  8. 九宫重拍(bfs + 康拓展开)
  9. 香港计算机硕士面试,香港大学计算机专业面试指南
  10. 摄像机替代工业相机的尝试