勇哥说 Java

勇哥说 Java

知乎

连线人:勇哥你好!

勇哥:你现在啥情况?上班还是在学校?

连线人:在一家中厂,做 Spring Boot 三年了,工资税前 18,项目是“智慧XX平台”。

勇哥:(点头)听着挺标准,用的啥技术栈?

连线人:Spring Boot + MyBatis,Redis、RabbitMQ 都接了,数据库是 MySQL,部署在 k8s 上。领导天天说“我们这是微服务架构,对标阿里”。

勇哥:(眉头一挑)那你们有多少个服务?

连线人:七十多个。

勇哥:(战术后仰)我滴妈,七十多个?业务复杂吗?

连线人:不复杂,就用户、订单、审批、字典、日志……

勇哥:(手一挥)那你拆那么多服务干嘛?

连线人:领导说“单体是原罪,微服务才先进”,还要求每个服务都要有统一鉴权、统一日志、统一异常、统一返回值。

勇哥:(冷笑)统一个锤子,那你每天在干嘛?

连线人:改需求、修 Bug、对接口。

勇哥:具体点。

连线人:前端说接口慢,我就加缓存;缓存乱了,我就删缓存;删完出事故,就回滚。上午写 Controller,下午写 VO、DTO、BO,晚上对着 Swagger 调字段名。

勇哥:(敲桌子)业务你搞明白了吗?

连线人:说实话,没有。需求经常是“领导临时想到的”,文档只有一句话,比如“支持多租户能力,注意扩展性”。

勇哥:(眯眼)那多租户你怎么做的?

连线人:加了个 tenant_id。

勇哥:(差点被水呛到)我滴妈!那你知道什么是真多租户吗?

连线人:后来查了下,发现还要隔离数据库、配置、缓存、任务调度……但已经上线了。

勇哥:(扶额)来,360度转一圈让我看看。

连线人:(举着摄像头转了一圈)这就是我们的工作环境。

勇哥:(大口吸氧气瓶)我滴妈!人挨人挤着坐,你们这是办公室还是黑网吧!?

连线人:领导说这样有利于大家沟通协作。

勇哥:(冷笑)我看是有利于第一时间发现谁猝s了吧。

连线人:哎,鼠标 DPI 都不敢调低,不然稍微一甩就能碰到同事的键盘。

勇哥:(苦笑)那你们组有架构师吗?

连线人:有,一个“首席架构师”,主要工作是画 PPT 和定规范,比如包名必须三层、接口必须 RESTful、禁止使用 if-else 超过三层。

勇哥:(猛拍桌子)我滴妈!if-else 超过三层不让用,那你们业务逻辑写哪?

连线人:抽成 Strategy + Factory + Adapter + Template。

勇哥:(声音提高)最后一个简单判断,能跳八个类是吧?

连线人:对,新人进来两个月都不知道断点该打哪。

勇哥:(深吸一口气)那你现在想干嘛?

连线人:有点迷茫。感觉 Spring Boot 写到头了,每天 CRUD,换家公司还是 CRUD。

勇哥:那你有没有往下钻过?

连线人:试过看 Spring 源码,但看两天就放弃了;也想学 JVM、并发、分布式,但一回到项目就被需求打断。

勇哥:(点着屏幕)我问你,你现在离开 Spring Boot,还剩啥?

连线人:(声音低下去)SQL、HTTP、一点 Java 基础。

勇哥:这就对了。Spring Boot 不是你的核心竞争力,它只是个“生产力工具”。你现在的问题不是框架不够新,是你一直被需求牵着鼻子走。

连线人:那我是不是该去学新东西?比如上云原生、Service Mesh、Serverless?

勇哥:(冷笑)你现在连自己系统的 QPS 都说不清楚,学 Service Mesh 干嘛?

连线人:(被戳中)我们压测都是走形式的……

勇哥:我给你个实话,Spring Boot 工程师最危险的状态,就是“什么都用过,但什么都不精”。

连线人:那我还有救吗?

勇哥:(语气放缓)有。

连线人:(眼睛一亮)真的?

勇哥:你别再跟 Spring Boot 死磕了。

连线人:啊?

勇哥:你这个状态,再写三年,也还是“CRUD 熟练工”。

连线人:(点头)那我该怎么办?

勇哥:(沉吟两秒)我给你指条明路。

连线人:(身体前倾)您说。

勇哥:你去写前端。

Report Page