3

为什么软件工程师喜欢木工

 1 year ago
source link: https://xushanxiang.com/software-engineer-carpenter.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

新鲜松木屑的气味弥漫在空气中,当我打磨凳子最后一个粗糙的角落时,更多的气味飘了起来。我蹒跚学步的孩子高兴地把她自己的积木磨到一边。

木工是我的新爱好。我以前的那些,编码,阅读,写作,让我一直呆在我的笔记本电脑上,一个人呆着。

一份惊喜的礼物埋下了一个想法的种子。小时候,最好的夏日时光是我和父亲将刮木头变成鸟屋、飞机,甚至最终变成 rube goldberg 设备。是时候重新点燃火焰了。

woodworking.png

只是它和旧的没有什么不同!

木工感觉奇怪的熟悉。甚至它的多巴胺命中也会触发与编程相同的点。

事实证明,木工最好的部分实际上与软件工程并没有什么不同:

1.您构建自己的工具

最好的软件工程时刻是您构建自己的工具时。那是有目的的工作。

木工也这样做。他们称这种工具为“夹具”。可能会制造一些夹具来满足利基需求(例如钻直孔)。其他的,只是为了省钱。

与往常一样,您必须确定工程时间的价值。

2.工具太多

那里有令人难以置信的各种木工工具,每种工具都针对略有不同的情况进行了优化。想用纹理锯木头吗?反对谷物?需要快速但难看的剪裁吗?需要平滑切割并且不介意需要更长的时间吗?弯曲的切口呢?那只是为了锯!

每个都针对特定用例进行了优化,但除非您有无限的预算,否则您需要决定哪些是您想要做的实际需要的。

任何不得不在 AWS 上选择存储层的人都知道了解您的工具是什么感觉,找出它们最适合什么,以及哪一个最符合您的需求。

3. 有限(非货币)预算

钱不是你唯一的预算。

任何有限的资源都需要谨慎分配。对于软件,预算可能包括硬件限制(CPU/内存)、网络带宽、延迟目标、工程工时等。

事实证明,木工有一个不灵活的预算:物理空间!

我的车库里只有这么多空间(即使在我打扫干净之后)。无论我得到什么工具,都必须与我的工作台一起安装在那里。我必须对我的存储预算花在什么上非常挑剔,而一些心爱的物品,比如锋利的台锯,根本不可能。

4. 先设计,后构建

在这两个世界中,在构建之前勾勒出您的设计会带来巨大的收益。您可以更清楚地了解您将要制作的内容,并弄清楚不同部分将如何相互作用。

否则,您可能不得不放弃几天的工作,因为您转错了方向。

除了木工,你喊“胶水干了!”

从好的方面来说,它可以让您同时处理多个项目。

6. 你有用户!

一旦我的妻子得知我的计划,定制作品的请求就开始滚滚而来。知道我建造的任何东西都有一个热切的接收者在等待它,这就是激励的火箭燃料。

而且由于是我妻子要求的,因此更容易证明购买我“需要”的工具是合理的。

通过木工,您实际上可以握住您的作品。

木工与软件工程具有相同的高度(如果您花足够的时间在胶水上,甚至更高)。

您可以获得相同的快速反馈循环,与用户密切互动,同时避免软件工程中一些更乏味的方面。另外,您永远不会随叫随到。

我明白为什么有些人放弃了软件。

但这不是我的道路,编程太贴近我的心,我的日常工作让我做的不仅仅是编写代码。

但它确实有助于回答我经常问自己的一个问题:

如果我出生在一百年前,在计算机发明之前,我会做什么?

现在答案很清楚了:

找一些东西来建造。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK