查看原文
其他

7年Java后端被淘汰,一路北漂辛酸史。。。

刘望舒 2022-06-29

点击上方“后厂村刘皇叔”,马上关注,

每天早上9:10准时推送


来源: https://dwz.cn/feikHNmp
今天分享一位同行的经历:
本人Java开发6年半不到7年的样子。
英语专业,临毕业跟着隔壁专业去培训了四个月 Java 。
跟他们一起来了北京找工作,一找就是 5 个多月,面试 100 多家公司。最终还是隔壁专业的同学介绍到他们公司才就业了。
入职后同学就是我的领导,技术相对一般,我们做 Java 游戏后端的,时间很快,一眨眼,我就跟着混了四年,每天就看些博客,书籍,业务上也会做功能,但自觉做的比较蠢。没什么太大进步。
四年时间很快乐,跟着老板,同学,从一点不会,到能独立完成工作,能自主做一点小小设计。但技术上说真的,差得太远。
随着心越来越慌,工资水平属实也太低 6K 多,于是四年这个节点,我跳槽了,工资翻倍。这是一份非常苦的工作,曾经2个多月没放假,也曾经连续四天四夜没回家,工作到凌晨 3 点是司空见惯。
然而我只是个小兵,加班加了 10 个月,游戏上线两个月,人员就全部裁掉了。由于 Java 一直感觉没有入门,框架方面 掌握的也比较少,这个 MMO 的项目本是练手大好时机,连忙带懒就也这么过来了。
随后不知道算走运还是算倒霉,找到了上市公司的工作,20K「我梦想中的工资是 25K,如果达到就打算不再跳槽了,为什么是25K?因为游戏Java后端基本上 30K 算是一个封顶,哈,当时比较幼稚,以为就这么干着,早早晚晚也能混到最后,就算技术不行,吃透两套框架,在游戏圈就能立住脚」。
说是走运,因为工作相对简单,我 1 个后端对 6 个前端,听起来挺唬人,但其实还是做业务,但因为只有我一个人接手这个项目,所以我也算是主程,当时我觉得我的人生的每一步真是走的太好了,缺什么来什么,想要架构,想要自己来就有机会了,这一年多感觉特别顺利,也觉得自己终于像是入了门,不再害怕工作上的需求了。
但说是倒霉呢 ,其实也就是因为这一切其实都是假象,我根本还是几年前的那个自己,只是因为业务熟练了,以为自己行了。
这公司也是裁员,我在这里做了一年半不到,临走给了 N+1,美美的拿着钱,找自己梦想中的 25K 去了。并且决定不做游戏了,因为游戏公司有名的就那几家,没啥大发展,还是互联网好,差不到 40K 封顶,我以上所说的封顶都是指很普通的人啊,大佬就别跟我计较了。
就在裁员的第二天,我面试了京东一个物流创新部,好像是这个名字,那天我记得特别清楚,经过了一下午面试(面试的难度真是超级低,我在那里侃侃而谈,最难的问题也只是线程池那几个参数)。
然后,过了。我真的感觉自己要一飞冲天,当时在想,在这里不能做太久,公司的文化太诡异,一切围绕着强东转,公司的人说话好像都在躲着什么东西,加班也是每天固定,然后大小周。因为正赶上过年,面试的人说年后人事会联系我走流程,就能入职。
这一去就天差地别了,我在家等了一个半月,中间经过无数询问面试者,人事等,后来,流程跑着跑着就没了。当时觉得京东真是让人开眼,还特么带这么玩的。
这时候,我还是不知道愁~然而,马上就要觉醒了。我又去面试,还是25K,有时候你认真的要价真的比猥琐要好很多,我当时就是愣要,大部分人还真信。记得收到的OFFER有必要商城,赢时胜等等,后来去了一家做语音的公司负责做云平台。哈哈,这份工作只做了三天半。从入职第一天就夜夜失眠,为毛?因为看不懂代码,压力很大。
以前做游戏觉得大家都是吊丝,每天在一起呼呼哈哈,确实也快乐,有什么需求甚至直接在座位上喊着沟通这样。但是这家公司就比较正规了,我以为互联网公司都是这个样子的,同事之间一天一句话都不说,主程也只给我简单说了说流程,就自己看代码吧。
我虽然技术渣,但有时候对自己要求还是挺高的,总想快速的上手代码,这代码这手上一天,两天,三天,连个皮毛都没看出来,就慌的不行,当时就开始知道自己代码水平有点渣了,但以为自己是不适应,这次找工作其实也挺波折,醒悟是一个缓慢的过程。
所以还是想着回游戏行业,毕竟自己历经三家公司,都没碰到什么难度,虽然寻路啊,地图啊,战斗啊这些自己都完全整不了,但是还是能完成普通工作的,此时的我还以为自己能搭框架呢,啊哈哈。
于是我就辞了,公司真的不错,14薪,要走还好顿要留我。当时以为自己是不适应走的。现在回头想想,其实怕暴露真实代码水平,不好意思才走的「身体不骗人,我的脑子居然会骗自己」。
于是,我开始面游戏了,还是 2 ,但面着面着觉得不对劲,为何大部分面试我都答不上来个啥,三问两问就瘪了。两周时间,居然 10 家只收到 1 个 OFFER,并且是小公司做主程。我开始慌了,很慌,这 10 天里我慢慢认清自己的真实水平了,不敢细想,细想连面向对象都不怎么会,那些继承啊接口啊,从来也没写得好看过,都是照着别人已有的模块,拿来粘贴,还做得挺快。
多线程一想就蒙蔽,数据库就会点简单操作,Linux 也是一样就会个CP MV CAT top啥的,最常用的是 ps -aux|grep。原来,原来我什么都不会啊。但是上天还是眷顾我的,居然这十几家我最看好的那家公司,第 11 个面试。过了,哈哈,当然这时薪资下来了一点,但是我管不了那么多,从上家裁员到现在,已经整整过了 2 个月零一周了,这些天过得真不怎么样,每天都特别焦虑。也瘦了七八斤。
就这样吧,入职好好干吧,我收到OFFER时,暗暗想着,我要为公司肝脑涂地,它在我危难之时,向我伸出了关爱之手,感谢公司。
于是更大的噩梦开始了~~入职到现在 2 个月了,我几乎毛也没做。每天都想逃避都想跑,心脏压得我天天疼,好堵啊,现在也还是如此。这 2 个月我彻底认清了自我,和入职半年的新生小手差不多的水平,一直用这水平干了这六年工作。。
真汗颜,以前用的 SVN,到了新公司学 git,这 git 是真难啊,怎么都学不会,网上那堆教程跟屎一样,看着好像是会了,用着都特么不对,差得远呢,到现在还只会create a branch,写, pull develop ,切回来把develop 合过来,然后再把branch合回到develop,再push,基本上是在用svn的方法在用git,而且 git我感觉很奇怪,好像没几个真的会用,不管是网上还是我的同事。
光说痛苦了,说说自己为什么痛苦吧,我知道每个人都有自己的心酸事。我只是想说说我的。
哎,主要说说新公司的事吧,这么多天了,我死去活来,难受的要命。比如我从刚入行就不大懂开发的根本问题是什么,也许书本上的解释我也看得懂,但是真要理解这件事,应该不是只停留在字面理解,如果你有懂那一天,你应该立刻就知道,它会直接在头脑中告诉你---啊我入门了。
鉴于此,我一直都保存着前几家的源码,我想着,开发既然自己不能理解好,也没有举一返三的能力,也不会自主写出什么东西。那就收集多多的代码,涉及到的哪一部分不懂,可能就能在其中找到例子,灵感。这样就可以在框架层面也不至于什么都没有积累。
这次的工作,服务端也分了好几个进程,之前我都是用redis搞数据沟通,比如你要生成唯一ID,每个子服务里都有redis,incr就好。新的框架也是这个主程用了好多年的了,不想加入新的东西,但是又要求我按他的思路去做,又说代码版权等问题,之前所有的源码都不能给我看,我想其实也是合理的,毕竟我是 P6,高级开发哎。按理说,招我进来可以从 0 开始搭建架构的。我的能力也就是 curd 了,甚至可能 curd 还做不太好,也就说不上怎么能硬气的跟他说明。
比如上面 id 的问题,那我可能就要每个服启动时,去 mysql 查一批id存放在每个子服务上面,设一个警戒值,不够了再取。但是这样吧,对我来说就很难,这就要考虑到警戒值不够用了怎么办,各服务启动时要把id拿到才能对外服务,还有 id 如果实在没有了,可能要进行同步阻塞去查询,但是同步怎么写?不会写同步~~
另外再举例子,如果是加好友功能,这种单用mysql,而且还弄出一个 dbserver 的服务,什么都要写个异步的协议过去,那加好友原来是:
  1. addFriend {

  2. // 各种条件判断,不合条件返回个tips

  3. // 执行加好友

  4. }

现在可能变成这样了:
  1. addFriend {

  2. // 异步去查数据库了

  3. }

gameserver -> dbserver ,当dbserver->gameserver返回时,又是另一个协议,handler什么的又得另写,执行判断,再返回,等等。当然写得好的人,这些问题都不存在,而我只会直肠子写Java,就会个 List.add if else for循环。
这基本上是我的全部本领了。就在这框架里有很多难处。还有个问题是怎么写gate与game的玩家session对应,想了N久才想出个办法,包装了个protobuf二层协议,,哦问题多了去了。应该都是开发者该在工作中解决的基本问题,而我一步一个坎。
再者公司的氛围也是头疼的紧,一整天也没人说话,除了要甩锅的时候,根本没人会沟通。交待任务啥的,给我压力也特别大,比如主程今天说,docker了解一样。然后明天让我搭 dokcer 自动化部署流程了。今天说git flow了解一下,明天就要严格执行 git 工作流了。
还是那句话,可能这是一个 P6 真正要掌握的本领,就是有个关键词,然后就能自己看外文文档,然后就能搭建出一个看上去很像样的工程化产品。好吧,这样来看我离真实的 P6 的实力,至少得差 5 个档次。
自己特别的低迷,心脏堵的难受,每天早上一醒来就感觉自己活不起了。有天晚上梦中,看见一堆代码,却怎么看都不懂,又醒不了,难过,懊丧了一整夜,连睡觉的时间都不放过我,自己的痛苦多了就经常跟朋友家人说,到后来反倒让我认清了,什么狗鸡巴朋友,哪有朋友,没人会care你一丁点,各自有自己的烦心事不说吧,没有共同经历的也难为互相理解。
总之,在朋友对我的反应上,基本就是你想多了;你不干得挺好的吗;程序员一个拿那么多钱你还瞎苦恼个什么;不光你,谁没困难;其中特别好的一个也差不多最多宽慰两句,你行,你可以挺过去之类的。之后就再无信息。
当时也是苦恼了好一阵,认识你们有个什么用,你说我最想听什么,我联系你们的目的是什么,哈哈,算了算了,都是故事,你们并没有那么好。但回头吧,仔细想想不禁就明了了这件事。
30多岁了,这是关乎你自己生存的问题,这个问题不是靠什么运气和神迹才能改善的,它积累在你多年生活的每一天里,你的理解是什么,你对工作的态度如何,你怎么利用你的时间的。
这一切的一切都是你自己该解决该思考的问题,别人帮不上任何忙。然而这些年我都是养生过来的,一直都没学会如何去思考,这应该是与有所成就的人最大的区别了。
有人说做职业规划,而我脑中也只有这四个字的浅层意思。也许有的人对这个就比较上心,有着深刻理解也说不定。
也就是说别人怎么决定你的人生,别人怎么决定你的想法,都得自己去选择,自己去承担,指望着别人给你的,只能是「放松心情了解一下努力了解一下」这样看似没用实际也没用的东西。
今天先写到这吧,写得乱糟糟。
无论怎么写也写不出你真的在痛苦时那种无助与万念俱焚,你很难再去回想,你是怎么失眠一个月的,你很难想你在公司楼下对着镜子,颤抖着害怕着不敢回办公桌时的心情。
然而这一切都没意义,生活不会因为你痛苦就突然变好了,别人不会因为你痛苦就能放过你了,这些对任何人都没意义。
我还将继续下去,这家干不了了,还要找下家,还要每天学习「虽然效果不怎么样」。然后等待着,这些迟早该发生的事。
你再想想,今天虽然这么痛苦,是不是可能是你接下来生活的最好的一天了。毕竟你就坐在那里十几个小时,就有人几百上千的送给你。然后我干不下去这行了去做什么,销售?开个麻辣烫店?去工地真正的搬砖?
hi,哈哈哈哈哈,外人看叫矫情,自己看属实是活不起。

--------  END  ---------

推荐阅读

面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来...

你以为大公司的代码就不烂了?

面试官:JVM最多支持多少个线程?

如果你喜欢我的文章,就给公众号加个星标吧,方便阅读。


  

明天见(。・ω・。)ノ♡


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存