什么是草台班子?

有个朋友最近想跳槽,他对管理的兴趣不大,而且认为自己的性格也不适合做管理,更想成为技术专家。基于这些考虑,他希望能进入知名大厂,如果面试不顺利,去小而美公司也行。他的面试经验不多,就向我咨询了一下如何选择公司的问题。

小公司必然缺钱缺人,技术团队几乎没有美,99%都是草台班子。有一些上万职员的大公司,运营着很多业务线,每条线又有多个技术团队,这些技术团队的水平良莠不齐,也存在部分草台班子。无论公司大小,造成技术团队是草台班子的根本原因都是一样的:

  • 不重视技术投入

公司就是一辆车,让车跑起来的要素太多了,技术只相当于半个轮子。任何公司都是资源不足的,管理层总是把资源投在产出最高、最快的地方。在很多传统企业里面,技术只是辅助业务自动化运转,不直接创造价值,自然不受到重视。

  • 轻视研发质量

并不是线上没重大BUG,研发质量就算高了,还要兼顾工程质量、研发效率、团队可持续发展等方面。许多草台班子只关注了BUG和研发效率(这个效率也是加班加出来),其他方面做得一塌糊涂。公司要想提高研发质量,首先要建设一个有技术范的管理队伍;其次对管理人员进行360环评,所谓”兵熊熊一个,将熊熊一窝”。360环评的特点是,被评估者从自己、上司、下属、同事获得多个角度的反馈,从这些反馈知道自己的缺点、优点与发展需求。

在面试的时候如何判断技术团队是不是草台班子呢?我的建议是在面试的尾声,问面试官一个问题:你们团队的技术文档质量怎么样?如果面试官说”还可以”,就继续追问他”哪些方面还可以,哪些方面待改善?”。如果它是个草台班子,技术文档一定没做好,面试官会心虚。

什么是草台班子?它有三个共同特征:

一个需求从提出到上线要经历至少七个流程:

  • 1)需求评审:产品经理给出需求文档,邀请技术参与需求评审,目的是扫清需求疑点,排除技术上无法实现的需求。
  • 2)技术评审:技术人员内部评审需求,确定详细的技术方案。
  • 3)开发排期:技术人员根据技术方案拆解任务,输出开发排期文档,并告知产品和测试,以便他们协调测试时间。
  • 4)开发阶段:技术人员用代码实现需求,如果有需求疑点,继续找产品核实;在开发尾声,技术团队内部评审该需求的代码。
  • 5)测试用例评审:测试人员根据需求文档拆分测试用例,并给出测试工作排期,确定需求最终上线日期。
  • 6)测试阶段:测试人员根据测试用例分别在测试、预发布、灰度、生产环境测试。
  • 7)产品验收:测试人员确认测试通过,邀请产品人员验收。

很多团队制定了研发流程,实际工作起来却跳过一些流程或者执行不到位,原因有两个:

  • 1)产品经理希望早点上线:想需求早点上线,必然压缩开发周期,有时甚至跳过测试阶段,完全由开发人员自测。这种情况技术Leader要据理力争为开发人员争取更多的时间。
  • 2)开发人员专业能力不足:以代码评审为例,不能让专业能力差的人去做,因为他看什么代码都觉得还行。日常工作中优先让技术好的人做代码评审,并且进行内部技术分享,尽快提高每个人的专业能力。

团队工作中最容易忽视技术文档,因为编写文档是个苦力活,而且短期内看不到效果。常用的技术文档包括下面六类:

  • 1)新人入职指引文档

新人入职后需要配置开发环境、申请内部账号等等。通过入职指引文档,新人不需要找老人打听,显著提高工作效率。

  • 2)系统架构文档

系统架构文档帮助新人迅速了解技术栈、整体系统结构、微服务分类和调用情况。由于开发的不断迭代,可能加入新的微服务或者调整存储层,系统架构文档要及时更新。

  • 3)团队研发规范文档

研发规范文档至少要涵盖:数据库建库建表规范、开发语言代码规范、应用工程结构规范。配合代码审查,严格执行研发规范。

  • 4)日常技术方案文档

开发重要的、周期长的需求,一定要编写技术方案文档。这类文档帮助开发人员理清思路,日后其他成员也更容易接手。技术方案文档的内容包括:业务流程图、接口设计与改造、数据表设计、灰度方案、回滚方案、发布计划与工程配置。

  • 5)重大故障复盘文档

如果不进行故障复盘,必然再次出现故障,交了学费却没有学到东西。故障复盘文档包括:故障发生和持续的时间;解决故障的具体方案和时间段;故障造成的损失是什么;发生故障的根本原因是什么;如何避免故障再次出现。

  • 6)通用组件优化文档

开发团队通常积累一些常用工具库,解决工程的基础问题,比如对象属性拷贝、IO处理、网络请求等等。这些库的使用很广泛,如果有些方法获得优化,收益是很大的。改动了工具库,要编写相应的文档,将优化措施和风险写清楚,避免给使用者留坑。

许多技术团队从来不做工作总结,每个月做几个需求,每个季度聚个餐,年底再聚个餐,一年就结束了。长此以往,只低头做事不抬头看路,团队成员的能力提升非常有限。

工作总结的执行方式是每个团队成员根据自己的情况做PPT,然后讲述给其他人听,PPT的主要内容有三个:

  • 1)创造的价值:这一阶段的开发的需求创造了什么价值,有没有降本增效。
  • 2)收获和感想:这一阶段的收获是什么,哪些能力得以提升,哪些缺点需要改正。
  • 3)计划和展望:除了产品提出的需求,下一步的工作计划是什么,哪些项目可以优化,哪些提升效率的内部工具可以开发。

Original: https://www.cnblogs.com/xiaoyangjia/p/16374102.html
Author: 编码砖家
Title: 什么是草台班子?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578117/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux基础03

    一些常见目录 usr目录 /usr/local/ # ⽤于保存⽤户安装软件程序信息 相当于windos中D:\Program Files (x86) linux系统安装软件的四种方…

    Linux 2023年6月7日
    082
  • 如何在 pyqt 中捕获并处理 Alt+F4 快捷键

    前言 如果在 Windows 系统的任意一个窗口中按下 Alt + F4,默认行为是关闭窗口(或者最小化到托盘)。对于使用了亚克力效果的窗口,使用 Alt + F4 最小化到托盘,…

    Linux 2023年6月7日
    0111
  • 深入理解java泛型

    什么是Java泛型 泛型的使用 泛型类 泛型接口 泛型方法 泛型的底层实现机制 ArrayList源码解析 什么是泛型擦除 泛型的边界 ?:无界通配符 extends 上边界通配符…

    Linux 2023年6月6日
    0121
  • Shell Step by Step (4) —— Cron & Echo

    6.脚本定时任务 <span class="hljs-preprocessor"># Example of job definition:</…

    Linux 2023年5月28日
    0117
  • 每天一个 HTTP 状态码 100

    100 Continue 指示客户端应该继续当前请求;如果请求已经完成… 100 Continue 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分;指示客户…

    Linux 2023年6月7日
    090
  • 解决Conda改源后无法安装软件包的问题

    前言 有时候哪怕修改了 Conda 源也一直无法安装一个想要的软件包,亦或者找到了目标软件包,下载速度却很慢,速度感人,也可能直接 Conda 就找不到你想安装的软件包 此时有两种…

    Linux 2023年6月14日
    081
  • 快速部署LAMP黄金架构,搭建disuz论坛

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    049
  • Linux 内核软死锁(soft lockup)bug原因分析

    由日志我们看到,CPU一直处于超负载运行,因此导致机器产生断链的告警 解决方法: echo 30 > /proc/sys/kernel/watchdog_thresh sys…

    Linux 2023年6月13日
    087
  • 如何解决 QMediaPlayer 占用歌曲导致 PermissionError: [Error 13] 的问题

    问题描述 当我们使用 QMediaPlayer 播放歌曲时,歌曲文件的句柄会被占用。如果想使用 mutagen 库对正在播放地歌曲进行数据写入,就会出现下述问题: Tracebac…

    Linux 2023年6月7日
    089
  • Nginx基础入门篇(3)—返回状态码详解

    一般常见返回状态码 200 – &#x670D;&#x52A1;&#x5668;&#x6210;&#x529F;&#x8FD4;&a…

    Linux 2023年6月6日
    085
  • Docker Manager for Kubernetes

    一、Kubernetes介绍 Kubernets是Google开源的容器集群系统,是基于Docker构建一个容器的调度服务,提供资源调度,均衡容灾,服务注册,动态伸缩等功能套件; …

    Linux 2023年6月14日
    073
  • 网络扫描(二)

    免责声明:本文所述工具只用于网络安全的学习与研究。严禁任何阅读本文的读者利用本文所述工具进行违法犯罪活动。如有任何法律纠纷本文作者概不负责。 上一篇博文讲到了fping工具和nma…

    Linux 2023年6月14日
    087
  • 四年测试的面试题分享

    其实想说为什么每次面试都要先来点自我介绍,说来说去简历上都有,我曾想过不能快速进入面试阶段嘛 我的专业技能: 基本上这些专业技能是在工作上用过或者自己摸索过,实战经验比较少,下面是…

    Linux 2023年6月8日
    078
  • Linux下如何部署FTP服务器

    FTP 是 File Transfer Protocol 的缩写,即文件传输协议,它通过网络在服务器和客户端之间传输文件,现在已经成为一种广泛使用的标准工具 vsftpd 是 ve…

    Linux 2023年6月13日
    085
  • Python 装饰器

    直接进入主题 原代码 以下是原代码,要求给改代码添加统计时间功能 版本1(直接在原函数上修改) 可能有的同学就做出了下面这个版本 版本2(将函数当做参数传入) 经过修改上面的版本我…

    Linux 2023年6月13日
    091
  • 【socket】基于Linux使用select上报温度–服务端

    select使用 * – select函数 – select流程图 – 服务端代码实现 select函数 select监视并等待多个文件描述符的…

    Linux 2023年6月13日
    081
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球