我希望我从未学过编程

2025-05-28

我希望我从未学过编程

我靠写代码谋生。你可能会说我是个专业的软件工程师,但软件工程远不止是一种职业,而是一种生活方式。连帽衫、乒乓球、无尽的零食和汽水……这些都是真的。然而,尽管这个行业回报丰厚,我还是要坦白:有时候我真希望自己从未学过编程。


怪癖

自从我开始学习编程以来,浏览网页的方式就变得截然不同了。我再也无法忍受在其他网站上遇到的错误了。每当出现奇怪的情况时,我的好奇心就会占据上风,我不得不打开浏览器的开发者工具开始调试。

提交表单时出现难以理解的错误信息?你会看到我钻研 JavaScript 控制台寻找错误信息,钻研源代码,并观察网络请求的来来去去。UI 看起来有点过时,还是页面布局真的很好看?无论如何,我都会调整浏览器窗口大小,看看它对屏幕尺寸的响应能力如何。你选择的字体是 Comic Sans 吗?我可能再也不会相信你或你的公司了。

请不要使用 Comic Sans

请不要使用 Comic Sans

职业生涯

如果你觉得这些浏览习惯不好,那就听听我和其他软件工程师的对话吧。总的来说,工程师往往比较固执己见。迂腐的作风根植于我们的血液中。你用空格还是制表符来缩进代码?你更喜欢 Vim 还是 Emacs?Chrome 还是 Firefox?

在更明智的圈子里,这些对话最终会引发人们的疑问:“这真的很重要吗?”。自行车棚现象确实存在,需要谨慎控制。

xkcd——真正的程序员

xkcd——真正的程序员

随着越来越多的公司采用敏捷方法,我们时常需要权衡瀑布式、Scrum 或看板式开发生命周期之间的利弊。我们都喜欢抨击瀑布式开发,认为它是过时且低效的公司惯用的过时方法。然而,Scrum 与看板之争仍在继续。

“你说你是 Scrum 的信徒?我敢打赌,你一定喜欢你人为设定的时间框,它会导致匆忙的代码被草率地发送,以便在冲刺结束前满足一个假想的最后期限。”

呆伯特——斯科特·亚当斯

呆伯特——斯科特·亚当斯

说到敏捷,故事点究竟是什么?是衡量时间的尺度?是努力程度?是复杂性?是风险?还是以上皆是?你我很可能要花上几个小时来争论每个定义的优点,却无法达成共识。

在某些时候,这可能会演变成更多的自行车棚,但能够相互理解并进行有效沟通至关重要,这包括对我们全天使用的术语有共同的理解。

前端开发开启了另一个话题世界,其中最引人注目的莫过于:“我们什么时候才能最终放弃对 Internet Explorer 的支持?” 我必须把握好分寸,一方面讨厌 Internet Explorer,另一方面又想放弃它,同时又理解我们必须为那些仍在使用 Internet Explorer 的客户提供支持。(那些可怜的家伙……)

Internet Explorer 模因

Internet Explorer 模因

持续学习

由于技术格局瞬息万变,持续学习是软件工程的重要组成部分。几乎每个月都会发布数百个新的库和框架,JavaScript 倦怠现象确实存在。

当我告诉别人我花了一整天时间配置WebpackRollupBabel以使用最新的 ES6+ 语法时,他们可能会认为我是在胡编乱造。或者说AngularAngularJS是两个截然不同的东西。或者说LitElementSvelteStencil看起来像是很有前途的 Web 组件解决方案。或者说Deno可能会成为新的Node

当有人问我做什么工作时,如果不用缩写词来回答我,真是难以应付:“我通常使用前端技术,比如 HTML、CSS 和 JS。偶尔我需要使用 PHP 或 SQL,但我更像是一个 MEAN/MERN 堆栈开发人员。有时我会使用像Heroku这样的 PaaS 技术,但其他时候我会使用像AWSGCP这样的 IaaS 提供商。”

开发者衍生的线条画不佳的漫画梗

开发者衍生的线条画不佳的漫画梗

个人生活

闲暇时,我会读一些书名枯燥乏味的书,比如《代码整洁之道》《重构》《领域驱动设计》。不读教科书的时候,我会在网上读一些经常包含一些不靠谱建议的文章,或者观看别人的编程教程。编程播客更是妙趣横生,因为还有什么比在上下班路上听别人讲代码,然后花一整天时间讨论代码更惬意的事呢?

除了在线消费内容外,软件工程师还会花费大量个人时间创作在线内容。我个人的爱好是开发一些简单的、几乎无人问津的应用和游戏,比如Crossy Block,一款仿Flappy Bird的游戏,或者一款企业级的BS生成器。这是否浪费时间?或许吧。但当人们看到这些应用时,它们会给他们带来大约两分钟的快乐吗?绝对会。

企业 BS 生成器应用程序

企业 BS 生成器应用程序

事实是……

然而,事实上,编程给了我创造和发挥创造力的机会。它帮助我将想法变成现实,几乎可以说是从无到有地创造出一些东西。软件工程让我能够解决有趣而又困难的挑战,理想情况下,能够以某种细微的方式让人们的生活更轻松。我的职业帮助我拓展和成长,让我有机会不断学习,甚至还能因此获得报酬!

事实上,我喜欢编码。

文章来源:https://dev.to/thawkin3/i-wish-i-never-learned-to-code-lfe
PREV
捍卫代码整洁之道:Bob 大叔的 100 多条永恒建议
NEXT
使用单元测试清洁代码:保持测试套件清洁的技巧和窍门