为什么选择离开老东家?这事儿说起来就复杂了。
我这个人,大家也知道,就是个老实巴交的码农,平时除了敲代码,最大的爱好就是琢磨点儿新东西,分享点儿自己踩过的坑。在老东家待了快六年,从一个愣头青干到部门技术骨干,说没感情那是假的。
刚进公司那会儿,啥都缺,人手缺,技术栈也乱七八糟。我记得当时我们用的是一套老掉牙的PHP框架,好多代码都是祖传的,维护起来特别痛苦。我那会儿年轻气盛,自己偷偷摸摸把一些核心服务用Go重写了,性能一下就上去了,老板和同事都挺认可我的。
转折点:那个要命的项目
真正让我动了离开念头的,是去年底接的一个大项目。公司为了抢占市场,接了个特别急、特别大的单子,要求我们几个月内搞出一个全新的SaaS平台。这项目说白了,就是要把我们现有的一堆零散服务整合起来,再加入大量的新功能。
技术选型上,我和领导出现了巨大的分歧。
我当时建议用Kratos+Go微服务架构,理由是性能高、运维简单、社区支持也不错。而且我们组几个核心骨干对Go都比较熟悉,上手快。但是,部门领导非要用Java Spring Cloud那一套。他的理由是:
- “Java生态更完善,招人容易。”
- “Java成熟稳定,经得起考验。”
- “老架构就是Java写的,切换成本低。”(一点都不低,老架构和新架构完全是两回事)
我当时就懵了。一个追求性能、快速迭代的项目,非要选一个臃肿的、启动慢的框架。我据理力争了好几次,把我们用Go重构的老服务数据拿出来对比,性能提升了多少,内存占用少了多少,他就是不听,一句话拍板:“就用Java!”
被压下去的创新与疲惫
项目启动后,果不其然,问题接踵而至。新人招进来,对Spring Cloud不熟练,开发效率低。老架构的遗留问题没法解决,光是调优启动时间就花了我们好几周。我每天工作十六七个小时,不仅要写核心代码,还要给那些刚毕业的小朋友擦屁股,解决各种诡异的依赖冲突和内存泄漏问题。
更让我心寒的是,我提出的许多优化方案,比如引入Kafka做消息队列,或者用Redis做分布式锁,都被领导以“增加复杂度”为由否决了。他坚持用最“稳妥”的方式,结果导致我们项目进度越来越慢,代码质量越来越差。
那时候,我感觉自己不是在开发,而是在做一套“历史的复刻”。公司花大价钱,招了一批人,用了最新的技术,结果搞出来的东西还不如我们几年前用Go重构的老系统稳定。心里的那种无力感,慢慢就堆积起来了。
压死骆驼的一根稻草
直到项目中期评审,客户那边提出了几个非常硬性的性能指标要求,我们现在的Java服务根本达不到。领导才慌了,临时成立了一个“性能攻坚小组”,让我负责。那段时间,我带着两个人,没日没夜地干,只能曲线救国,把几个关键瓶颈的服务又偷偷用Go写了,然后外面套了一层薄薄的Java壳子做调用。
虽然最终项目勉强交付了,但代价是极大的身体透支和精神上的疲惫。最让人难受的是,我明明知道更好的路在哪里,却被强制走了一条弯路。我发现,在这个公司,技术创新已经被管理层僵化的思维和对风险的过度恐惧彻底扼杀了。
发年终奖的时候,我的绩效虽然是A,但奖金并没有体现出我在这项目中的付出。我跟领导沟通,他只是轻描淡写地说:“项目能交付就不要老是想着搞新东西。”
那一刻我明白了,我已经在这个地方走到了头。我的追求和公司的发展方向已经完全背离了。我需要一个能让我继续折腾、继续分享、继续用自己喜欢的方式解决问题的环境。我提交了辞职信,没有丝毫留恋。现在我在新的环境里,用Kratos玩得飞起,每天都充满了干劲。这才是我想做的事。

还没有评论,来说两句吧...