liangjielaoshi 2020-05-10
从从参加工作到现在,已经接近三年了。在这不长不短的时间里,我的职业规划犹如正余弦函数一样变化,一直游离在前端和后端之间。
第一年入职,被安排维护和拓展一套基于JAVA实现的地图瓦片生产工艺程序,不算复杂,基本上也涉及到了一些JAVA的特性,例如文件IO、多线程处理文件、Servlet实现、RPC等等。这些也是以前在学校里自己做小项目没有涉及到的内容,还算有所收获。当慢慢熟悉这些业务代码,开始雄心勃勃的想要做一些拓展优化的时候,突然一纸调令让我投入到前端矢量地图渲染中去。还在做着成为服务端大佬的白日梦的我一下子被推到了前端WebGL领域。
第二年,从Mapboxgl开始,以前的我对于javascript仅仅停留在jquery和一些简单的ui库上,并没有太深入的了解,这会一开始就要深度介入前端和基于计算机图形学的WebGL中去,着实是令人苦手。不过好在我被WebGL实现的地图渲染具有的前瞻性所吸引,内心觉得,做一名前端工程师也不错。于是硬生生的啃下了一套WebGL教程,把mapbox-gl-js的源码从头到尾撸了一遍,最终推出了一套基于Mapbox实现的矢量地图渲染方案,然而这套矢量地图的安全性和客户端性能上无法达到领导的要求,也没有给我们太多资源和时间去优化,辛苦一年的WebGL旅程也开始虎头蛇尾的不了了之了。
这个时候风云变幻,组织架构出现了调整,我也被调整到了数据部门,开始为生产人员开发数据生产平台,大概花了两三个月的功夫,和一位python同事共同开发了一套数据生产平台,这个平台最有意思的一点在于,前后端都是由我一个人完成的,前端是基于vue和Element UI,后台是基于Spring Boot实现。这个时候,我的职业生涯出现了迷雾,为什么跌跌撞撞又回到了研究生时代,我咋又前后端一起挑了,说好的前端图形渲染工程师呢?算了,既然又开始做后台了,不如趁此机会拓展一下技术栈,多找一些后台的框架用一用,什么Quartz处理定时任务啊,什么消息队列缓存请求呀,什么数据库入库SQL优化啊,尽量都摸了一下。做完这个之后,我想,这下我可以安安心心的做一个数据平台的后台开发工程师,着重于大数据的管理和处理效率,也可以关注一下平台大规模应用瓶颈的研究。然而,生活总是充满意外。不过这个时候我已经习惯了,我并不意外,随着平台开发的进行,一些新的工作出现了,比如说基于前端d3框架的渲染和交互式响应,开发实现一个富客户端的前端数据编辑应用。好吧,撸起袖子干吧。框架学的很快,功能实现的很多,处理bug也愈发熟练了,可是,我已经完全迷失方向了,我最终会成为一个什么样的程序员呢?服务端?WebGL?前端?
真的很迷茫,靠着仅剩的一点对于职业规划的自律要求,我从未停止过思索:我现在干的这些事,我能收获什么?我还想干什么?我有没有机会去干?
屈原有一句话怎么说来着,“路漫漫其修远兮,吾将上下而求索”。三年时光如白驹过隙,我没有在我理想的职业生涯上有所前进,这是我自己的问题,如果我不能解决这个问题,那可能我的职业生涯也就这样了。今天写下这乱七八糟的回顾,也是对我的一种激励,希望我能以此文为诫,早日走上正途。