年初后换了工作后,从以前的全栈开发转变成专注于后端的开发。这一年的改变很多,成长很多。

成长

在之前我个人的开发都是包含前后端,虽然可以算是全栈开发,但是更准确说,应该是个人生产。个人开发优势在于可以无缝衔接的开发,没有前后端协调的成本。在进入新的团队后,由于分工的细化,我在专注于后端开发的同时更需要增加和他人的沟通和合作,需要和前端沟通约定接口等等。在这个过程中逐渐暴露出之前方式的一些弊端。比如前期在和超哥协作中,由于两人在一些开发习惯上不同而有所分歧。但在不断的沟通改进和互相帮助下,慢慢形成一套通用的约定或制度。这也是个人开发到协作开发的一个转变过程。

今年的开发大部分是用golang完成的。相比以前,主要是围绕php的技术栈,golang 在开发,部署,运维上带来了全新的方式。虽然作为强类型语言和缺少其他语言的成熟度对开发有些障碍,但它有着简单的语法,让从没使用的新手能很快上手。同时,golang本身作为面向云原生开发的语言,在配合docker 与 k8s的自动化运维部署有天然的优势。这些也是今年所新学习和巩固的知识与技能。还有就是,做了很多运维方面的工作。以前也或多或少的接触过容器化的技术,但没有将它用到实际的开发工作中。今年在公司需要的推动下,逐渐学习掌握相关的知识和技术,到进一步帮助团队完成从单机部署到K8S集群部署的转变。

不足

今年的大部分开发都是针对客户的需求。在开发和维护的过程中,也会经常遇见需求变动和bug修复的问题。有时也会碰到大的修改的,带来前后端的同时大改。这些过程中,往往会由于时间的原因,对开发的功能和修复的问题缺少充分的测试,导致上线部署后出现新的问题。今年有段时间做过代码的单元测试,但还是没有最终用起来。总之,对代码的测试工作还是不足。其次,不同项目的客户需求不同,往往需要从头开始构建工程。不同项目功能的代码复用度,仅限于框架代码。在业务逻辑代码上,经常需要重复造轮子,不仅费时,而且导致相同的问题重复出现。对于这个问题,还有部分原因是缺少平时的经验总结,缺乏对一些重复出现的小问题的重视和反思。这方面需要像陈萍和超哥学习,经常把自己平时遇到的困难和解决过程用文字记录下来。

规划

  • 补充一下服务器和网络相关的运维知识,这方面还有待提高。

  • 针对不同项目的代码复用度低的问题,和外包开发持续交付和需求经常变动的特定,希望尝试一下后端云(Baas)的开发方式,配合Serverless + K8S,把大部分的功能服务化,减少重复开发的成本的同时提高稳定性。

  • 明年希望增加自我总结,增加输出,增加和同事们的沟通交流,共同进步。

2021.02.08-【Olia】2020年度总结 | 拥抱变化-Skywen天问信息