我高中是在县城一中读的,理科。那时候就知道闷头做题,目标很明确,就是要考个好大学。高考志愿填了计算机科学与技术,觉得这专业前景好。2013年9月,我去了省城那所理工类大学报到。
大学四年,前两年基本是教室、食堂、宿舍三点一线,把C语言、数据结构这些基础课啃了下来,成绩中等偏上。转折点在大三,跟着学院一位老师做项目,是个简单的手机APP开发。那是我第一次把书本上的代码变成实际能用的东西,虽然过程磕磕绊绊,调试一个界面跳转bug能折腾一整晚,但成功那一刻的兴奋感特别真实。这次经历让我对“开发”有了具体概念,也决定往软件开发方向走。大四没考研,开始跑招聘会,海投简历。2017年6月毕业前,拿到一家本地中型软件公司的offer,职位是Java开发工程师。
2017年7月正式入职。头半年主要是培训和打杂,维护一些老系统,写写简单的接口。公司项目节奏不算快,让我有时间慢慢熟悉企业级开发的整套流程,从需求理解、代码编写、测试到上线。第一次独立负责一个小的功能模块时,设计文档就被项目经理打回来三次,说我考虑的场景不全。这件事让我意识到,学校里的作业和公司里的产品,要求是天差地别的。我开始有意识地看同事怎么写设计文档、怎么进行代码评审。2019年,我被选进一个银行内部管理系统的新项目组,开始接触分布式架构和微服务。那段时间加班很多,但也是成长最快的一段时间,对Spring Cloud、消息队列这些技术的理解从“知道名字”到了“知道怎么用、为什么用”。2020年初,我升为高级开发工程师,开始带两个新人,偶尔也需要和客户侧的技术人员直接沟通。带人比自己写代码还累,你得把一件事为什么这么做讲清楚,这反过来也逼着我把很多知识梳理得更系统。
2021年,我感到有点瓶颈。公司业务稳定,技术栈也固定了,每天的工作重复性变高。我萌生了去更大的平台看看的想法。年中开始准备面试,刷题、复盘项目。2022年3月,我跳槽到了一家国内一线的互联网公司,base在了上海。新环境压力陡增,技术更前沿,发布更频繁,协作的同事更多也更专业。第一个季度非常吃力,过去的经验好像不太够用,大家讨论的很多技术细节和架构理念我需要恶补。我开始利用一切时间学习,周末也常在看技术文章和源码。现在在这里干了一年多,已经逐渐适应,负责一个重要业务子系统的架构优化。回头看,从只会写课后作业的学生,到能独立负责系统模块的工程师,再到能在更大平台应对复杂挑战的技术骨干,每一步都踩在具体的项目、具体的困难和具体的突破上。简历上的时间点和公司名称是骨架,而这些过程里的焦虑、学习和解决问题,才是长出来的血肉。技术这行,停下来就慌,可能一直得保持那种学生时期啃难题的劲儿。