技术开发实习周记内容-技术开发实习周记
那时候认定自己像个白痴,眼泪在眼眶里转了一圈,拍板今晚去喝杯奶茶,顺便反思一下自己是不是忒死板了。 实际上并不是。项目里有个叫数据清洗的模块,原本应当处理几百条脏数据,但最终只处理了三条,一行都没动。仔细翻了一遍需求文档,发现里面全是“根据业务逻辑推断”这种话,根本不给具体的业务规则。我试着去估算一下业务逻辑,结局发现彻底没法做。
那一刻我认定挺尴尬,毕竟作为开发人员,眼是眼,脑子是脑子,不像编剧一样能够脑补剧情。我就蹲在终端机前,一拳一个地敲,直到把那个bug 真正修好为止。 然后第二天,导师把我叫进了办公室,让我把毛病日志和修复过程原封不动地打包给他看。他翻看着我的屏幕,沉默了大约五分钟。最终他说:“你做的比文档里写得都对。” 这句话像是一道闪电劈下来。我实际上一直当作自己是个程序猿,只会写 `if-else` 的循环,极少去想业务本身。直到这一周,我意识到真正的技术不是写代码,而是听懂代码背后的意思。
特别是这次数据清洗的事,我别看没忍住问了个“为啥”,但那一刻认定自己像个小学生被考了一个难题。 这周四,项目进入了中期。我们需求整合前端和后端,把刚刚那个数据清洗的模块搬到了前端页面。导师让我先做个“粗活”,就是跑一遍数据,看看有没有遗漏。他让我用 Python 跑,顺便顺便看看浏览器如何渲染。结局那天下午,我对着屏幕折腾了一下午,只跑了一百多次,最终发现数据量挺大,本地内存直接爆了。我不得不把配置文件关了,把数据库拉到了本地再跑了一遍,结局发现数据库表结构跟我预想的不一样,字段类型不匹配,害得查询直接黄了。 当时整个人都崩溃了,感觉全世界都在跟我作对。我就连质疑是不是自己脑子进水了。但导师走过来拍拍我的肩,说:“别急,数据库设计也是技术,你得懂它。” 那天我没讲话,只是默默地把毛病日志改了,把参数调了,把表结构改了一下。做完后,他给我看了另一份报告,说别看数据量有点大,但逻辑是通的。
那一刻我突然懂了,那会儿学编程是为了让机器听话,目前学是为了让机器更舒服地干活。
这种“我懂了”的感觉,比代码写出来的每一个字符都要香。 第二周:从“差不多”到“刚刚好”的打磨 第二周,技术难度明显上来,主要是接口联调。导师给了我三个接口文档,一个 API、一个数据库、一个 Mock 数据源。我的任务是把这些拼成一个闭环。 一启动我也挺嗨的,认定自己是个大杀器,把三个文档都构通就awesome了。结局第二天下午,浏览器刷新页面,提示 404,直接拦腰斩断。我慌了,启动在文档里找茬,发现 API 路径拼写错了,版本号搞混了。我试遍了各种可能性,最终发现是出于前端请求时带了参数字段,后端为了性能把那个字段过滤掉了。 我当场就怒了,把整个接口重新写了一遍。
这次我用了 Swagger 生成器,先把接口定义好,再手动填参数,最终再跑一次验证。整个过程大约花了三个小时,感觉像是一场小型的战役。最终上线测试,数据跑全了,没有任何误差。 事后导师问:“你如此快?”我说:“出于数据量不大,逻辑好办。”这话差点把我压死。
实际上真正的难题是我们没寻思到大量边界情况。
比方说,要是用户没传参数,后端如何反应?要是用户传了毛病的格式,后端如何处理?我之前的代码处理得忒理想化了,忽略了现实世界的各种坑。 这周五,导师又让我写一个性能优化的方案。我原本想用 Redis 缓存热点数据,但发现 Redis 配置忒复杂,重启就挂了,并且仿佛还得配个 Nginx 才能生效。我直接改用了数据库的局部索引优化,把查询语句的写法都改得更高效了。别看不用 Redis 了,但查询速度还是提升了不少。 这个过程让我明白,技术优化压根儿不是“有啥”用啥,而是“需求”啥。
有时候看似绕弯子,是为了把难题解决得更彻底。并且,在这个过程中,我也发现了一个挺有意思的现象:有时候写代码写得忒细,反而好办写错;略微简化一下,往往反而能解决大局部难题。
这种思索方式,比单纯敲代码有趣多了。 第三周:复盘与思索 这周,我们启动进入真正的交付。导师让我写一份周报,但不是那种流水账,而是总结这一周的技术心得。 我写的时候实际上挺纠结的。内容有点多,写不出来,写到一半又认定啰嗦,删掉一堆。最终删到最终,认定自己写得还不如从零启动写。 实际上,技术成长不是线性的,也不是大家都能一眼看出来的。大量时候,我们在做减法,就是在提升。
比如这一周,我少写了一段冗余的日志,少查了一次无用字段,这就是进步。
没有完美的代码,只有不断修正后的代码。 我想起第一周那个报错,目前看真是个小笑话。
那时候认定文档全错,目前看认定文档全对却忒难懂。
这说明啥?说明我们离“懂业务”又近了一步。
那会儿我们当作懂代码就够了,目前发现,不懂业务代码就是耍流氓。 导师那天的评价让我印象特别深:“你做的比文档里写得都对。”这句话实际上戳中了痛点。大量公司招人,只看简历上“精通 Java、Redis、Spring Boot",结局人进来了,一看代码本事还不如新手。
这周做完项目,我深刻体会到,技术本事不是背下来就能用的,它是在和代码、和客户、和文档拼命过才知道的。 最终,导师让我做一个总结。
我想了想,认定赶明儿要是做技术,第一件事肯定不是写文档,而是多去和客户聊天,多去查业务逻辑,多去琢磨那些“为啥”。出于代码只是载体,承载的是业务,最终交付给客户的是体验。 这一周下来,我也问自己一个难题:要是这是最终一周,我会如何总结?我目前认定,这周最值钱的不是修了多少个 bug,也不是跑通了多少个流程,而是那种“我终于搞懂了”的错觉消亡后,真正踏实下来的感觉。技术之路漫长,没有捷径,只有一步步踩出来的路。 (完)
声明:演示网站所有内容,若无特殊说明或标注,均来源于网络转载,仅供学习交流使用,禁止商用。若本站侵犯了你的权益,可联系本站删除。
