第一份工作小结

刚进公司,我对 Java 编程了解甚少,几乎只在毕业设计做了一个没有使用高级框架的系统。领导问我,给你时间你觉得多久能精通 Java,我说一年。一年以后,以面试标准看我并没有“精通”,然而也对 Java/Spring 服务端开发熟悉很多。工作五年间,通过学习和实践我越来越熟练,对 Java 8 的“新”特性得心应手,后来也探索性使用 Java 21 和虚拟线程。

我主要负责开发 web 系统,也伴以小程序、APP。入职伊始做了一点前端、测试工作,后来则专注开发,以及相关项目的上层运维。与同事沟通逐渐顺畅。看到产品需求文档、原型,能识别其中不合理、不明确或开发可能出错的地方。实际运用了学到的数据库事务知识,编写锁,处理并发,识别竞态等等。逐渐有能力独立设计系统,设计相对优良的接口。做了很多第三方接口对接工作。见识到国企 OA 流程操作之复杂。在一些项目是带有一点管理色彩的角色,也协助外包同事排查问题。很高兴慢慢成为开发同事有疑难杂症也会跟我交流的人。

帮助部门解决了一些安全问题,包括在安全部门设立之前发现并解决过严重的安全漏洞。我的安全开发实践也略有长进。知道实际场景中可能出怎样的安全问题,在怎样的权衡中安全性会被舍弃。我在开发中一直把握安全性,坚持考虑数据权限,有时添加额外的数据完整性校验。后期参与 LLM AI 搭建,是我业余和专业相对紧密结合的时候。既开发大模型应用,也支撑技术性对接:为适配服务商编写的一个 LLM API 转换程序上线运行至今。

不过,总体来看我还缺乏中大型系统设计经验,缺少大并发、高可用开发与运维能力,也没有深入了解业务专业背景。管理能力也有很大提升空间。部门框架从单体发展到微服务。然而微服务实践很快变样:几乎每个系统都有自己的基础服务代码分支、版本实例,像是单体的简单切分,结合了单体和微服务两方劣势,常常感觉不如单体应用多点部署。因而我不能算是在工作中运用了真正的微服务架构。有时我会吐槽大部分项目其实是高级版的 Excel 表格管理,乃至做罢在线表格也要加上 Excel 格式导入导出。后期感到工作有些简单性重复。

面试时我说我很好奇一家公司如何运作,至今我没有一个明确答案,但感到信任合作是基础。有一群合作友爱的同事,领导也没有想象中的架子。有时候我会觉得向上管理严重。很多需求是定好上线日期突然下达,不顾成本预算与实际工期饱和度,项目管理有待改善。有时我觉得领导做得不好,不如让更有能力的人上去;有时觉得幸亏有领导来负决策责任,而我只是一个遵守指令干活的员工。

在双休和基本朝九晚五的节奏下,我养成了很多好习惯。重拾阅读习惯,并能执行每日阅读计划;饮食、睡眠等等也照顾到。但是,仍然有少数习惯没有坚持,包括每日锻炼。有很多业余时间没有妥善利用。希望能够以离职为契机带动一些改变。

Try Ctrl+Enter :)