美文网首页
什么是工程师文化

什么是工程师文化

作者: 影子喵喵喵 | 来源:发表于2023-05-31 08:38 被阅读0次

    普林斯顿大学工程学教授David Billington说过:

    “科学是要发现早已存在的事物,

    而工程是要做出过去从未存在的事物”。

    要成为一名优秀的工程师,透彻了解工程师文化是大前提。

    而工程师文化,就是在这个组织内,形成一种以解决问题为核心展开的思考。树立价值取向、思维方式和共同认识。

    工程师文化即在这种共识下开展编码活动的集体潜意识。

    01 | 工匠精神

    其实工程师文化有点像工匠精神。在工匠精神中不得不提到一个词叫:物勒工名。

    所谓的“物勒工名”,指的是器物的制造者要把自己的名字刻在器物上,以方便管理者检验差评质量,核心是:“物勒工名,以考其诚,功有不当,必行其罪”。

    对于我们软件技术工程师来说,我们所提交的每一个行代码都有一个提交记录,出现了bug 都能找到所对应的人。我们没有办法完全杜绝掉bug,因为我们只是普通人,人类从认知革命到农业革命再到后来的科学革命,我们走了很多弯路,但我们不断地在思考,我们不断地在钻研,我们不断地在寻找一种更好的方式去解决问题。

    当我们解决了对应的问题,我们会进行一个总结,总结完之后,我们所得到的那就是经验。我们不断地提高自己的专业领域的知识,为的就是将产品打磨得更加完美。

    一个人之所以能够成为“工匠”,就在于他对自己产品品质的追求,他不惜花费大量的时间和精力,钻研琢磨,反复改进产品。努力把产品的品质从99%,提升到99.9%、再提升到99.99%、99.999%、99.9999%……

    这就是由工匠精神传承下来的工程师文化。

    02 | 既要自由,也要效率

    一个工程师如果精神不自由,就很难跳出老套的思维模式进行创新;而如果不对效率进行提升,那这个创新可能永远不会接地气。

    精神上的自由具体表现在:

    自我驱动。自己管理自己是最好的管理。最失败的管理就是家长和保姆式的管理,兴趣出发的工作才可能迸发出真正的动力。

    灵活的工作时间和地点。工程师们更多的是脑力工作,而不是体力工作,工作上时间和地点的自由安排可以让工程师们的脑力工作更有效。Remote是一个很不错的工作方式,开源社区基本上都是这种方式。

    信息平等。信息的平等,大的包括战略、方向、目标、财务,小的包括文档、代码、和知识的共享等同样也表现在意见表达上,任何人都有可能表达自己的意见和建议的平等机会,这样才会激发出更多的思路和思辩,从而有不同的更好的思路出现。

    不害怕错误。处理错误的正确的姿势是分析总结教训,而不是惩罚故障人。前者让人改善进步,后者让人萎缩不前。最大的错误就是不敢犯错,最大的问题就是不敢直面问题。

    而工程效率具体表现在:

    简化。简化不是简陋,简单的东西通常意味着用户更好理解,也意味着更容易的维护和运维。就像Amazon推行的Working Backwards里说的那样,一个新的产品或功能,产品经理需要写三个文档:媒体公关文、用户手册、常见问题,三个文档总共加起来不超过两页A4纸,且不准用任何图片说明,目的就是为了让产品简化和容易使用。

    残酷无情地推行自动化。编写程序的最本质的目的就是自动化。自动化需要大力开发提高生产力的工具,比如:持续集成,持续部署,自动化运维,基础自动化运维,甚至自动化的运营工具。通过自动化把人类从繁琐又重复的工作中解放出来,也让机器发挥最大的价值。

    加强抽象能力。抽象是简化的一部分,一方面,抽象意味着重用和通用,另一方面抽象意味着强大的扩展性,以适配各种可能性。比如Google的MapReduce/BigTable/ProtoBuffer,FaceBook的Thrift,以及全线AWS产品都用到的Amazon Lock Framework(一个分布式锁框架)都可以参考学习抽象能力。

    开发高质量的产品。因为高质量的代码,不但可以容易地修改和维护,还可以因为少处理线上故障,从而有更多的时间去为未来做更多创造性的工作。保持严谨的Design Review,Code Review的习惯,都是工程师文化的一部分。

    03 | 保持追求,保持创造

    做工程师我觉得要能够坚持5个追求:

    1、对代码的追求。大家要养成习惯,对某一个问题不太理解,先去看看代码。机器唯一能懂的只有代码,问题的真相都在代码里。

    2、对数据的追求。一个优秀的工程师,发现数据有一点点异常的时候,就会去刨根问底。

    3、对标准化的追求。当我们的工作逐渐熟练之后,就会发现很多内容都是大同小异,通过分层、沉淀、抽象,以合并同类项的方式,用越少的代码内容解决越多的问题,这就是中台能力。一个优秀的工程师,需要对抽象、标准化有很高的追求。

    4、对极致的追求。比如一件事情可能需要花一小时来完成,优秀的工程师往往可以用分钟级、秒级、甚至毫秒级来对事情进行分解、衡量。

    5、对开放的追求。也就是我们所理解的开源,因为只有一个开放的系统,才可能是一个有生命力的系统。

    相关文章

      网友评论

          本文标题:什么是工程师文化

          本文链接:https://www.haomeiwen.com/subject/zfkeedtx.html