三个月跳槽2次,我经历了什么?

来自:JAVA葵花宝典(微信号:Javakhbd),作者:小葵花哥哥

正常人跳槽大抵上无非两种:钱,没给到位;心,受委屈了;而程序员这个群体则不一样,这里结合小编的亲身经历,来给大家谈谈职业发展遇到的一些问题和困惑。

先来简单说说自己的情况,从事Java编程五年,6月份刚从一家上市公司离职,之后打算退居武汉,入职一明年研发中心回武汉的公司,后因各种原因离职,目前在入职一家以区块链技术为核心的公司,接下来详细讲讲我的一些经历。

1

为什么离职?

仔细想想在这家公司干的蛮久的,15年入职,18年离职,待了2年半,主要是团队配合还算默契,也能学到或者开发比较核心的东西,从开发到架构都参与过,包括还参与运维的一些工作,比如高性能高可用的部署,架构选型和搭建,开发权限也比较大,同事都比较信任我,个人的解决问题能力也是慢慢的变强,在这家公司,真正的体会到开发和研发的区别,从0起步打磨和创造了很多的产品,而不是单纯的curd.

前两年主要是在打磨产品和基础架构的过程,个人以及团队都进步很大,但是因为后面公司的业务调整以及产品竞争力不大,感觉整个团队战斗力大大下降,不再是铁打的产品,流水的产品了,产品部换了一拨又一拨,技术团队核心人员也在流失,我开始焦虑了,一个转折点让我坚定了离职的信念,由于项目经理也要考虑跳槽离职,我如果此时不走的是个合适的人选,后面和总监交流的时候也确实验证了这个想法,在一个稳健发展的技术团队,当当项目经理其实也是挺好的,但是,当公司的研发处于停滞不前的状态,核心人员又流失比较严重的情况下,我此刻想到的就是逃离,是的,这对我来说太舒适了,我还年轻,还想继续撸代码,经济上,每个月除了工资和其他额外收入,税后有个几十k足够养家糊口,所以,在没有投简历的情况下,我就递交了辞职书。

2

一份工作打动了我

处在交接状态的后面一段时间,尝试着投了一下简历,主要是在手机上下载的拉钩和BOSS直聘app上操作,不得不说,就我的使用情况来看,Boss直聘比拉钩还是要好用太多,沟通高效,投递处理结果快,比如拉钩上的投递通过了,可能过了一周才有反馈结果,而Boss上即使在你不投递的情况下也有大把的人勾搭你,投递的话反馈也比较快,大部分如果简历通过的话当天就能给到面试机会,所以用了一周基本就只用Boss了,因为没太着急找工作,想着短期没找到合适的就给自己放放假休息下,所以都是随便挑选着看岗位,设定好期望薪资进行筛选,在选新工作的时候给自己打了一个标签,java、高级开发工程师、架构、后台开发、以及自己熟悉的技术栈,然后在和一位技术负责人沟通的时候,一份工作打动了我,是什么样的工作呢?就是这家公司明年研发中心迁回武汉,拿着深圳的工资,在武汉光谷工作,说实话,这打动了我。

有工作的地方没家,有家的地方没工作,他乡容纳不了灵魂,故乡安置不了肉身

虽然在深圳工作,但是买房是万万不敢想的,更何况在老家县城买的房子也没多久,并没有打算在深圳定居,但即使在深圳过着租房的日子,每个月的生活开支最低也要过万,房租房贷以及老婆孩子,这还是我作为一个程序员比较省的情况下,但是武汉就不一样了,我老家是湖北黄冈,离武汉比较近,考虑到回武汉发展家庭开支能省一大半,而且武汉买房定居也并不是遥不可及,也节省了租房的开支,最重要的是也还是拿着深圳的工资,跟之前相比税前变成税后多点,也算在可接受范围之内,于是见面聊了下然后第二次再见面和技术聊了下就顺利入职了。 这个随便挑选工作也为我后面离职做了铺垫。

3

小公司的活没那么好干

这家公司在规模上也不算小,上百号人,但在技术团队来说算是小团队了,过去没多久就有个开发要走了,入职后大部分惯例就是熟悉团队和项目,目前正在研发的是ERP系统,由于历史问题,一个项目是由2种语言开发的,java和ruby,当天看了下表结构,几个模块用到了两百多张表,而且一个字段注释都没有,表面稳得一比,心里慌得一批,在公司历史遗留问题上中间请教过几个架构师朋友,他们的建议是叫我跑路。。

没办法,来都来了,怎么能轻易屈服,经过一周了解现状发现了不少问题,首先两种语言开发ERP这种关系特别依赖的系统,两边需要写很多重复代码,一旦表结构有修改两边都要修改,特别依赖人工沟通,而且按照技术经理的要求,肯定后面都是要做高可用的,Java这边我能兜底,因为相关的经验都做过,另外一个语言的真心没把握,比较接受的就是把ruby这边全部都用java重写,然后核心团队回到java技术上,然后架构上怎么整就怎么整,然后数据库单机无备份,在我的建议下做了异地备份,好想念大公司有运维的生活啊,一句话运维同事分分钟高可用集群就起来了。

做了异地备份集群往后放放吧,毕竟一是缺少机器,然后自己也没有在生产环境搞集群,怕出问题,先解决痛点难点的问题,然后看了一下Java项目,这是之前离职的开发人员不知道从哪找来的cms项目改造的,连业务代码都原封不动的拿来了,然后原来是springMvc的项目,修修改改成了Springboot项目,然后就看到这样的一个SpringBoot项目:项目启动的时候加载很多Spring的Xml配置文件,这些有的是bean初始化的,有的是配置管理的,有的是自定义freemark初始化的。没办法,改吧,于是前前后后删了近四百个Java文件,这还是存在漏网之鱼的情况下,然后把所有的功能都验证下没问题。当然,这并不是最满意的结果,在心里规划的还有很多功能要做或者集成进来,比如Spring配置文件的完全剥离、缓存的管理、系统高可用场景如登录、权限等重写以及应对大数据检索集成ElasticSearch、项目的分包、拆模块等等。

理想是丰满的,现实是骨感的。在我进行自我规划的时候,项目负责人找到我,希望我参与一个模块的开发,公司没有招前端,之前都是后端开发前端页面,所以真正要我做前端开发的话,心里是拒绝的~ 将近三年没写前端代码了啊,html和js这些再加上现在使用的freemark框架,然后再把进度结合起来,感觉我的角色转变的有点快,让我猝不及防,写完第一个页面,就去找了负责人和项目经理提了离职的意思,提到了自我定位以及想做的事情,经过一系列的讨论我还是被他们说服了,结果就是帮忙招人、继续开发,然后沟通了我后面要做的事情,这么一来,就搞了一个多月,也因为领导可能也确实想要留我,一个月左右就转正了,但其实并开心不起来,做不喜欢的事情感觉每天都是煎熬,在这中间因为个人发展问题以及我老婆也坚持留在深圳的原因,也跟boss说了招到合适的人以及我这块忙完了就撤,boss表示理解, 中间也因为家里事情回老家两次,一次是送老婆孩子回老家,还有一次是老弟买房回家做担保人,加在一起请了个把星期假,领导在这方面也挺开明和理解的,心里也是比较感激,但这样一来本来页面开发就拖进度,再加上个把星期的假期,很自然的延期了,后面差不多转测了交接了就再一次提出意向走离职手续了,说实话,这也是我一个人生的一个污点,头一次觉得自己做事比较冲动,并且浪费了大家彼此的时间,所以,对的人遇到对的事,特别特别重要!

4


人脉,同样也很重要

在交接工作的时候,认识的一些朋友联系到我,希望我去他们公司任职合适的岗位,这其中有之前的两任项目经理以及架构师,一方面之前一起共事过,对于技术的信任,另一方面也是私交不错,所以有事没事多和同事搞好关系总是不会错的,不要老是吐槽同事怎么样怎么样,我认识的这些人,都有帮他们擦屁股的经历,但也有人在擦你的屁股,吐槽归吐槽,关系总要搞好的,不要总是记得别人的缺点而忽略别人的优点。

最后还是去了之前项目经理推荐的一家以区块链技术为核心的公司,虽说他在那边也是一个管理岗的角色,但是为了避嫌还是由公司的架构师进行面试,面试过程比较顺利,这个项目组团队成员几十位,95%以上的开发团队,分工也比较明确,前期整整框架,现在也进入正常开发的状态,也对区块链这个技术产生浓厚的研究兴趣,感觉又有了努力和成长的方向。


5


总结

找工作要自我定位,如果你是想找一份好的工作,不太建议海投,这将浪费你很多的时间和精力,不要轻易被待遇或其他因素妥协而忽略你真正的定位,这会导致你后悔当初的冲动,而冲动,往往会付出代价。


给自己一个底线,不管是工作上的还是待遇上的,综合市场环境,高于期望值的要问问自己能否胜任或者抗的下这大旗,技术是最能考验人的,你中级的水平进了高级的槛不一定是好事,但在压力下扛下来了也不一定是坏事,但低于期望值太多了影响工作积极性,再谈可能就没那么简单了。


规划职业发展路线,程序员做这个规划我觉得还是挺有用的,这将取决于你以后的发展方向,比如初级、中级、高级、架构师、技术经理(专家)、项目经理等,每个岗位对应涉及的技能树,那你就朝着这个方向努力,不要什么都想学,但是在工作中能够学到的我还是建议技多不压身。

推荐↓↓↓
iOS开发