写在明天前

实习了快两周了,差不多熟悉了我们组的情况了,想发发牢骚。

先说下技术栈,前端的话基础是 react + node.js, 也算是常用的了,用 yarn 包管理,由于是 Saas 公司,前端必定要用到 Web 3D 那块,WebGL 那块不是很懂。后端的话有远古的 spring framework,也有 spring-boot 1.5, DB 的话 Mysql 主数据库,MongoDB 为辅还有用 Redis 做的队列。然后就是 micro-service,还有 devops 那套运维部署的东西了。

接触下来周围的人很强,实在是太强了,我们组算上我两个实习生一共 11 个开发,这 9 个人里面竟然有 3 个全栈(本职后端)。组里的业务也是他们还有几位前端佬撑起来的,几位佬也是十分善良的带我这个菜鸡。
然后自己这边的工作的话个人觉得比较闲而且根本上线不了,调研 WebSocket. 关于 WS 的协议框架博客也看了七七八八,感觉是一些沟通上的问题以及实在不了解业务场景的问题,感觉进度是慢了点。这两天在看业务代码,感受到了码农的艰辛,“我一急管他呢,随便撸两手代码”,“我不管的,先 run 起来再说”。赶着业务上线,就不能好好写代码,不能好好写代码,就充斥着难以维护的代码,使得整个系统处于危险的悬崖边上。但这也总比为了代码质量而上不了线好。整个行业都是这样的,晚一天上线,有可能就被竞品干掉了。

最后在抱怨下我所看到的问题吧

  • 公司处于扩张状态,随着人数的增长,沟通成本大大增加
  • 整个系统架构(不单单包括我们组的业务)也太不合理了
  • 敏捷团队不敏捷

我们组的优势吧在于全栈,像类似 WS 协议层的东西,如果不是前后端都会,是很难推进的。如今前后端完全分离的态势导致了这一层的新技术推进起来困难。所以我是觉得前后端能够使用同一门语言开发是最合适不过的了,Kotlin 就能够做到这一点,前端翻译成 JS,后端翻译 JVM 字节码,然后中间的一些组件能够复用。就能够解决一些问题,把与网络连接的模块交给后端来写,是最合适不过的了,前端就可以更加关注前端的业务逻辑了。(以上是我的设想罢了,Kotlin 的轮子还是要自己造)