1. 首页>>分享

编程15年魅力不减?揭秘微小改进带来的巨大满足感与开车的纯粹沉浸体验

今天,我忽然察觉到,相较于好些同事而言,实际上我过得还算挺好的,然而他们过得又要比好多现实生活当中的朋友更佳一些。

可是,实实在在令我感到意外的是,过去了15年,我竟然依旧可以从软件开发之中获取快感。

在人生当中,能够维持15年吸引力的事情数量并不多。我所能想到的另外一件事呢,便是开车。存在一条空旷无他的公路,有一辆值得信赖可靠性强的车,甚至即使没有音乐播放,仅仅是凭借轮胎与柏油路面之间产生的摩擦声音,就足够能够让我的内心安顿下来。

于我而言,编程同开车极为相像,其具备纯粹的特质,拥有沉浸感这一特性,且存在着属于自身的一方小世界。故而今日我打算谈论一番,十五年之后,编程、代码以及软件开发,究竟还有哪些方面值得令我为之着迷呢。

图片

那些微小到几乎没人注意,却让我“爽到飞起”的改进

千万别误会啊,自然啦,我同样是特别喜欢那些能够带来超级巨大业务价值的大功能的,要知道的是,这便是我获取工资的缘由所在呢。然而呀,真正切实能使我感到“兴奋”不已的呀,却是那种呀,每一天都可以节省五分钟时间的,每一周又能够节省一小时时间的,并且只有我自己心里才清楚其价值的小优化呢。

比如,就在上周的时候,我编写了一行代码,这行代码能够将某个总是反复出现的错误,引导至另外一条执行路径。那个 Bug,如果手动去修正的话,仅仅只需要十分钟的时间,然而现在呢?我再也不需要去处理它了。

这一行代码的背后,有着我十五年经验的积累,有着我对系统细节的理解,有着我对数据流的洞察,只为了那种“啊我懂了,我能搞定”的瞬间。

这种体验,比写一个大功能还让人满足。

写下一行代码背后,站着几十年、几千人的努力

往后倘若你于VS Code之中键入一个字母,当自动补全一下子弹出之际,停顿下来思索一秒钟,有这样的情况:

为了这一行的补全,有多少人贡献了代码呢,有多少人免费修过 Bug 呢,有多少想法从七十年代传递到现在呢?

我们今日的每一回敲击,都踏着前辈们的肩膀,有些人已然离世,有些人再也未曾编写过代码,有些人曾为你每日所用的某个 API 进行过演讲,这一切共同构成一个令人惊叹的事实,软件世界是少有的“知识共享无边界”的行业,所有程序员都能在 StackOverflow 上相互协助修复算法 Bug,只因那是个有意思的问题。

然而,绝大多数现实世界的行业都不会如此,你很难看到,有哪位木匠乐意将“祖传手艺”免费告知陌生人,。

布尔值背后的灰色地带:技术讨论永远比代码本身复杂

理论上,技术世界是最“布尔”的世界:

然而实际情况究竟如何呢?随便哪一个看上去简简单单的决定嘛,都能够演变成那般激烈的讨论,还有政治层面的角力,甚至于演变成一场心理上的较量呢。

值得玩味的是,众多这般讨论通常并非是坏事。别的开发者,其他团队的所有成员,甚至就连你的老板都存在着提出具价值观点的可能,以此促成你更全面去领会问题。并且这些“灰色地带”致使软件开发充斥着人情味,代码所构建之世界的确如同布尔而言那般特定,但团队所构成之世界恒久不会是如此这般相同的状况标点符号。

幸运的是,我当下所处的位置依旧使得我能够“亲身融入去编写代码”。交流探讨完毕之后,最终得以落实的那一行代码 —— 此乃我切实所期望的事情。

中间件开发的乐趣:让两个巨大系统听懂彼此

我近来大部分的工作是做中间件编写,说实话,这是我最为喜爱的工作类型中的一种。

虽中间件看似仅为“转发数据”,即理解系统A之输出,理解系统B之输入,处理常规情形,应对边缘局势,设计稳固之转换逻辑。然而其中可操作之内容极为丰富,诸如数据校验、数据转换、监控、异常追踪、防火墙与代理、编码难题、部署、可观测性、稳定性设计等。

即便只是就连最无趣的中间件而言,都能够使我的脑子始终维持兴奋状态。毕竟,我独自一人能够将齐全的中间件自始至终完完全全写完,而且三年往后它依旧能够稳定地运行。

不是由于我的厉害程度有多高,而是鉴于输入以及输出足够稳定,数据量充足庞大致使逻辑变得“极其可靠”。这般感受,仿佛那养着一缸能自动运行的生态鱼缸,自己只是偶尔看一下监控,便都会之感颇为舒适。

技术圈里对热点的吵闹,让我越来越享受“做一个安静的旁观者”

关于 AI,我只想说两点:

(1)还记得几年前大家把“低代码”吹上天的声音吗?

(2)让人觉得奇怪的是,当程序员对别人的工作进行自动化操作的时候,他们从来都不会产生担忧的情绪,然而,一旦轮到自身面临被自动化的情况,许多人就都开始慌张起来了。

老实说,我每日都能够寻觅到GPT的运用场合,诸如小自动化脚本编制,大流程的优化改进,文档的生成创作,调试时的辅助支持,快速查找资料(用以取代自身摸索几十分钟),那些叫嚷着“LLM全然无用”的人,于我而言比AI极度追捧者显得更为奇特,是这样的。

他们争吵得愈发激烈,我反而愈发倾向于在一旁安安静静地借助AI工具去努力赚钱,专心写代码,实现提效。

所谓“枯燥的业务系统开发”,其实是最能激发创造力的地方

我的职业生涯,差不多全都在“老系统 + 工业级软件架构”之中折腾。有人觉着这特别没意思,老是去修改那些微小的 Bug、增添微小的功能、在庞大单一的整体里扩充一块儿子模块,又或者被几十年前的架构决策所束缚——可你晓得吗?进入这个行业 15 年了,我偏偏就是喜爱这种约束。因为恰恰是这些限制,使得软件开发于我而言充满了乐趣。

许多存在缺陷的系统,既呈现出僵化的状态,又具备难以改变的特性,然而,恰好在这样的情形之下,始终存在着空间,可用于开展定制开发,寻找到务实的解决办法,或者自行编写代码,在两个大型系统之间构建起桥梁。另外,那些所谓的“居家版”DevOps解决方案,或许不像成熟工具那般花哨,不过却能够凭借20%的工作量达成80%的成效。

更为关键的是,这种经由定制开发而来的需求始终都清晰明了,需求以及输入输出均有着确切的界定,并且需求是当下即刻就存在的,我向来都无需去考量产品市场匹配这一情况,因为市场自身就急切地需要我的产品,而且通常会确切地告知我他们所需要的是什么,并非是我四处去询问有人需要这个吗 。

现阶段,于时间、预算以及架构的限制之时开展工作,实际上乃是我此刻持续加以坚持的动力所在。我已然编写了数量众多的for循环以及if语句,对当下的我而言,常规的软件开发显得略微有些重复了。

那自然,你可不能整日单单搞系统设计,不然会与实际脱节,瞅不见那些由宏观角度会被忽视的小问题。因而我的工作里得有实际的编码环节,而且我更期望这些编码工作有意思、具挑战性,而非每日反复编写那些已写过数千遍的代码。

软件开发,是我生活里最不无聊的部分

每一次,当我针对工作略微产生厌倦之感的时候,我仅仅只需前往一趟超市,去瞧一瞧普通人那如同“NPC模式”一样的情形。

你会瞬间意识到:

能坐着写代码,是一种奢侈。

哪怕是处于那般糟糕透顶的日子当中,我们依旧能够触及到一个充斥着恒常不变之真理的世界,这个世界里,信息能够自由自在地被获取,身旁围绕着的人们普遍都具备聪慧的头脑并且善解人意、通情达理。然而,每一回我步入现实世界之际,都会清晰地察觉到存在着巨大的落差,我总是感觉,在我所遇见的人群里面,大概有半数的人随时都处于一种类似“主系统维护中”的状态呢。

加上软件开发领域这般多样化,没有任何人能够彻底理解其中的十分之一 ,所以在入行十年之后,这个职业给予我们的回报,早就不只是金钱了 ,还有很多身边人无法获取的、意想不到的收获 。

所以,我存有信心,十五年之后,我将会撰写另一篇文章,题目是《入行三十年,我依旧因软件开发而着迷的那些事儿》。

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.mjgaz.cn/fenxiang/279558.html

联系我们

在线咨询:点击这里给我发消息

微信号:13588888888

工作日:9:30-18:30,节假日休息