从测试到开发:我用MiniMax和智谱清言趟过的坑,和那些深夜的破防瞬间

勇敢的游侠
2026-07-10 21:57
阅读 373

坐标杭州,3年测试转开发,背着房贷的普通打工人。这篇文章,写给我自己,也写给每一个在深夜里敲代码、怀疑人生的你。


01 | 那个让我决定转行的夜晚

去年十月的一个周五晚上,杭州已经入了秋,风里带着点凉意。

我从公司出来,骑着小电驴过钱塘江大桥的时候,手机震了一下。是老婆发来的微信:"老公,房贷这个月扣了没?"

我单手扶着车把,另一只手划开手机看了一眼——6847.50元。这个数字我太熟了,每个月15号准时从卡里划走。我月薪到手15k,房租3500(我们租的是余杭区一个老小区的两室一厅),再加上物业、水电、吃饭、通勤……每个月能存下来的钱,掰着手指头都数得过来。

"扣了。"我回了两个字。

其实那天下午,我刚被领导叫到会议室"聊了聊"。说白了就是绩效面谈。我入职这家公司快两年了,一直做的是功能测试,偶尔写写自动化脚本。领导说:"小陈啊,你测试这块做得还行,但是……你懂的,现在大环境不好,公司要降本增效,测试这块的HC可能要缩一缩。"

我当时心里就咯噔一下。

"你的意思是……"我试探着问。

"不是说马上要裁你啊,"领导笑了笑,那种笑我太熟悉了,是那种"我要说一些让你不舒服的话但我希望你觉得这很正常"的笑,"但是你要有点危机意识,对吧?纯测试的天花板你也看到了,你要想想自己的出路。"

我点点头,说了句"好的领导我理解",然后回到工位上,盯着Jira看板发了半小时的呆。

那天晚上回到家,老婆已经睡了。我坐在书房里——其实就是阳台改了个隔断,放了一张1米2的桌子和一把人体工学椅(拼多多买的,299元,坐久了腰还是疼)。我打开电脑,没有写测试用例,而是打开了招聘网站。

搜索"杭州 后端开发",薪资范围15k-25k。

我看了大概二十几个JD,越看越心凉。大部分要求3年以上开发经验,熟悉Spring Boot、MySQL调优、Redis、消息队列,最好有微服务经验。我呢?我会写Python脚本,会点Java基础,大学时候做过一个课设级别的Spring MVC项目,然后就……没有然后了。

那天晚上我失眠了。躺在1米5的床上,听着老婆均匀的呼吸声,脑子里全是各种念头在打架:

"要不要去报个培训班?"——算了,动辄两三万的学费,我现在哪负担得起。

"要不要考个研?"——别逗了,我毕业都三年了,高数早就还给老师了。

"要不回老家?"——老婆是江西人,我是安徽人,回谁家都不合适,而且杭州好歹互联网机会多……

翻来覆去到凌晨三点,我最后做了一个决定:自学转开发

不是头脑发热。我算了一笔账:如果我不转,按照现在测试的薪资天花板,可能三五年后也就18k-20k,而且随时可能被优化。如果我转开发成功,哪怕起薪持平,未来的天花板也高得多。更重要的是,我今年28了,再不拼一把,等到35岁……你懂的,互联网行业的"毕业"年龄。

那天晚上,我在备忘录里写了一行字:给自己一年时间,转不了开发,我就认命。


02 | 自学开发的头三个月,我差点崩溃

说干就干。

去年十一月初,我正式开始"下班后第二人生"。每天下班回到家,吃完饭大概七点半,然后学到十一点半,四个小时。周末全天,早上九点到晚上十点,中间就吃饭和遛个弯的时间。

我给自己定的路线是:Java基础 → Spring Boot → MySQL → Redis → 微服务 → 项目实战。

听起来很合理对吧?

现实是,我高估了自己的自律,低估了自学的难度

第一周还好,Java基础嘛,变量、循环、面向对象,我以前写Python的时候也接触过一些概念,学得挺顺。但到了第二周,开始学集合框架和IO流的时候,我就开始懵了。什么HashMap的底层原理、红黑树、线程安全……每一个概念都像一座山。

我记得特别清楚,11月18号那天晚上,我在学多线程。看了一个B站上的视频,讲的是synchronizedReentrantLock的区别。视频里那个老师讲得飞快,我看了两遍还是似懂非懂。然后我打开IDEA想自己写个demo练练手,结果——

Exception in thread "Thread-1" java.lang.NullPointerException
    at com.example.Demo.run(Demo.java:23)

空指针。

我盯着屏幕看了十分钟,没看出来哪里错了。然后去Google搜,搜出来的答案要么太复杂看不懂,要么和我的场景不一样。那一瞬间,我真的破防了。

我把键盘一推,靠在椅背上,盯着天花板,脑子里只有一个念头:我是不是太蠢了?

测试的时候,虽然也要写代码,但毕竟有开发在旁边,遇到问题吼一嗓子就能解决。现在自己一个人学,连个问的人都没有。

那天晚上我没学到十一点半,十点半就关了电脑。躺在床上,老婆迷迷糊糊问我:"今天怎么这么早?"

"学累了。"我说。

"要不……别这么拼了?"她翻了个身。

"不行。"我语气很坚定,但心里其实虚得很。


03 | 转机:一个同事的随口建议

转折发生在12月初的一个中午。

那天在公司食堂吃饭,我碰到了隔壁组的一个开发小哥,叫阿杰。阿杰比我小两岁,但是技术很牛,听说拿过公司的年度技术之星。

我跟他不算很熟,但之前因为提bug的事打过几次交道。他看我端着餐盘找座位,就招呼我坐他对面。

"最近咋样?听说你们组要缩编?"阿杰边吃边问。

"是啊,愁死了。"我扒了口饭,"我打算转开发,在自学呢。"

"哦?自学?"他来了兴趣,"学啥呢?"

"Java后端,Spring Boot那一套。"

"学得怎么样?"

我苦笑了一下:"别提了,学到多线程那块,感觉脑子不够用。"

阿杰想了想,说:"你现在怎么学?看视频?"

"对,B站上找的那种免费教程。"

"我跟你讲,"他放下筷子,很认真地看着我,"看视频学编程,效率很低的。你看的时候觉得都懂了,一动手就废。你得边学边练,遇到问题直接问AI。"

"AI?ChatGPT?"

"ChatGPT你得上梯子,麻烦。你试试MiniMax智谱清言,国产的,免费,而且对中文的理解比GPT好。"

我当时其实对AI辅助编程是有点抵触的。之前公司里有人用AI写代码,我觉得那不算真本事。但阿杰接下来说的一句话打动了我:

"你又不是在造火箭,你是在学编程。AI是你的私教,不是替你考试的人。你用它来理解概念、排查bug、生成练习题,最后代码还是你自己写,知识还是进了你的脑子。这有什么丢人的?"

那天下午回到工位,我下载了MiniMax和智谱清言的App。

说实话,一开始我没抱太大期望。

但当天晚上,我的学习体验就彻底变了。


04 | MiniMax和智谱清言,我的两个"AI私教"

先说MiniMax

那天晚上,我把之前卡住我的多线程问题丢给了MiniMax。我没有直接问"帮我写个多线程代码",而是问:"我是Java初学者,能用通俗的话解释一下synchronized和ReentrantLock的区别吗?最好能举个生活中的例子。"

MiniMax的回答让我眼前一亮。它用"公共厕所"来比喻synchronized——门一锁,别人就得等,简单粗暴。然后用"带号码牌的VIP等候区"来比喻ReentrantLock——可以公平排队,也可以插队(非公平锁),还能超时放弃。

我一下就懂了。

然后我又问:"那你能给我出几道多线程的练习题吗?从简单到难,先别给答案,等我做完了你再帮我看看。"

它真的出了五道题,从最基础的"两个线程交替打印1到100",到稍微复杂的"模拟一个简易的生产者-消费者模型"。我花了一个晚上做完了前三道,然后让MiniMax帮我review。

它不光指出了我的bug,还解释了为什么会出这个bug,以及更好的写法是什么。

那种感觉,就像是你花了几万块报了一个一对一的辅导班,老师不仅教你做题,还教你思路。

再说智谱清言

我主要用它来学Spring Boot和数据库相关的知识。

举个例子,12月中旬的时候,我在学MySQL的索引。书上讲B+树,讲聚簇索引和非聚簇索引,我看得头都大了。然后我问智谱清言:"我是初学者,B+树这个东西,能不能用画图的方式给我解释一下?就是文字描述的那种图。"

它真的用ASCII码给我画了一个简化版的B+树结构:

          [10 | 20 | 30]          <- 非叶子节点(索引)
         /      |       \
   [5|8|9]  [12|15|18]  [22|25|28]  <- 叶子节点(数据)

然后一步一步解释:为什么MySQL选择B+树而不是B树?因为B+树的叶子节点之间有链表连接,范围查询的时候不用回到父节点,效率更高。

那一刻,我有种"任督二脉被打通"的感觉。

而且智谱清言有个特别好的功能,就是它能记住上下文。我可以在一个对话里,从索引讲到慢查询优化,再讲到explain执行计划,它都能连贯地接上,不用我反复解释背景。


05 | 踩过的坑,说出来都是泪

当然,用AI辅助学习也不是一帆风顺的。这里分享几个我踩过的坑,希望大家别重蹈覆辙。

坑一:过度依赖AI,丧失独立思考能力

1月初的时候,我自信心膨胀了。觉得有AI帮忙,什么代码都能写。于是我开始尝试做一个小项目——一个简易的博客系统。

结果,我犯了一个致命的错误:每遇到一个问题,我第一反应就是问AI,而不是自己先想。

比如前端页面样式不对,我直接截图丢给AI问"怎么改"。AI给了答案,我复制粘贴,好了。但下次遇到类似的问题,我还是不会。

有一天晚上,我老婆看我对着屏幕一会儿问AI、一会儿复制粘贴,忍不住说:"你这不像在学编程,像在当搬运工。"

这句话把我点醒了。

从那以后,我给自己定了个规矩:遇到问题,先自己思考至少15分钟,实在想不出来再问AI。而且问AI的时候,不要直接要答案,而是让它给提示、给思路。

比如,我不再问"这段代码哪里有bug",而是问"这段代码的逻辑有没有问题?如果有,给我一个方向性的提示就好"。

这个改变,让我的进步速度反而更快了。

坑二:AI也会"一本正经地胡说八道"

2月份的时候,我在学Redis的持久化机制。我问MiniMax:"RDB和AOF的区别是什么?在什么场景下应该用哪个?"

它回答得很详细,但其中有一句话——"AOF重写的时候会阻塞主线程"——让我觉得不太对。因为之前看官方文档的时候,好像说的是AOF重写是在子线程进行的。

我去翻了Redis的官方文档,确认了:AOF重写确实是在子线程进行的,不会阻塞主线程。

我把这个错误反馈给了MiniMax,它后来修正了回答。但这件事给我敲了一个警钟:AI不是万能的,它会犯错。特别是涉及到一些细节的、版本更新的知识,一定要去官方文档验证。

从那以后,我养成了一个习惯:AI告诉我的重要知识点,我都会去官方文档或者权威博客上交叉验证。这个过程虽然多花了一些时间,但让我的知识体系更加扎实。

坑三:贪多嚼不烂,什么都学等于什么都没学

3月份的时候,我已经把Spring Boot的基础学完了,开始接触微服务。然后我就……崩了。

Spring Cloud、Nacos、Gateway、Feign、Sentinel……一堆组件,每个都要学。我恨不得一天学一个,结果就是一周下来,每个都只知道了个名字,连demo都跑不起来。

那段时间我很焦虑,感觉自己又回到了之前那种"什么都懂一点、什么都不精"的状态。

有天晚上,我在智谱清言上吐槽:"我感觉自己学了好多东西,但好像什么都没学会。"

它回了我一段话,我至今还记得:

"学习不是线性的,不是学的东西越多就越强。你现在的问题不是学得不够多,而是学得不够深。建议你暂时停下来,不要急着往下学。找一个你学过的项目,把它从头到尾重新做一遍,这次不看教程,不看AI,自己独立完成。做完之后,你会发现自己真正掌握了多少。"

我听了它的建议,花了一个多星期,把之前做的博客系统重新做了一遍。这次我遇到了很多问题——数据库连接池配置不对、事务没生效、接口幂等性没考虑……但每一个问题,我都是先自己排查,实在不行再查资料、问AI。

那个项目做完之后,我感觉自己的功力提升了一个档次。


06 | 面试、offer、和那个改变命运的下午

时间来到今年五月。

经过半年的学习,我觉得自己差不多可以试试了。于是我开始投简历,目标很明确:杭州,Java后端开发,15k以上。

现实很骨感。

前两周,我投了大概三十多份简历,只收到了四个面试邀请。其中两个还是外包公司。

第一个面试,是一家做电商的小公司。面试官问了我一堆Spring Boot的问题,我答得磕磕绊绊。最后他问:"你有实际的项目经验吗?"我说我做了一个博客系统。他笑了笑,那种笑,你懂的。

那天从面试的公司出来,我在西湖边坐了很久。看着湖面上的游船,心里五味杂陈。

我是不是真的不行?测试转开发,是不是太异想天开了?

但我没有放弃。

接下来的面试,我调整了策略。我不再海投,而是精挑细选。每次面试前,我都会用MiniMax和智谱清言做"模拟面试"。

我会问它们:"我明天要面试一家做金融的公司,Java后端岗位,你帮我预测一下可能会问哪些问题?"然后它会给出一份清单,从Java基础到框架到数据库到系统设计,面面俱到。我再针对这些问题一一准备。

这个方法非常有效。

六月初,我收到了一家中型互联网公司的面试邀请。做SaaS产品的,技术栈是Spring Boot + MyBatis Plus + Redis + RocketMQ。

一面是技术面。面试官是个三十出头的大哥,问题问得很细。从HashMap的扩容机制,问到Spring的事务传播行为,再问到Redis的缓存穿透怎么解决。

这些问题,我大部分都答上来了。因为我不光是背了八股文,而是真的理解了背后的原理——这要感谢AI帮我用各种通俗的方式讲解过这些概念。

最后面试官问:"你之前是做测试的,为什么想转开发?"

我想了想,很真诚地说:"因为我喜欢写代码。测试的时候,我每次给开发提bug,都会想这个bug如果是我来写,我会怎么避免。后来我发现,我更享受的是创造的过程,而不是找问题的过程。"

面试官点了点头,没说什么。

二面是技术总监面。他问了我一个开放性的问题:"如果让你设计一个短链接服务,你会怎么设计?"

这个问题我之前在智谱清言上讨论过。当时我让它帮我做系统设计练习,它不光给了我方案,还引导我思考了很多边界情况——比如短链接的碰撞问题、高并发下的性能问题、统计分析怎么做。

我把这些思路组织了一下,有条有理地讲了出来。总监听完,问了一个细节:"如果每天的生成量是100万,你的方案能撑住吗?"

我想了想,说:"100万的日生成量,QPS大概在12左右,其实不算高。但如果考虑读取量可能是生成量的10倍以上,那就需要在缓存层做好设计。我会用Redis做一层缓存,同时数据库做分库分表……"

面试结束后,我其实没抱太大希望。因为有些问题我回答得也不够完美。

但三天后,我收到了offer。

月薪22k。

从15k到22k,涨了7000块。

我看到offer邮件的时候,手都在抖。我第一时间给老婆发了微信:"过了。"

她回了一个表情包:一只猫在疯狂鼓掌。

然后她打了个电话过来,电话那头她也在笑,笑着笑着声音有点哑:"老公,我就知道你可以的。"


07 | 一些掏心窝子的话

写到这里,这篇文章已经很长了。但我想再分享几点感悟,给和我一样在自学路上挣扎的朋友。

1. AI是工具,不是拐杖

MiniMax和智谱清言帮了我很多,但我始终记得一点:它们是我的工具,不是我的拐杖。

我从来不让AI替我写完整的项目代码,也从来不直接复制AI的答案就完事。我会让它给我讲解概念、提供思路、帮我review代码、给我出练习题。但最终的代码,一定是我自己一行一行敲出来的。

学习这件事,没有捷径。AI能帮你加速,但不能替你走路。

2. 别怕慢,怕的是停

我花了半年时间才转行成功,中间有无数次想放弃。但回头看,真正让我成功的,不是某一天突然开窍,而是每一天都在往前走。

哪怕那天只学了一个小时,哪怕那天只是搞懂了一个小概念,那也是在进步。

3. 找到适合自己的学习方式

每个人的学习方式不一样。有人适合看书,有人适合看视频,有人适合直接上手做项目。我的方式是**"项目驱动 + AI辅助"**——先确定要做什么,然后在做的过程中遇到问题就去问、去学。

这种方式可能不是最高效的,但对我来说是最有效的。因为它让我始终保持了学习的动力——我在解决真实的问题,而不是在死记硬背。

4. 关于房贷、关于生活

最后说点题外话。

转行成功之后,我的月薪从15k涨到了22k。扣完五险一金和个税,到手大概17k多。房贷还是6847.50,但心里的压力小了很多。

上个月,我和老婆去吃了顿好的,在湖滨银泰的一家日料店,人均300多。她点了个刺身拼盘,我点了个鳗鱼饭。吃的时候她突然说:"老公,你最近头发好像少了一点。"

我摸了摸头,笑了:"那是智慧的代价。"

其实我知道,这半年我确实透支了不少。熬夜、焦虑、久坐,身体不如以前了。所以我现在开始注意锻炼了,每周跑三次步,每次五公里。

赚钱很重要,但身体更重要。别像我一样,等到老婆提醒你头发少了,才想起来要锻炼。


08 | 写在最后

现在是2024年的夏天,距离我决定转行,已经过去了大半年。

我在新公司已经入职两个月了,工作内容比我想象的要有挑战性,但也更有成就感。每天写的代码,是真的在跑、在为用户服务的。那种感觉,和写测试用例的时候完全不一样。

偶尔,我还是会用MiniMax和智谱清言。不是为了抄答案,而是为了学习新的技术、理解复杂的概念、或者在遇到bug的时候多一个排查思路。

它们已经成了我工具箱里的一部分,就像IDEA和Chrome DevTools一样。

如果你也是一个想转行、在自学路上挣扎的人,我想对你说:

别怕。路虽然难走,但每一步都算数。

你不需要是最聪明的那个人,你只需要是那个没有放弃的人

共勉。


如果你也有转行或者自学的经历,欢迎在评论区聊聊。也许你的故事,能鼓励到另一个正在深夜里敲代码的人。

—— 一个在杭州背着房贷、但终于看到光的普通人

评论 0

最热最新
暂无评论
勇敢的游侠Lv.1
0
影响力
0
文章
0
粉丝