热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

提升技术团队战斗力的几件事

大家时常会发现,团队有才能的工程师并不少,但是一群能人聚在一起,却并没有发挥出应有的水准,反而没过多久,团队内部矛盾一大堆。这是怎么一回事呢?所以,今天我结合自己这些年的管理经

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


大家时常会发现,团队有才能的工程师并不少,但是一群能人聚在一起,却并没有发挥出应有的水准,反而没过多久,团队内部矛盾一大堆。这是怎么一回事呢?所以,今天我结合自己这些年的管理经验,谈谈如何将一个技术团队的战斗力提高到一个新的高度。



1. 明确的职责和团队架构


        对一个技术团队管理者而言,最需要做的一件事就是明确每一个工程师的职责和建立组织架构。职责的关键是:谁负责什么内容;团队架构的关键是:谁在什么位置,一定要足够清楚。


对于一个技术团队,“清楚”的意思是:


  • 同一个服务/功能只有一个负责人

  • 一条邮件/短信报警,能准确找到一个负责人处理

  • 每一个对外暴露的API都能找到对应负责的工程师

    ...


在这里,我还可以列举出很多条目,简单一句话,出了问题,每一个人都清楚谁应该出来承担责任。取得了成绩,该给谁颁奖也很确定。



2. 研发流程可视化

技术团队一旦超过20人,一个明显的感受:你开始看不到问题。已经无法靠简单的晨会和口头同步来暴露问题,这和业务团队的每天销售业绩很不一样,技术团队表现出来的数据是多元化的。

所以,组建一个可视化的工具和流程的组合是必须的。这样团队每天的表现都能被清晰的观察到,并且随着团队的发展,有足够的可扩展性。


比如 

  • github 可以让我看到每个程序员的每一次 commit 。 

  • JIRA 可以让我看到每一个Release的推进过程 (有多少bug, 多少个任务已经进入提测,然后准备上线。。)

  • Jenkins可以让我看到整个团队的项目构建情况。

  • 钉钉/微信群可以让我和团队做到实时沟通。

  • Confluence 上的技术/方案文档可以让团队每个人对项目的状况一目了然。

  • Zabbix/Grafana可以让我每天一大早看到所有服务的运行情况,了解所有交易数据的情况,保证我每天可以安心的睡觉。

  • ELK/CAT跟踪所有服务的错误日志

  • ....

即便我不会每天都去关注这些,但是我需要有看到这些的能力。这样才能在出问题的时候掌握第一手资料,并每天确认是否团队中存在任何问题和风险,并指导团队提升执行的效率和质量。可视化的工具和流程,保证团队用最低的成本了解项目中的“新鲜事”(Yes, it's interesting!),保证团队能快速准确的响应任何突发状况。总之,我需要达到“信息的对称”


3. 带头要结果,不要借口


我一直认为在技术工作中,只会有两个结果:搞定,或者没搞定
所以对于团队的日常的项目推进,如果遇到技术难题,被block住了没搞定,我只想听工程师试过什么方案?每种方案遇到的问题是什么?离我们目标的距离在哪里。如果需要更多的时间或者需要更多技术方案,告诉我,我来和大家一起想办法解决。
线上出现生产故障了,中间的“狗血”情节,其实不用给我汇报。事故已经发生了,事后汇报没有任何意义,我只需要知道现在状况是怎样,我们一起想办法,用最快的速度fix掉。


4. 明确的目标,并给予团队对应的权力


        作为一名技术管理者,无论是技术的基础设施建设还是团队技术的发展方向,都需要给出足够明确的方向,及时向全员传达,并坚持长期贯彻下去,让团队每个人都清楚。

明确了要求,就要放权和投入资源给团队。否则,出了问题责任不是他的,而是我自己的。相信我的团队,即便是出现了差错,也要给予支持,和团队一起分析原因,下次做到更好。

技术管理者的重要职责,就是为团队解决他们解决不了的问题,同时提供对应的权力和资源给他们。


        不断总结和分析,离一支强有力的团队并不遥远。

扫描二维码或手动搜索微信公众号【架构栈】: ForestNotes

欢迎转载,带上以下二维码即可

                          640?wx_fmt=jpeg


点击阅读原文”,所有【架构栈】近期的架构文章汇总

↓↓↓


推荐阅读
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 使用Jenkins构建Java项目实践指南
    本指南详细介绍了如何使用Jenkins构建Java项目,包括环境搭建、工具配置以及项目构建的具体步骤。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 本文将详细介绍多个流行的 Android 视频处理开源框架,包括 ijkplayer、FFmpeg、Vitamio、ExoPlayer 等。每个框架都有其独特的优势和应用场景,帮助开发者更高效地进行视频处理和播放。 ... [详细]
  • 本文介绍 Java 中如何使用 Year 类的 atMonth 方法将年份和月份组合成 YearMonth 对象,并提供代码示例。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 本文深入探讨了 Java 中 LocalTime 类的 isSupported() 方法,包括其功能、语法和使用示例。通过具体的代码片段,帮助读者理解如何检查特定的时间字段或单位是否被 LocalTime 类支持。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 本文详细介绍了钩子(hook)的概念、原理及其在编程中的实际应用。通过对比回调函数和注册函数,解释了钩子的工作机制,并提供了具体的Python示例代码,帮助读者更好地理解和掌握这一重要编程工具。 ... [详细]
  • 深入解析RDMA中的队列对(Queue Pair)
    本文将详细探讨RDMA架构中的关键组件——队列对(Queue Pair,简称QP),包括其基本概念、硬件与软件实现、QPC的作用、QPN的分配机制以及用户接口和状态机。通过这些内容,读者可以更全面地理解QP在RDMA通信中的重要性和工作原理。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
author-avatar
彭木对_690
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有