最近在网上看到一位大厂后端朋友的感慨,说实话,挺有共鸣的。他说:“我的技术并没有进步,我只是更熟悉公司内部的基建和流程了。”
这句话一出,立刻在评论区引发了激烈的讨论。
有人深感扎心,认为技术的提升如今主要依靠准备面试时的临时复习。平时工作中接触的技术栈和业务逻辑,与面试时考察的算法、八股文,常常是两条平行线。
但也有人提出了不同的视角:熟悉并掌握大厂的基建和流程,本身就是一种后端能力。这种经验是通用的,去下一家公司能更快上手,甚至能对不合理的流程提出改进意见,这不也是“技术”吗?单纯追求写出优雅、高效的代码未必是当下的首要任务。在大厂庞大的遗留系统(俗称“屎山”)里工作,很多时候并没有机会施展“Clean Code”的理想,反而对业务领域知识(Domain Knowledge)的深刻理解和举一反三的能力更为宝贵。
这个观点确实引人深思。到底什么是技术?是解出一道刁钻的算法题?是熟练运用某个热门框架?还是啃下大部头的源码?或许,一个更朴素的衡量标准是:以前做不出来的东西,现在能做了,这就是进步。如果一个大平台的协作流程、基础建设,能帮助你实现过去个人无法完成的复杂系统,这本身就是一种巨大的成长。
有人进一步追问:为什么一定要追求技术上的进步呢?提升人际关系处理、团队协作、快速适应新环境、以及抗压能力,不也是重要的成长吗?当然,也有反驳的声音认为,这些更多是“生存技能”,对于推动技术发展的上限作用有限。世界的进步依赖前沿的技术产出,如果一代代人只学会了如何在既定规则下生存,而没有去挑战和突破专业的极限,那是一种内卷式的循环。
另一位朋友的评论很有意思:业务代码写得越多,技术水平可能越低。因为面试时背诵的那些“奇技淫巧”,在很多成熟的大公司里,要么有现成的库可以调用,要么根本就用不上。他提到,国外的面试似乎更侧重实际问题的解决能力,而不是国内这种“面试造火箭,工作拧螺丝”的模式。
一些刚入职场的同学也分享了类似的感受:很多需求做之前觉得很难,做完后感觉“也就那样”。真正的困难往往不在于技术本身,而在于理解复杂的业务逻辑和前人留下的代码。初期写的代码可能比较简单,但随着时间推移,面对的问题会越来越复杂,很多甚至没有标准答案,需要自己摸索、求助,完成从零到一的构建。
或许,我们应该对“技术”本身祛魅。工程师的核心价值,在于用合适的方法把事情做成。刚入行时,我们调度不同的 API 让程序跑起来;成为资深工程师后,我们调度不同的团队和资源让项目运转起来。本质都是在特定的领域内(Domain)解决问题,只是规模和复杂度不同了。
在现实的商业世界里,技术选型往往不是追求理论上的最优,而是综合权衡下的最快、最便宜、阻力最小的方案。业务本身的价值,很多时候远超实现它的技术。有句听着刺耳但值得玩味的话是:国内互联网行业,真正的核心是业务,而非纯粹的技术。
这种现象并非个例。在大型组织里,个人技术能力的闪光有时需要让步于团队的步调一致。流程和规范的建设,一个重要目的就是让不同能力层次的人能够高效协作。当有一天需要你独当一面,从零开始“造轮子”时,很多人反而会怀念当“大头兵”的日子——毕竟,造轮子实在太累了。
有趣的是,越是顶级的大厂,越倾向于自研一套技术体系,而不是直接采用成熟的开源方案。当你离开时,这些深度定制甚至“魔改”过的内部知识,很可能无法直接复用。即便某些内部组件兼容了开源协议,但也做了所谓的“优化”,这时如果你凭借对原开源方案的了解去操作,反而容易踩坑。
最后,一个很现实的论调是:能赚钱就行了,技术有那么重要吗?把业务搞明白就够了。这话听着糙,但理不糙。对于我们大多数人而言,工作首先是谋生的手段。
写到这儿,不禁思考:这或许就是当下许多后端工程师面临的真实状态。纯粹的技术突破或许不多,但对业务的理解深度、对复杂流程的掌控力却在与日俱增。这到底算不算一种进步?相信每个身处其中的人,都有属于自己的答案。技术成长和业务精进,这些话题也常常是云栈社区里开发者们探讨的焦点。
|