2019年程序员生涯回忆录

编码失去乐趣

        2019年初,我已经在老东家转正近半年,对于初级程序员应该做的编码工作已经比较熟悉。我观察我所写的Java代码,居然重复了一次又一次的增删改查,最令我难受的是我的办公电脑十分的卡,这无疑又会影响积极性,编码过程痛苦又煎熬。迫于无奈,我开发出了第一版生成代码的软件,足以把以前两天的编码量缩减至十五分钟之内,我指的是用卡到爆炸的电脑要做两天的工作。

       当然了,没有十全十美的事情。这个时候出现了前后端分离,有时很不幸,我被分到了前端。本身就是Java出身的我很难理解前端方面的Css、Js,还有各种各样需要查询API文档的组件,比如ExtJs、BootStrap,这令我十分头疼,以至于后来深恶痛绝。后台的Java代码已经是自动生成的了,几乎已经失去了编码乐趣。当我被分到后端的时候,每天的任务就是等下班,可想而知一天8个小时是多么的漫长,周二周四有时还固定加班,真是令人心态爆炸。分到前端的我,又被各种各样恶心的组件样式折磨。这就是我当时的工作情况。

分享技术受阻

        我向同事分享我的生成代码技术,我向他们提供了安装包,在他们的电脑上演示如何帮助他们生成代码。原本我以为我能够帮助其它同事减少开发量,帮助他们从繁重的增删改查解脱出来,我也不否认有炫耀虚荣的成本,但是本意是好的。实际情况却令我大失所望。现在我知道,如果一个人以为通过显示自己的聪明就能博取其它人的欢迎,那么他就是不谙世故的毛头小伙子。事实上,只有部分人欣赏此技术。项目经理知道后,质问我谁让我开发了这个安装包,还好心的告诉我,这会让团队产生惰性。我什么话都没说,默默的收起了自己的生成代码的安装包,不再向外界提供。我备受打击,但更多的是失望。

几乎丧失斗志

         虽然工作方面给的乐趣不多,但是我也在积极寻找乐趣。唯一值得庆幸的是,老东家的工作节奏不快,每个项目从开头至最后上线都有十分充足的时间。在这段时间内,我努力学习。我认为,如果我做了一天重复的增删改查工作,那么对于我个人来说,相当于浪费了一天时间。如果我今天学习了更多的知识,那么今天的我就比昨天的我有所长进,今天是很有意义的。幸运的是,我几乎每天都过的很有意义。这期间,我掌握了例如设计模式、重构代码、多线程等知识的皮毛,重点研究了安全系统。这当然对我有好处,但是对于公司来说没有什么价值,因为他还是那老一套。即使要面临着可能被喷的风险,当时的事实是,许多人对于我学习的东西妄加批评,说学了没用,又用不到。我还年轻,有时也会争论。虽然有时结果我也很生气,但是抬头不见低头见,后来我就一笑了之。就这样,随着我掌握的东西变多,公司那一套增删改查就越显得枯燥无味,以致最终丧失斗志,终日浑浑噩噩。

离职导火索

         人是一种害怕变化的动物,喜欢维持现状,拒绝改变。因为恐惧,很多人抗拒改变,哪怕现状多么令人不满。很不幸,我也沦为了害怕改变的受害者。虽然我已经储备了足够多的知识,但在最终跳槽前的一个月,我几乎每天都睡不着,心中万分焦虑。一方面我焦虑我的技术真的无用武之地毫无价值,另一方面又害怕如果我裸辞了又找不到工作怎么办、如果我找到了工作,老东家又不放我走怎么办、找工作过程中我身上的资金不够了怎么办......种种原因,每天都在困扰我。

          终于有一天,老大找到了我。让我出差,居然让我独自一个人去北京!我极力推辞,老大无奈,安排让另外一个人去,但是出差时间从告诉我的两天变成了一个星期。之前其它同事的先例告诉我,说是出差一个月,实际上从短膀子去,得穿棉袄回来。人的虚伪在此展露无疑。我不是有意批评,或许老大也是迫于无奈才安排人出差。

        上述理由其实还不能让我完全说服我自己跳槽。真正打败我的是对未知的恐惧!我从未出过远门,我也不是那种喜欢旅游的人,对于出差的未知恐惧彻底让我下定决心!我一定要离开这里!离开,别无选择!无论说什么,我已不再对老东家有任何留念!到此刻为止,我才真正下定决心。我整理了手头上的资源,主要包括我的生成代码技术与对安全框架的理解,开始了我的找工作之路。

重获信心

        从开始整理资源,到着手开始投递简历,去异地面试。中间只用了不到一两个星期。我投递的公司全部都是XX城市的公司,因为XX城市离老家很近,不到两个小时就到。如果我找工作失败,我也可以回老家再住一段时间。反正老东家的待遇也不是那么吸引我,转正后工作半年,也没余下可观的本金。没必要再为老东家继续卖命,我告诉自己。

        首先去了一家小公司面试,只有几个人,面试官就是这家公司的老板,算是创业公司吧。首先是笔试,共三道编程题。第一道是对于Java的集合框架与数组的互转与排序,好像是把一个杂乱无章的数组按照先奇数从小到大排序,然后在最大的奇数后面追加偶数从小到大的序列。这个难不倒我。第二道题目考察了数据结构的二叉树,需要用到递归才能编出来,这个只弄出来90%,程序实际运行可能还是有点BUG,但是毕竟是纯手写Java代码,面试官还是比较满意的。第三道是设计一套权限系统,包括设计数据库并手写建表语句等。所有实际场景中,我对安全系统的理解最熟悉不过了,真是天助我也,毫无压力。笔试通过后开始聊技术,聊到我的生成代码技术的时候,面试官十分感兴趣,因为面试官自己也写了一整套生成代码的技术!他非常得意的让手下向我展示了他的整个生成代码的过程。即是同道中人,所以他很欣赏我,当即给了offer,一年发十五个月工资。虽然整个过程十分的愉快,但是考虑到公司的规模与破产风险,我还是说我回去考虑一下。

        紧接着第二家面试。HR面试我已经记不清了,技术面的面试官年级轻轻,一直问我安全系统的东西。我能感觉到,这个人徒有其表。此话怎讲?因为我就我对安全系统的深入研究与理解,面试官提出此技术的许多相关问题,前后矛盾。我能判断出这个人在问我这个技术的时候,自己都没弄清楚。考虑到留个好印象,我就不便反驳了。公司规模中等,约100人。这家公司我从未考虑。让我回去等消息,一个星期后给了offer,我没去。

        第三家公司是亚信科技,是一家规模很大的公司,港股上市。当时去的时候,给我的印象不太好。公司居然停电了!员工从大楼里出来,场面乱成一锅粥。面试官把我带到另外一栋有电的大楼里,开始面试。面试的侧重点在于微服务,主要是SpringCloud技术。面试官所在项目组在做的项目是 "咕咪视频"。他是一个大牛,问的问题非常的多,除了微服务外,还问了数据库原理,三范式和事务等,还有中间件的RabbitMQ。他是一个非常注意技术细节的人,居然让我手写git原生命令,还好我平时github用的多,手写的次数相当多。二面的面试官居然还是侧重问SpringCloud,可见这家公司对SpringCloud依赖性多么强,当然其它的比如设计模式什么的都有涉及。值得庆幸的是,SpringCloud技术也算是新技术,掌握的人并不是很多,因此鉴于我掌握的情况,他们还是很满意的,所以也给了offer。出手非常阔绰,十四个月工资加年终奖!

        第四家公司也是一家上市公司,大牛云集,在我看来,仅次于BAT。面试来了两位面试官,我很紧张。主面试官非常友好。重点聊了安全系统与Java中间件。其中最具重量级与加分的问题是,面试官居然问我某安全框架的认证流程,说白了就是问源代码!这一点得益于平时的积累,这是真正考察我技术深度的时候。我曾经花费无数孤独心酸的夜晚仔细研究安全框架的部分源码,在那一刻,值了!我自信满满,清晰的介绍了认证过程中的每一个类以及它们的作用,还在源代码级别讲述如何实现多账号登录,怎么重写它们,分布式情况下,如何限制错误密码重试次数。面试官指出了我技术理解上的一些偏差与错误。重点是,面试官居然也研究过这些源码!这个真是令我印象深刻!!面试的结果是,面试官希望我能留下。我内心备受感动,既心疼曾经的自己,又高兴找到一位值得追随的老大。那一天,是我职业生涯里最重要的一天!

        至此,面试了四家公司,全部面试通过。时间原因,新的面试邀请我不再参加。我已经承受了相当紧张的面试压力,需要放松一段时间。这四家的待遇什么的远远超过老东家。就这样,我终于重获信心。

多多分享

        与优秀的人为伍,自然也会变的优秀。新公司里面的业务算是比较复杂的,但最重要的是有机会接触到更多的技术。在这里,分享是整个团队的共识。我参加了elasticsearch的分享、oauth2分享,在此之前我从未听说过这些技术。周围的每个人都身怀绝技,不夸张的说,三人行,二人均可为师。当然了,技术做到底,还是越精越好。公司鼓励分享,再也不用受到"学这个没用"的困扰。最好的例子就是,如何掌握Linux,这个问题可能困扰了我至少一年。因为已经脱离了Java,也脱离了Windows,真的是学起来毫无头绪。同事非常和蔼的把他的学习Linux所写的文件给我,大大缩短了我的学习成本。每每一想到此事,就对同事非常感激。我也毫不吝啬的分享了我的微服务技术。原来,技术分享从来就不是分享了就没了,而是互相提升的过程。

不畏新挑战

         同事请假时间比较长。他的工作暂由我代理。这几天披星戴月,做梦都在想项目上线的事情。我精神紧张,备受压力。不仅如此,项目上线的过程中,还要协调测试部门,保证测试正常进行。现场过来的大量数据,还要仔细核对,不能出错。为了这些事情,需要与各个部门对接工作。具体涉及到测试人员、现场实施人员、产品人员,对自生还要求得会打包整个项目,并在Linux上部署与启动。这几天感受到了前所未有的工作压力。功夫不负有心人,在19年12月31日,终于把负责的两个子系统成功上线。很高兴,现在的工作很有成就感。我干的很漂亮,回头再看我自己的编码任务的时候,真的小儿科。我敢说,只写代码,真的很简单。上线的过程可谓是耗费时日,有苦难言。就这样,在我的程序员生涯里,我把自己升高了一级。

深入骨髓的体会

        在2019年的程序员职业生涯里,我面临的更多的是逆境。跳槽的焦虑、面试的紧张、工作的压力,总是来得那么猛烈,总能让我身心疲惫,心力憔悴。但是逆境也让我更快的成长。今天再回头看今年走过的路,都是值得的。有些时候,造就一个人除了自身努力外,很大程度上还要取决于个人所处的环境,以及做出的最走投无路的决定!

        另外就是,一定要相信自己!要让关键性的想法“我会成功”支配我们的各种思考过程!那些安于现状混日子的人,我不屑一顾。可以读读洛克菲勒留给儿子的信,我特别喜欢里面的一句话,他激励了在迷茫中的我。这句话我想分享给所有渴望上进的朋友:"有些人注定要成为令人炫目的王者,因为他们非凡的勇气与才能"。你就是那个王者,如果你坚信自己能够做到的话!

       上面就是我能够回忆起来的,2019年职业生涯里比较重要的事情。事实上,能够立刻在我脑子里浮现出来的那些事情,都是明确有益于我的程序员生涯的,还有帮助我认识我自己的。

        文章最后发布于2020年1月1日。

发布了315 篇原创文章 · 获赞 243 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/yanluandai1985/article/details/103793741