首页 > 其他分享 >什么是工程师思维

什么是工程师思维

时间:2024-04-24 09:35:48浏览次数:11  
标签:编码 需要 思维 什么 工程师 程师 我们

什么是工程师思维

前言

在部分所谓的技术向导性公司,可能存在一些惯性思维,销售和产品经理会觉得自己没有话语权,开发工程师会觉得自己的地位高人一等。

这是不对的,推崇技术当然是正确的,但是健康的公司都必然是业务导向的公司,所有的技术人员如果希望有好的职业发展,也必然需要去理解业务。

什么才是真正的工程师文化?

从浅层意义上讲,工程师就是要实现业务的自动化。DON'T REPEAT YOURSELF! 某件重复的事情只做一个就好,以后不需要再重复做。

工程师的自动化思维体现的内在逻辑就是如何把问题 Close ,如何把问题彻底解决,而编码只是一种工具而已。

在我们日常的工作中,很多问题不需要我们用编码来解决,但是确实需要我们使用"彻底解决"的思维去完成。这种思维不限于工程师,同样适用于所有人。比如开餐厅需要解决的是服务质量问题,这一点海底捞就解决的很好,当时并不一定需要用编码的方式解决。对于我们需要的问题,如何彻底解决,这是一个值得我们深思的一个问题。

很多人喜欢待在自己的舒适区,习惯于做任务,每天重复相同的工作,就不符合我们所说的'工程师文化'。我们需要达到的状态是,今天⼲完⼀件事,明天开启新的事。

从两一个角度上看,工程师把这种问题 Close,彻底解决的思维,着重看的是自己工作的长期价值。如果我们只是在做事务,却没有在实质上解决这个问题,那么这件事情的长期价值就是零。

所以工程师文化也就是产品文化,把所有问题以一种自动化的方式解决,这才是我们应该推崇的工程师文化。

⼀个公司各个岗位是彼此协作的团队,⼯程师并不是特殊群体。销售、技术⽀持、产品、开发 ⼯程师每⼀个⻆⾊都是平等的。每个⼈都应该秉承⼯程师精神,把⼀个个问题 Close,让它不 要再发⽣。不需要显得很忙,忙不代表成就,真正的⼯程师⽂化应该是推动整个团队往前⾛, 每个团队成员都在成⻓。

系统思维和批判意识

从更层次上讲,工程师思维是一种系统化的思维,仅仅是编码和自动化是不够的,很可能我们在做的编码只是在实现某种事务性工作,而不是用系统或者结构化的方案来解决问题。

真正的工程师会系统的考虑的有效性。他们追求的是用更小的编码工作来结局更大的范围的问题。

少就是指数级别的多

现实中,⼀些⼯程师经常对于⾃⼰编写的代码形成⼀种情感依附,这是⼈之常情。⼀些⼈可能 会在你删除多余代码时提出抗议:“如果我们以后需要这个代码怎么办?”“我们为什么只是把 这些代码注释掉,这样稍后再使⽤它的时候会更容易吗?”“为什么不增加⼀个功能开关?”

这些都是糟糕的建议。

源代码的管理系统的中的回滚是很容易的,但是大量的注释代码则会造成干扰和混乱,尤其是我们还要继续演进的时,那些,由于功能开关没有开启而没有被执行的代码,更像是一颗颗定时炸弹一样等待爆炸。

极端地说,当你指望⼀个软件 24 ⼩时不间断服务时,在某种程度上来说每⼀⾏代码都是负 担。所以 SRE 需要推崇的实践是保证所有的代码⾏都有必须存在的⽬的。

从软件工程的角度上讲,传统意义的工程强调的是复制性,但是软件编码是一项不确定性很强的创新性工作,我们总是在不断的迭代出新的技术。所以软件工程是一件颇为复杂的东西,它需要在不确定性和复制性这对矛盾中寻找平衡。

所以优秀的工程是还需要有批判精神。经验当然是有价值的,但是过于相信惯例就会抑制创新能力。寻求本源,不迷信惯例和权威。以数据为指导,从根源触发去解决系统性问题。

总结

这里简单了解了什么是工程师文化,工程师文化,也就是产品文化,把所有问题以一种自动化的方式解决,这才是我们应该推崇的工程师文化。

需要达到的状态是善于把问题 Close,彻底解决的思维状态。简单的讲,今天⼲完⼀件事,明天开启新的事。

我们在平时的工作需要花点时间在项目工程上,如果我们只是在重复相同的重复性工作,我们的整个职业生涯不会有一个良性的发展。

重复性的事务工作虽然是不可避免的,这时候就需要我们用工程师的思维将问题提炼,以一种自动化的方式来解决毫无意义的重复性事务工作。

参考

【多任务处理】https://zh.wikipedia.org/wiki/多任务处理
【面向对象编程】https://www.liaoxuefeng.com/wiki/1016959663602400/1017495723838528
【许式伟的架构课】https://time.geekbang.org/column/article/89668
【什么工程师思维】https://boilingfrog.github.io/2024/04/24/什么是工程师思维/

标签:编码,需要,思维,什么,工程师,程师,我们
From: https://www.cnblogs.com/ricklz/p/18154361

相关文章

  • 银行业外发重要文件用什么才安全?外发文件专业软件必选项
    银行业对一个国家至关重要,关乎国计民生。银行为我国经济建设分配资金,是社会再生产顺利进行的纽带,它能掌握和反应社会经济活动的信息,为企业和政府作出正确的经济决策提供必要的依据。通过银行,可以对国民经济各部门和企业的生产经营活动进行监督和管理,优化产业结构,提高国民经济效......
  • 【干货】质量管理是什么?管什么?如何管?
    1、引言质量管理,作为现代企业管理体系的核心组成部分,对提升企业竞争力、确保产品质量和客户满意度具有至关重要的作用。因此,理解质量管理的本质,以及它管理的具体内容,对于任何一个追求长期发展的组织或管理者来说都是至关重要的。本文将围绕“质量管理是什么?管什么?”这一主题,进行......
  • 医院信创FTP要进行替代,有什么值得信赖的方案?
    信创产业,即信息技术应用创新产业。其发展核心在于通过行业应用拉动构建国产化信息技术软硬件底层架构体系和全生命周期生态体系,解决核心技术关键环节“卡脖子”的问题,为中国未来发展奠定坚实的数字基础。  2018年以来,受“华为、中兴事件”影响,我国科技尤其是上游核心技术......
  • (图论分析,思维)ABC 350-D
    背景:我自己思考想出来的图论题,总归是有成就感的分析:求间接连接的点的对数,即一个连通块中枚举出两两连接的组合数,减去整个连通块中的边数,因为一条边必然直接连接了两个不同的点原理:并查集时间复杂度:o(n)代码如下:点击查看代码#include<bits/stdc++.h>usingnamesp......
  • static_cast与dynamic_cast到底是什么?
    写这个随笔说一下C++的static_cast和dynamic_cast用在子类与父类的指针转换时的一些事宜。首先,【static_cast,dynamic_cast】【父类指针,子类指针】,两两一组,共有4种组合:用static_cast父类转子类、用static_cast子类转父类、使用dynamic_cast父类转子类、用dynamic_cast子类......
  • Flink状态编程:为什么不建议在ValueState里面存Map?
    Flink状态编程:为什么不建议在ValueState里面存Map?文章目录先说结论性能:TTL:State需要存什么数据Heap模式ValueState和MapState如何存储StateBackend模式如何存储和读写State数据1.RocksDB模式ValueState和MapState如何存储1.1ValueState如何映射为RocksDB......
  • VSCode终端为什么不能输入任何命令,打开的时候一片空白
    索引:VSCode终端为什么不能输入任何命令,打开的时候一片空白。。。解决办法:使用cmd本地终端,进入远程服务器,然后进入root目录下,把vscode-server目录删除,重新通过vscode进入详细步骤:关闭所有vscode与服务器的连接使用非vscode终端ssh到服务器杀死服务器上运行的所有vs......
  • 面试官:在原生input上面使用v-model和组件上面使用有什么区别?
    前言还是上一篇面试官:来说说vue3是怎么处理内置的v-for、v-model等指令?文章的那个粉丝,面试官接着问了他另外一个v-model的问题。面试官:vue3的v-model都用过吧,来讲讲。粉丝:v-model其实就是一个语法糖,在编译时v-model会被编译成:modelValue属性和@update:modelValue事件。一......
  • 甘特图是什么?利用甘特图来优化项目管理流程
     甘特图是项目管理软件中十分常见的功能,可以说每一个项目经理都要学会使用甘特图才能更好的交付项目。什么是甘特图?甘特图用来做什么?简单来说一种将项目任务与时间关系直观表示的图表,直观地展示了任务进度和持续时间。图片来源zz-plan甘特图一、甘特图的定义和特点1.定义......
  • 什么样的供应商管理方案,可以提高供应链的效率和可靠性?
    供应商管理方案是一套系统化的流程和策略,旨在规范供应商的选择、评估、合作和持续改进,以确保供应商能够满足企业在质量、交货、价格、服务等方面的要求。通过定期对供应商进行评鉴,包括品质、交期、价格、服务等项目,并进行季度总评,根据得分将供应商分为A、B、C、D等级;对于品质不良......