2023 年春节前后,在二线城市的一个小外包公司里,我完成了第一份实习,工作内容是一个金融平台的后台管理的前端部分。我是在项目即将交付的时候加入的,项目总体已经搭建完毕,我负责一些表述的修改,新组件只开发了一个。工作内容细碎,搭档的后端工作效率也很低,很多时间都在等待服务器重启中度过。即使如此,作为第一份实习,感受良多。

  • 后台管理系统无疑是不需要 seo 的。因此,项目就是经典的前后端分离组合:Vue+SpringBoot。作为前端,除了页面,最关心的就是后台返回的接口。和我对接的后端兄弟是真的菜,还爱甩锅。到了临上线的几天,更是一个 bug 需要一天才能解决,还不爱问人,自己坐在那里瞎想。他占我工作痛苦来源的 80%。
  • 系统是基于开源项目(地址)二次开发的,技术栈为 Vue2+ElementUI。不得不说,外包公司就是求稳,现在都 Vue3 了,ElementUI 甚至已经停止维护。但是,系统的复杂度还是有的,涉及到权限控制,导入导出等复杂一点的功能。上述的导入导出和组件库有关。其实,工作中打交道最多的反而是 ElementUI 这个组件库。现代的组件库不同于 bootstrap 那种主要工作在封装 css 样式;ElementUI 有自己的底层 javascript 逻辑,对各种 HTML 标签进行增强。不得不说,确实方便了开发,只是必须有一个熟悉的过程,查看官网的文档。从风格角度上说,所有基于组件库的项目都有视觉效果雷同的缺点,所以,组件库比较适合快速开发,而不是追求设计的网站。
  • 工作流这一块,原来对于 git 的使用只停留在表面,现在我发现,这类工具要想真正掌握,必须在工作中踩过坑。比如说,第一天实习,我傻傻地用 git bash 输入指令,这样不仅慢,还容易出错。后面先尝试了 github desktop,也不行。最后,vscode 的 source control 才是最终答案。结合扩展,可以轻松看到文件提交历史。我犯的错还包括,commit 后直接 push,这样远程仓库中别人的改动就被覆盖了。docker 的部署也学了一点。
  • 最后聊聊上司同事。短期实习还不领工资,本性不爱说话的我,也没主动和大家打成一片。平时有问题会请教两个前辈,他们都还很热心的解答,并且说明原理。有一个女的比较讨厌,说话最大声,音色还难听。其实我是上班好久后才发现公司的工作时间竟然只有 6.5h。与之对应的,薪水极低,哈哈。

如果说这段实习经历对以后的学习方向有什么影响的话,大概有这么多:

  • 如果要从做项目的角度深入学习,必须要从零开始搭建,而不是基于他人的方案二次开发。在工作中我发现了,别人的开源系统会给你强烈的限制,只知道特定问题的单一解决方案,出现一些较为底层的功能需求或者 bug,就处理不了了。
  • Vue 确实是一个好框架,我决定 React 放到以后真有需要再学。组件库的话就学两个:bootstrap 和 ElementPlus。
  • Java 与快速开发无关,小小的改动就需要很长时间的后台重启。php 将是我学习后台的主力语言。