作者 | 王尊,帷幄 Whale CTO
责编 | 唐小引
头图 | CSDN 下载自东方 IC
出品 | CSDN(ID:CSDNnews)
什么是工程师文化?
这篇文章的契机,是在 Whale All Hands 上团队成员提出的问题基础上展开的。All Hands 后我在内部沟通工具 Phabricator 上发布了这篇文章来阐释我对「工程师文化的理解」。
工程师文化是什么?
说到这个,得先说什么是工程师。我的理解,工程师是借助工程工具用理性思维来创造性地解决问题的人。「工程师文化是什么?只有工程师才配拥有工程师文化?」显然不是。只要能用理性思维来创造性地解决问题,我觉得这就很好地实践了工程师文化。这里有 3 个关键点,「理性思维」、「解决问题」和「创造性」。
▐ 理性思维
理性思维是一种有明确的思维方向,有充分的思维依据,能对事物或问题进行观察、比较、分析、综合、抽象与概括的一种思维。说得简单些理性思维就是一种建立在证据和逻辑推理基础上的思维方式。
在平时的工作中,最重要的两点是:
全面收集信息
不同决策判断的来源往往是不同的 Context。了解的内容越多,掌握的信息越全面,越有利于做出正确判断,这也是为什么取证对于警察破案这么重要。而工程师往往不只是拿到 Task 写代码而已,需要更多地找相关同事去了解这个任务背后更多的信息。
拿招聘来说,我们不仅需要了解面试者之前的工作履历和经验,同时也需要用真刀真枪的问题(比如 Coding)了解 TA 的实践能力,用 Behavior 问题来考察价值观,是否能和我们一同合作。
客观作出决策判断
强调客观理性的判断,而不是凭谁的感觉更准、谁的 Level 更高,也不是看谁的资源更多、谁的态度更蛮横。为此,我们不说感觉,只说数据;我们不说个人的 Level,我们说每个 Team 都应该对外提供服务,我们强调正确积极沟通的重要性以及沟通工具的正确使用。这是工程师文化对于公司的影响,也是公司为了实践工程师文化做出的努力。
事实上,我们的新人主动离职率远低于同行业企业的平均水平。公司每个团队的 HC 规划,涉及到 Team 发展规划、Organization 发展规划、公司财务规划,这是一个非常理性的决策过程。
▐ 解决问题
问题解决(Problem Solving)是由一定的情景引起的,按照一定的目标,应用各种认知活动、技能等,经过一系列的思维操作,使问题得以解决的过程。
解决问题的前提是,确定存在的问题是什么。如果问题本身错了,再多的技巧、再强的方法都是白费力。这个涉及到上面提及的尽量多的收集 Context 并理性分析。我们无法控制问题的判断一直是对的,只能更好地分析,比较优先级,才能提高对结果的把控能力。
工程师文化不讲意识形态,不看怎么说,只看怎么做。在工程里面,只有「这顶用」、「It works.」,没有「这正确」、「It's correct.」。工程里面大家信奉的只有一条:「实践是判断真理的唯一标准。」吹得再天花乱坠,未经实践检验,都会被怀疑。
「不管黑猫白猫,捉住老鼠就是好猫。」对此,我深以为然。对于创业公司,困难时刻远多于享受的时候。即使成熟强大如 Netflix,也几乎不招聘 3 年以内工作经验的人,这也是结合他们公司自身企业文化和实践结果作出的决策。当然,我们也见到不少刚毕业就加入帷幄 Whale 的同学,都顺利完成了学校到社会的过渡,拥有了我在同年龄时所不曾拥有的经验和能力。各位 HR 和 Leader 都在这个过程中起到了很大的作用,对于 HR 和 Leader 的自身能力也有了积极的提升。
工程师文化不在乎加不加班,不在乎是不是办公环境里堆一些非常 Geek 的东西,其关键在于,当问题出现的时候,那种「一切以解决问题为导向」的内部组织模式和思维方式。
在 All Hands 的 Q&A 环节中,有人提出了「奶牛产奶」的问题。那么我作为工程师看待这个事情,我甚至不关心他是否是奶牛,我只看我每天需要喂多少饲料,最好保持不变,能否持续产奶,并且产奶量一阶导数 >0。我作为 CTO,有太多的问题需要我去解决,而且我要持续解决更棘手影响更大的问题,很多不是几万行代码就能解决的问题。我去年 9 月回 Facebook 找前同事聊天,至今组里还没有找到填我空的人,但是不急,反正我的代码 3 个季度没有过 bug 而且留了文档,我在离职前最后一天还在和相关同事确认文档可读性。
▐ 创造性
很简单,问问自己,如果面对的问题规模是 10 倍,而还是只有你一个人,怎么办。这个时候的答案,往往是具备创造性的。但是,创造性一定需要结合前面两点,为了创造性而创造性,非但没有意义,而且会给个人和公司带来意想不到的负面后果。
Apple 创造了 iPod/iPhone,但不是每个人都知道 iPod/iPhone 的创造者和概念来源于还有一家硅谷的炮灰公司叫 General Magic,这家公司没有成功,客观条件是个很大的因素。
▐ 好工程师
分析完了工程师文化,看起来好像并不难,反正就是理性分析,解决问题。其实并不然,一个工程师需要大量时间和经验的洗礼,才能逐渐蜕变为好工程师,促进工程师文化。
好工程师在成长,他能更好地把控结果,对自己要求更高,更快地在横向和纵向上拓宽自己的能力;
好工程师为自己的成长负责,好工程师持续的自驱力几乎是人人可见;
好工程师持续跳出「舒适圈」,这也是很多时候「创造性」的来源;
好工程师看问题更客观,更本质。比如,公司成长往往是个人成长的一个重要因素,所以好工程师考虑问题,并不是看单独一个问题,而是从公司的角度出发考虑;
好工程师促进工程师文化,好工程师往往能解决那些 Block 工程师文化形成的问题,比如创造数据工具来帮助各个部门更「客观理性」分析问题。
总结
工程师文化不是企业成功的充分条件,也不是必要条件。可以看到,尽管 Ford 有工程师文化,还有关注人文,长期保持高福利,这几乎在 2008 年要了公司的命,同时也成为了美国「铁锈带」坠落深渊的罪魁祸首之一。同时,成功的苹果的工程师地位不尽如人意,工程师文化在硅谷大公司里只能排倒数。
每个成功的公司都会有很强的公司文化,至少对外宣传是这样的。对于互联网公司,很多就是「工程师文化」。但是,大家有没有去观察过,究竟是先有成功的「公司业务」,还是先有成功的「公司文化」。这个我在去年找不少人讨论过,最后我的结论是,如果两者不是同时出来的话,一定是先有前者。
本文仅为个人观点,如有不同意见,欢迎大家在评论区一起讨论分享。
作者简介:王尊,帷幄 Whale CTO,加州大学圣迭戈分校计算机工程硕士毕业,浙江大学自动化学士学位,2019 年 1 月下旬正式加入帷幄 Whale,带领产品研发团队,聚焦于软硬件体系的双向升级,强化底层技术实力,利用 AI、IoT、Data 技术,提高复用性和工程效率;2014 年~2019 年,曾就职于 Facebook Feed Ads 部门,负责各类广告产品以及相关数据框架曾就职于 Amazon Lab126,负责 Kindle 电子书内核测试框架研发。
声明:本文为作者投稿,不代表 CSDN 立场。
推荐阅读
震惊!阿里的程序员竟被一个简单的 SQL 查询难住了!
巧用 Trie 树,实现搜索引擎关键词提示功能
手把手教你配置VS Code 远程开发工具,工作效率提升N倍
诺基亚的百年沉浮
亚马逊创始人或成地球首位万亿富豪,设计“女人流程图”找对象,不一般的贝佐斯!
超级账本Hyperledger Fabric中的Protobuf到底是什么?
Go远超Python,机器学习人才极度稀缺,全球16,655位程序员告诉你这些真相
真香,朕在看了!