“我干的真是一份工吗?”做软件工程师有多疯:React+运维+管理=1个人干……

boyanx3个月前技术教程12

【CSDN 编者按】在技术行业狂奔的今天,软件工程师似乎成了“全能超人”的代名词——既要深挖技术栈,又要横跨前后端,甚至被迫接管运维、管理、产品等角色。对于开发者而言,“全栈”已不再是能力标签,而几乎成为了生存必备技能。在本文中,作者道出了程序员在技术爆炸时代的真实困境:工具链疯狂迭代,技能要求无限膨胀,但专业分工的边界却越来越模糊。

原文链接:
https://0x1.pt/2025/04/06/the-insanity-of-being-a-software-engineer/

作者 | Vitor M. de Sousa Pereira 翻译 | 郑丽媛
出品 | CSDN(ID:CSDNnews)
我常常在想:当一名软件工程师至于“疯”成这样吗同时我也时常怀疑其他行业难道也都这么离谱吗?

说实话,当一名软件工程师真的很难。入行时就得掌握好几种编程语言和各种开发工具——但这远远不够。公司还要求精通他们用的那一套特定框架,可能是 Rails、Django、Laravel 或别的什么东西。CSS 更是必修课,虽然你可能花一辈子都搞不明白为什么布局会崩,但勉强糊弄的水平还是能达到的。

JavaScript 这个坑你也绝对躲不掉。运气好的话,或许只需要在维护祖传代码时偶尔插两句jQuery,但情况总会改变……

某个时刻,Facebook 那群工程师造出了 React——这个拥有上万名工程师的大公司,突然让整个开发圈都开始分前端和后端了。整个技术圈突然集体认定React 才是正道。然而与此同时,各家公司又觉得“雇不起那么多工程师”,于是“全栈工程师”这个物种诞生了——恭喜,这个天选之子就是你!

赶紧去学 React,顺便用你熟悉的后端技术搭套 REST API 吧。

这还没完。类型系统总得要吧?那还得学 TypeScript。还打算在 React 里用 useState 管理全局状态?Redux 也得了解一下。你正庆幸躲过了这两劫?很遗憾Webpack/esbuild/rollup 配置大礼包 + Prettier + ESLint 正在向你招手。

你也许会说:“没事,我还是按原来的方式开发就行。不需要 React 项目一直也能跑。”——当然可以!你完全可以无视行业主流,继续在你那节奏飞快、烧钱如流水的创业公司里搞你的那一套。只要你愿意花时间给那些只听过 React 的新人讲讲服务器端渲染的奥妙就行了。

哦对了,刚才说的才只是入门级考验。

在远古时期,曾经有一类专业人士叫“系统管理员”,他们的工作就是确保后端服务正常运行:基础设施变更、数据库升级、系统打补丁、守护进程维护、重启服务……全包。后来某家穷疯了的公司发明了 DevOps,从此这些活就全归工程师了。

于是,你又要学 Docker 了。

什么,你说“我只写个静态链接的二进制包,根本用不上 Docker”?那你也得学 Ansible。顺便祝你好运,能搞清楚给 SystemD 传哪些启动参数。

到这里,旅程才过半呢。你还得学 AWS(或类似云平台)。当然你不能像“小白”一样点点控制台 GUI,你得学 Terraform、Pulumi 或者类似的基础设施即代码工具。

干得不错?于是公司提拔你当上了管理者,恭喜你,又要重新学一门完全不同的“职业技能”了。但也没关系,毕竟这代表你“通关”了,对吧?

此时,你的任务清单又多了几样:

(1预估项目的交付时间;

(2给团队成员分派任务;

(3撰写任务规格说明;

(4参与年度绩效评估;

(5在产品评审会上发表建设性意见

(6)……

你最好祈祷公司此时已经员工数量翻了四倍以上,不然在管理工作之外,你还得继续做前面那一大堆技术工作。

更离谱的还在后头。

前几天,一位招聘人员联系我,说有个神秘公司正在招高级工程师,要求熟悉 Rails、Hotwire,甚至还要掌握原生移动端开发。我当时寻思:你怎么不干脆把内核和编译器开发也写上?

软件确实越来越复杂,每个环节都有其必要性。但问题是,专精的时代去哪了?

想象一下盖一栋房子:建筑师、结构工程师、水电工、泥瓦匠、设计师、屋顶工、测量师……一个也不能少。没人会指望某个人,甚至某家公司能包办所有

这么看来,未来用几个 prompt 就能搭建一整套应用,或许也不是坏事

相关文章

流程设计器jQuery + svg/vml(流程设计器BPMN)

去年就完成了流程设计器及流程引擎的开发,本想着把流程设计器好好整理一下,形成一个一步一步的开发案例,结果才整理了一点点,发现写文章比写代码还累,加上有事情要忙,结果就。。明天要去外包驻场了,现把流程设...

vue中监听滚动事件:方法简单留着备用

看似简单的功能事件,难道了不少朋友,不是功能有多难,而是对原理不了解浪费不少时间;简单明了收藏备用,或推荐给初学的朋友,赠人玫瑰手留余香;在mounted中监听滚动元素的ID;‘scroll’监听事件...

了解 JS 的加载顺序和方式,实现 Ready 方法

页面加载 JS 顺序或方式不同,可能会导致功能失效、错误的产生或加载解析时间过长,拖慢整个页面展示。了解 JS 的加载顺序了解页面元素的加载顺序,找到 JS 执行失败原因。有时明明没有问的代码,可就获...

酷炫时间罗盘(时间罗盘是什么)

感觉很新奇的时间罗盘程序,显示非常酷炫,如下图:源代码如下罗盘.html <!doctype html> <html> <head> <meta charse...

jQuery中模拟用户操作(jquery模拟键盘输入)

有时为了节省不想手动操作网页,但又想看到用户操作时的效果,可以用到jQuery提供的trigger方法。见下图代码在不点击按钮时仍然想弹出this.value我们只需要在后面加上.trigger("事...

ClockPicker调用方法(α clock)

ClockPicker.js是一款时钟插件,其实还可以改进,里面的分可以改成短横线。在线实例实例预览jQuery ClockPicker 圆形时钟使用方法 <div class="input-g...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。