当谈论工程师文化时我们在谈些什么

“工程师文化不是谈论出来的…”

“事实胜于雄辩. 但什么是事实, 则需要雄辩一番. “

综下所述, 工程师文化是一种能力型文化, 关注可能性, 理性决策. 打造工程师文化有这么几件事可以做, 当然不限于这么几件事:

  • 关注领导力, 选拨或招聘文化契合的工程师做Leader, 并授权
  • 围绕着 Leader 工程师建立全功能团队, 进行课题攻坚.
  • 打造工程师所需要的基础设施(也可以看做课题之一).
  • 考核机制下游考核上游, 以促进专业技能提升.
  • 建立各类工程师社区, 传播知识, 激发创新, 减少重复犯错.
  • 招聘高素质工程师, 全栈工程师
  • 学徒制, 设定严格职级晋升标准

网络上有很多关于工程师文化的讨论, 看这里, 这里, 还有这里. 几个频繁出现的关键词包括创造, 质量, 基础设施, 团队自治, 招聘, 全栈等. 是否有更一般性的描述?

工程师文化包含两个词, 工程师和文化. 可以搞清楚这两个词分别意味着什么, 再组合起来看看意味着什么. 先看一下”文化”.

文化四象限, A Culture Language

目前最权威的企业文化分类, 是The Reengineering Alternative中提出的模型. 在这个模型中, 作者从多种企业属性中抽取了最关键的两个维度作为企业文化的核心因素: 企业的关注点, 以及企业的决策方式

  • 企业的关注点粗分为两类: 关注眼下的现实(Actuality), 还是关注未来的可能性(Possibility).
  • 企业的决策方式也粗分为两类: 客观(Impersonal)的决策, 还是人性(Personal)的决策

这样组合起来, 就有四类文化, 如下:

  • Control: 控制型文化, 典型代表是军队, 强调等级, 汇报线, 关注现实, 理性的决策
  • Collaboration: 合作型文化, 典型代表是球队, 强调集体智慧, 关注现实, 人性化的决策
  • Cultivation: 培育型文化, 典型代表是宗教, 强调意义, 关注可能性, 人性化决策
  • Competence: 能力型文化, 典型代表是大学, 强调能力, 关注可能性, 理性决策

工程师文化, 狼性文化等我们常用的词汇并不在其中, 我们当然可以把它们映射到这个模型中. 但更重要的是, 这个模型提醒我们, 可以从组织关注的内容和决策过程两个方面, 去定义工程师文化.

工程师与技术专家

说完了文化, 再看看工程师. From 维基百科:

工程师和科学家(scientists)往往容易混淆,科学家努力探索大自然,以便发现一般性法则(general principles),工程师则遵照此既定原则,从而在数学和科学上,解决了一些技术问题。科学家探索世界以发现普遍法则,但工程师使用普遍法则以设计实际物品。科学家研究东西,工程师建立东西,这一想法,可视为表达这句话,”科学家们问为什么,工程师问为什么不能呢?”(”Scientists ask why, engineers ask why not?”)。

工程师的称谓通常只用于在工程学其中一个范畴持有学术性学位或相等工作经验的人士。在欧洲大陆一些国家,工程师称谓的使用被法律所限制,必须用于持有学位的人士,而其他没有学位人士使用,属于违法。在美国大部分州及加拿大一些省份亦有类似法律存在,通常只有在专业工程考试取得合格才可被称为工程师,而法律的范围一般只在蓄意欺诈的情况下才会执行。

技术专家(technologist)一词有时与工程师同义,该词是由技术(Techno-)和后缀(-ologist)组成,意思是研究技术的人,此名称一般在欧洲大陆一些有规管工程师名称使用的国家中被使用,因为未受法律管制。

工程师文化

结合上面”工程师”和”文化”的定义, 我们来看看工程师文化.

对于工程师文化来说, 我认为它的关注点更侧重可能性, 对于已经板上钉钉的事, 工程师文化没有兴趣去关注它们, 而发上天的火箭有没有可能收回才是这类文化典型关注的话题. “科学家们问为什么,工程师问为什么不能呢?”(”Scientists ask why, engineers ask why not?”)

在Uber,我们倡导的并不是最快,而是要最有创意地去解决问题。你可以不找到一个问题的最佳解决方案,但你可以想各种各样的点子,最后用各种各样的创意去解决问题。

而它的决策过程, 我认为也更偏理性, 偏客观. 工程师文化的公司, 工程师的成果对公司决策的影响应大于工程师本人其它特征对决策的影响. 这意味着工程师文化是一种实干主义, 知行合一的文化, Just Do It. 科学家研究东西,工程师建立东西.

这意味着在所有的点子中,我们会选择最好的那一个,无论这个点子来自于谁,也就是英雄不问出处,只要它是好点子就行。

同时,在Uber,我们鼓励员工挑战高层,我们鼓励大家不要害怕去向自己的老板挑战,只要你有好的方法、只要你认为你的想法能帮助到公司,你都可以提出来。
我刚开始在Uber工作的时候,Uber缺少很多基础架构,这个阻止了Uber的发展,所以我不得不向高层去挑战,一开始他们不高兴,但是最终他们意识到这么做是正确的,当然交谈过程并不是非常愉快,但是我们还是要这么做。

综合起来, 工程师文化侧重于能力型(Competence)文化, 其典型工作方式是选定某个具有挑战的主题, 动手实验, 不断改进, 而结果则是优胜劣汰…

能力型文化组织的典型代表是学术机构, 研究所, 专业服务公司如律师事务所, 会计师事务所等. 一般的产品研发公司与之相比, 面临的一个挑战是高素质人才的密度不如上述机构. 因此, 普通的产品研发公司要打造工程师文化, 除了提高招聘门槛外, 还要注重内部培育.

为了能够让上述工作方式可持续的发展, 在组织中生根发芽, 组织需要具备合适的土壤:

有选择的容错

在挑战过程中必然不会一帆风顺, 因此组织需要对过程中的失败具备一定容忍性, 只要失败给公司带来了价值. 在不确定的环境中, 如果失败能使公司学习到以前不具备的知识, 则依然可以看做有很大进展. 工程师文化的公司不应将与预期不符看做失败, 而是看做有益的反馈, 可以尝试多种方法, 持续改进.

如果失败是因为重蹈以前的覆辙, 重复以前的错误, 并没有使组织获得新知识, 则应该视为内部学习机制遭到破坏的一个信号, 重视处理.

如果对有价值的失败没有容忍, 意味着在高风险的挑战过程中, 工程师自身的生存问题受到威胁, 这种环境是不可持续的, 除非能持续招聘到高质量的员工.

创造专注的环境

排除挑战过程中一切不必要的干扰, 使工程师和团队专注于问题本身的复杂度. 应该围绕着工程师组建外科手术式的全功能团队. 问题内在的复杂度, 以及组织之外的市场环境, 是无法控制的; 但组织内部的干扰, 如沟通不畅, 资源瓶颈等, 是应该改善或消除的. 如果组织不能对工程师的工作环境进行很好的支持, 工程师的精力耗费在不必要的问题上, 将极大的延缓事情的进展.

要建立工程师闭环. 问题的进展, 即市场和用户对方案的接受程度, 反馈, 都要快速回到工程师团队, 作为下一步改进的输入. 为工程师提供直面用户的环境.

对组织的要求如上, 那么对工程师又有哪些要求呢?

专业主义, 自己屁股自己擦

工程师又被称为技术专家(technologist), 这意味着工程师文化是一种专业主义, 工程师立身之本是自己的专业技能, 需要对自己的交付物严格要求, 不断提高其标准. 质量问题, 包括体验, 功能, 都要负责到底, 问题的发现和修复, 都是自己分内的事, 不能外包. 全栈工程师在工程师文化中, 是一个重要特征.

产品的人员占比很低。没有宏观数字,但是我们大组20几个工程师就一个产品经理,很多组是没有产品经理的。好处在于不会限制工程师的发挥空间,很多事情需要工程师自己去想办法解决,并且决定如何做,所以对整个产品的归属感更强,而且因为深知一线所有情况,会避免做很多”愚蠢”的决定

如果做不到全栈, 就要保证自己所属环节的交付物达到专业水准. 比如:

产品经理的交付物是产品或功能设计, 那么设计本身的合理性, 是否契合目标用户需求, 是否有价值, 是需要自己保证的. 衡量产品经理专业能力的标准就是看其设计出来的功能和产品有多大比例产生了预期的价值.

开发人员的交付物(之一)是功能实现和架构实现, 那么实现本身的质量, 是否有 Bug, 可维护性, 稳定性, 性能等, 是需要自己保证的. 衡量开发人员专业能力的标准就是上述指标. 总是依靠专门的测试团队来发现问题保证质量, 将极大的减缓成为专家的速度, 工程师文化无从谈起.

测试人员的专业技能(之一)就是发现有价值的 BUG. 总是依赖外部用户才发现严重 BUG, 也意味着工程师文化尚未开花结果.

来自 Google 的讲座:

产品的招聘门槛很高,一般来说应该说高于工程师。所以他们很多人真的很优秀,在能力上深得工程师的认可和尊重。很多工程师和”产品”的关系不好,其实是因人而异的,产品的能力/历史的成绩能够证明他的想法的合理性,工程师接受的程度能够高很多。

国内很多工程师的拿钱很多,但是待遇(想法受尊重的程度)却不高;产品待遇很高,但是拿钱却不多。所以经常出现公司每年花成百上千万成本养着的一个工程师团队被一个刚毕业拿着10万年薪的产品经理催着瞎转悠:老板说了,下周一定要上线,你们全给我加班去! 这样的悲剧下,其效率,产品的质量可想而知了

专业主义, 制造和利用工具提高效率

科学家研究东西,工程师建立东西. 工程师建立的东西, 除了为用户, 也为自己. 为了高质量的完成自己的任务, 专家都有一套专业的工具, 比如专业摄影器材, 专业户外装备等. 如果没有专业工具的帮助, 任务的完成情况很难达到期望的标准. 首先工程师要有意识的寻找这类工具. 当没有找到时, 工程师要为自己打造一套.

这意味着工程师文化的公司, 其工作所需基础设施都是非常完善的. 比如持续交付的流水线, 及其上的整套工具链, 包括高速构建工具, 自动化测试工具, 代码质量分析工具, 部署环境管理工具等. 如果你的公司还没有这类基础设施, 意味着工程师文化也没有开花结果.

专业主义, 招聘严格要求自己的人

专业主义要求从业者具备专家水平. 如果你不能直接招聘到专家水平的人, 你就得招聘有潜力成为专家的人. 其中在专业方面严格要求自己, 是必要条件之一. 广为流传的10000小时理论, 让人有一种错觉, 似乎从业时间足够久, 就能自动成为专家. 但Talent is overrated一书告诉我们, 工龄接近的同事之间水平的差异, 不弱于不同工龄间的差异. 看看周围跟你年龄相近的同事, 邻居, 想想你们之间的差异. 这里的区别在于这10000小时是如何度过的: 是严格要求自己, 刻意的练习, 还是仅仅以完成任务为目的.

专业人士对细节一定是非常精通的. 工程方面粗枝大叶的人在”创造”方面不会有什么真正的成就. 这个人具体的技术栈不那么重要, 只要严于要求自己, 刻意的磨练自己的技艺. 工程师文化追求可能性, 而可能性不可能通过墨守成规来达到, 只有不断的突破.

专业主义, 学徒制

如果你不能直接招聘到专家水平的人, 也难以在招聘时判断一个人的潜力, 那么你还有最后一招: 将招聘到的人以学徒的方式来培养.

学徒制是一种古老的职业训练方法,是指在职业活动中,通过师傅的传帮带,使艺徒获得职业技术和技能,主要是在师傅或专家的指导下掌握所学手艺或工艺的背景知识和取得实际工作的经验。即在学习与日常生活中,在一定的工作场所(环境)通过观察、模仿师傅的技艺,在实践中自然习得技能,受用终身。学徒制曾经是人们学习的最普遍的方式, 从语言、绘画、雕刻、复杂的社会交往技能到某一专业领域的知识与技能都可以通过类似学徒制的方式进行非正式的学习获得。文艺复兴时期的著名画家达芬奇和雕塑家多纳泰洛(Donatello)等都是学徒制培养出来的优秀人物.

学习者首先承担最简单的任务部分,然后跟着师傅干活,在师傅的监控和帮助下,逐渐过渡到更复杂的部分,提高他所能应付的部分的比重。学徒不是被动地坐在一边,他手里拿着从业工具积极地工作

在当今美国多领域的学习是以某种学徒制的形式进行的,特别是需要高水平的知识和技能的领域中,如医学、法律、学术、职业运动、艺术等领域。

对于现代企业, 学徒制可以摒弃其中的剥削和压迫部分, 保留其严格要求部分. 企业中现在的各种职级体系, 其晋升普遍关注贡献大于关注能力. 关注贡献来决定一个人的待遇和职位无可厚非, 但职级更多应该关注能力. 工程师文化是一种能力型文化, 唯有后来者具备超出前人的能力, 该文化才得以为继. 学徒必须完成师傅在工作中分配的各种挑战, 才具备晋升的资格.

综上所述, 工程师文化是一种能力型文化, 关注可能性, 理性决策. 打造工程师文化有这么几件事可以做, 当然不限于这么几件事:

  • 关注领导力, 选拨或招聘文化契合的工程师做Leader, 并授权
  • 围绕着 Leader 工程师建立全功能团队, 进行课题攻坚.
  • 打造工程师所需要的基础设施(也可以看做课题之一).
  • 考核机制下游考核上游, 以促进专业技能提升.
  • 建立各类工程师社区, 传播知识, 激发创新, 减少重复犯错.
  • 招聘高素质工程师, 全栈工程师
  • 学徒制, 设定严格职级晋升标准

你可能感兴趣的:(当谈论工程师文化时我们在谈些什么)