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

  第一年入职,被安排维护和拓展一套基于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. intellij idea 设置用真机测试android

    android自带的模拟器是不容置疑的慢,genymontion虽然快,但是觉得有点怪的感觉,哈哈,其实这些都不是重点. 之前是用myeclipse开发android的,虽然一直很想用eclipse来 ...

  2. Go gRPC进阶-proto数据验证(九)

    前言 上篇介绍了go-grpc-middleware的grpc_zap.grpc_auth和grpc_recovery使用,本篇将介绍grpc_validator,它可以对gRPC数据的输入和输出进行 ...

  3. self不明白什么意思,我来帮助你了解self的含义

    先看下面这段代码 # 用函数模仿类def dog(name, gender): def jiao(dog1): print('%s汪汪叫' % dog1["name"]) def ...

  4. SVM家族(一)

    SVM家族简史 故事要从20世纪50年代说起,1957年,一个叫做感知器的模型被提出, 1963年, Vapnikand Chervonenkis, 提出了最大间隔分类器,SVM诞生了. 1992年, ...

  5. 用 Python 获取百度搜索结果链接

    前言 近期有许多项目需要这个功能,由于Python实现起来比较简单就这么做了,代码贴下来觉得好点个赞吧~ 代码 # coding: utf-8 import os import time import ...

  6. keras数据集读取

    from tensorflow.python import keras (x_train,y_train),(x_test,y_test) = keras.datasets.cifar100.load ...

  7. Java 多线程实现方式三:实现 Callable 接口

    完整套路 java 通过实现Callable 接口来实现多线程相比较于继承Thread 接口和 实现Runnable 接口比较麻烦,但好处是可以有返回值. 基本套路: 1. 创建目标对象 2. 创建执 ...

  8. deepin15.11小毛病解决

    目录 边缘花屏问题 QQ`Tim头像问题 ssh卡死问题 看直播卡 边缘花屏问题 sudo apt install systemsettings 打开kde系统设置 打开显示与设置,修改如图下,基本上 ...

  9. Metasploit学习笔记(一)

    1.更新 apt-get update:更新源 apt-get upgrade:更新软件包 apt-get dist-upgrade:升级系统 2. Metasploit基础 2.1专业名词 Auxi ...

  10. session开启慢的原因及解决办法

    做微信开发的时候发现微信回复特别慢,发个消息要好几秒才回复,发现不正常后就赶紧找答案,到最后发现是session_start()开启很慢,这是因为session缓存文件过多,默认缓存文件在:win:w ...