为什么都形容程序员是搬砖的

243 阅读5分钟

前言

写代码的程序员在外行人眼中,就像电影上的黑客一样,黑入账号,网站,获得数据,只要有台电脑,就能用代码让自己无所不能。

但实际上的程序员呢?

image.png

搬砖的人生

我一直认为把程序员的工作比喻成搬砖很贴切,但这不是自嘲,重复简单的工作,干了一年又一年,不就像搬砖一样吗?

而实际工作中一般的程序员,就像搬砖的工人一样,把一行行代码从这里搬到那里,重复CRUD或者把自己的代码和别人的代码嵌套在一起,就像这样:

image.png

搬砖是体力活,而程序员搬运代码就是脑力活,真实的程序员没有外人眼中的高大上,就是CV,从这搬到那。重复性工作,大部分人还真是在搬砖,这就是大部分程序员的真实写照。

当然也并非所有程序员都是搬砖的,比如资深开发,架构师等。拿盖楼房举例,我们实际工作中的角色可以这样形容:

  • 开发人员 = 建筑工程师(搬砖、和水泥、砌墙)
  • 测试人员 = 质检员 (检测楼房质量、规范)
  • 架构师 = 工程设计师 (地基搭建、框架外形的设计、建筑容灾等)
  • 项目经理 = 包工头 (施工的进度、质量、成本、安全把控)

但大部分程序员一开始进入工作基本都是在搬砖,大家都在同一起跑线上,怎么成长呢?

搬砖中成长

何为成长?成长是指自我提升,一方面是本身的个人能力,另一方面是社会对你的认可度。最终,程序员的职位和薪水都能在成长中得以体现。

很多人对成长有误解,在他们眼中,随着工作年限的提高,成长是理所当然的事情,这其实是一个误区。两个程序员同时工作 3 年,难道他们两个的成长就完全一样吗?其实是不一样的。很多岗位在招聘的时候都要求 3 年以上工作经验,这个 3 年工作经验是指持续成长的三年,而不是指浑浑噩噩混日子的三年。下面举个通俗易懂的例子,大家一定能理解。

这里还是拿盖大楼举例,比如某大公司发布了如下一个招聘需求,招聘资深建筑工程师,提供具有行业竞争力的薪酬,要求如下:

  • 5 年房屋建设工作经验;
  • 对房屋建设的各个阶段有深刻了解;
  • 熟悉各种类型的砖头、钢筋、水泥等原材料的使用方式;
  • 要求持有国家二级以上建造师证书;
  • 吃苦耐劳优先。

看到这个招聘JD 后,只要是有 5 年经验的建造师都跃跃欲试,都觉得自己可以。

其实这个岗位是干什么的呢?这家大公司想盖一栋 50 层的高端商业写字楼,需要招一个资深工程师来完成整个高楼的地基、框架和外形的设计,还需要考虑容灾和抗震等级。

而来应聘的一大部分建筑工程师,他们虽然工作了 5 年,可是他们平时都在做什么呢?大概是这样的:

  • 搬砖、和水泥、砌墙等;
  • 建过的房子不超过 6 层;
  • 从来没有考虑过地基的搭建、框架和外形的设计,因为他们不需要考虑,只要按照已有的方案来干就行。

就这样工作了 5 年,在自己的工作领域(搬砖、和水泥、砌墙)驾轻就熟,觉得建房子不就这么简单嘛,觉得自己已经精通了建房子。

但事实上,他们真的能够胜任 50 层高楼的建筑工作吗?很显然,不能!

什么样的人能够胜任这类工作呢?他们也工作了 5 年,他们平时所做的事情大概是这样的:

  • 第一年:搬砖、和水泥、砌墙等,参与建造一些 6 层小楼;
  • 第二年:搬砖、和水泥、砌墙等,同时研究各种砖头、水泥、钢筋等原材料的特性,知道不同原材料的适用场景,可以独立建造 6 层小楼了;
  • 第三年:跑到另一个建筑队,建造 10-20 层的普通住宅,开始跟着工头一起参与地基、框架和外形的设计,业余时间阅读一些建筑书籍,了解一些国内外知名建筑的设计思想和理念,并时常在建筑论坛发表自己对建筑设计的理解;
  • 第四年:开始独立负责 10-20 层普通住宅的建造了,在业余时间开始研究 30-40 层商业建筑的设计和建造,考虑设计理念、建筑容灾等问题,一心想自己设计一栋更高的大楼;
  • 第五年:一个合适的契机,加入这家大公司,主导 50 层高端商业写字楼的设计和建造。

到这里,我想大家都明白了。搬 5 年砖也还只是一个搬砖的,无论如何也设计不了摩天大楼。

同理,对于程序员来说,待在同一个岗位重复着搬砖的工作,是无法有很大成长的,只有不断地挑战自我才是正确的成长姿势。

总结

目前人工智能技术日渐成熟,AI写代码已经慢慢崭露头角,虽然还无法实现复杂项目逻辑,但是搬砖程序员的未来也是岌岌可危。

搬砖没前途,但我们可以在搬砖过程中不断思考学习,只有与工作年限相匹配的技术能力才是我们的资本,愿JYM在2025年的工作中都能得偿所愿!!!

创作不易,求赞+收藏,关注不迷路!!!