Skip to main content
  1. other/

程序员思维VS工程师思维

·890 words·2 mins·

引子 #

宋丹丹有个小品,说要把一头大象放到冰箱里需要几步?

答:三步。第一步:打开冰箱门;第二步:把大象放进去;第三步:把冰箱门关上。

樊登在《可复制的领导力》这本书中将这种思维称为”标准的程序员思维“。

发现程序员思维 #

作为一个程序员,我不理解樊登为什么会这么说,我认为这是别人对我们的一种偏见。直到我想起了最近的一件事。

这件事是这样的:有一个项目,开发评估后上报的开发时间是两个月,但是上层领导急于上线,只能给开发一个月的时间。开发的负责人虽然很为难,但还是同意了。最终的解决方案就是:尽管这是一个很难完成的任务,但是如果我们拼尽全力去冲刺,还是有希望完成的!!!

于是结果就是开发加了两个月的班。

本来正常开发两个月就能完成的工作,为什么要加班加点的开发两个月才能完成?(这是一个很有意思的问题,但不是我想说的内容。)

”尽全力开发而不考虑结果“就像是”把大象放到冰箱而不考虑冰箱是不是放得下“。所以,我在自己身边看到了这种”程序员思维“。

如果是工程师会怎么做? #

建造一座20层的高楼,工程师上报的预算是10亿,但是老板只给了5亿,工程师要如何做?

不考虑结果,一门心思去开发?那开发到一半没钱了怎么办?烂尾楼可不能交差!

所以工程师在找到可行的解决方案前是不会动工的!

程序员VS工程师 #

有些场合,程序员和工程师表达的是同一个意思,都表示开发者。

但是有些场合不是:在这些场合里,程序员是coder,而工程师engineer。

公司的一个老板在一次讲话里谈到:现在到很多公司去看,全是一群群的程序员,这个行业已经变成了一个劳动密集型行业。

什么是劳动密集型行业?可以简单理解为卖力气的行业。在这个行业里,每个人的劳动成果、效率是稳定的、线性的。

对于全是coder的公司,这种理解并没有问题。

但是对于engineer,他们需要解决coder无法解决的问题,所以engineer产生的价值也远大于coder!

最后 #

一个engineer应该是怎样的呢?

  1. 谦虚,学无止境。
  2. 对自己有清晰的了解,对世界保持敬畏。
  3. 不将就,不能为了方便而放弃代码质量。
  4. 不躺平,拒绝不合理的需求。
  5. 不模棱两可,要有打破砂锅问到底的精神。