从从参加工作到现在,已经接近三年了。在这不长不短的时间里,我的职业规划犹如正余弦函数一样变化,一直游离在前端和后端之间。

  第一年入职,被安排维护和拓展一套基于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?前端?

  真的很迷茫,靠着仅剩的一点对于职业规划的自律要求,我从未停止过思索:我现在干的这些事,我能收获什么?我还想干什么?我有没有机会去干?

  屈原有一句话怎么说来着,“路漫漫其修远兮,吾将上下而求索”。三年时光如白驹过隙,我没有在我理想的职业生涯上有所前进,这是我自己的问题,如果我不能解决这个问题,那可能我的职业生涯也就这样了。今天写下这乱七八糟的回顾,也是对我的一种激励,希望我能以此文为诫,早日走上正途。

【GISER&&规划】我这二三年的更多相关文章

  1. 我的屌丝giser成长记-研二篇

    之前有提到过的,本来按照计划中,研一结束就该去深圳中科院研究所实习的,之前跟里面师兄说好了的,奈何导师又接到一个新的科研研究项目,跟学院的几个其他老师一起合作的,主要是关于土地流转系统,而且是一个挺大 ...

  2. ros局部路径规划-DWA学习

    ROS的路径规划器分为全局路径和局部路径规划,其中局部路径规划器使用的最广的为dwa,个人理解为: 首先全局路径规划会生成一条大致的全局路径,局部路径规划器会把全局路径给分段,然后根据分段的全局路径的 ...

  3. zabbix监控规划及实施

    一.规划监控拓扑 二.主机分组 例:交换机.Nginx.Tomcat.MySQL 三.监控对象识别: 1.使用SNMP监控交换机 a.交换机开启snmp config -t snmp-server c ...

  4. Make a plan, and stand for it!

    我发现博主本人善于事前做计划,事后做总结.但是不善于坚持自己的计划.就拿10.1这个假期来讲,放假前看多许多的攻略,计划了很多条的自驾出行的路线,但是好像一条也没坚持,最后选择了一条临时的线路,而且临 ...

  5. 目标决定人生——没有目标就失去一切 (没有目标的奋斗是浪费青春,比如交了钱却不去参加考试、让时间白白溜走。根据目标与定位来选择最合适的企业。人生要算总账)good

    没有目标就失去一切 刚毕业那会儿,幼稚得可笑,老跟同学打电话,明面上聊聊近况,暗地里比较.你要比我工资多一百块,心里特不平衡,凭什么呀,在学校那会儿公认的我比你强.你要带个头衔,而我啥也不是,普通员工 ...

  6. 如果做好测试PM【转载】

    本文来源于:https://yq.aliyun.com/articles/14578?spm=5176.100238.yqhn2.14.Lcie4Y   摘要今年整体带了几个项目.我本人不是专业的PM ...

  7. c#设计模式-观察者模式

    Observer 与 Subject 互为耦合,但是这种耦合的双方都依赖于抽象,而不依赖于具体. 一.观察者模式 目的 我们都知道解决一个问题有N种解决方式,但在面向对象的设计中如何能做到“高内聚,低 ...

  8. qDebug 学习小结

    在qtcentre中看到有网友问这样一个问题: Why this doesn't work? qDebug() << "Test" << std::endl ...

  9. rsyslog+LogAnalyzer 日志收集

    Linux 之rsyslog+LogAnalyzer 日志收集系统 一.LogAnalyzer介绍 LogAnalyzer工具提供了一个易于使用,功能强大的前端,用于搜索,查看和分析网络活动数据,包括 ...

随机推荐

  1. 【Java】封装、继承、多态

    封装 在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代 ...

  2. 如何将一个div水平垂直居中?6种方法做推荐

    方案一: div绝对定位水平垂直居中[margin:auto实现绝对定位元素的居中], 兼容性:,IE7及之前版本不支持 div{ width: 200px; height: 200px; backg ...

  3. python超实用的30 个简短的代码片段(二)

    Python是目前最流行的语言之一,它在数据科学.机器学习.web开发.脚本编写.自动化方面被许多人广泛使用. 它的简单和易用性造就了它如此流行的原因. 如果你正在阅读本文,那么你或多或少已经使用过P ...

  4. stand up meeting 1-6

    今日更新: 1.修复初始最佳战绩显示bug:  初始为击败全国0% 用户 2.挑战结果界面显示“哎,今天的饭又白吃了,回去多吃两碗###”, 去除API返回string中的“###”. 3.分享模块初 ...

  5. C - Sigma Function LightOJ - 1336 (数论)

    一个让人脑洞大开的题. 题目大意比较简单,询问[1,n]有多少个数其因子和为偶数. 因子分解定理中求因子和的公式是 f(n)=(1+p1+p1^2+p1^3+...+p1^a1)(1+p2+p2^2+ ...

  6. Equalizing by Division

    The only difference between easy and hard versions is the number of elements in the array. You are g ...

  7. java中如何理解:其他类型 + string 与 自增类型转换和赋值类型转换

    java中如何理解:其他类型 + string 与 自增类型转换和赋值类型转换 一.字符串与其他类型连接 public class DemoString{ public static void mai ...

  8. ROM定制开发教程-Android adb命令用法与实例解析

    一.什么是ADB Android Debug Bridge(adb)是一个命令行工具,可让您与模拟器或连接的Android设备进行通信.您可以在android sdk / platform-tools ...

  9. vue2.x学习笔记(十四)

    接着前面的内容:https://www.cnblogs.com/yanggb/p/12602256.html. 组件的Prop Prop是组件之间通信的一个重要途径,了解其知识十分重要. Prop的大 ...

  10. 笔记本安装ubuntu18.08,解决过程中出现的各种问题

    笔记本安装ubuntu18.08,解决过程中出现的各种问题 1.做启动U盘 在官网下载要安装的镜像,使用软碟通制作U盘安装盘 文件 -- 打开 然后 启动 -- 写入硬盘映像 -- 选择你的u盘 -- ...