时光不负,创作不停,本文正在参加 2021年终总结征文大赛

不知不觉也过了而立之年,随着年龄的增长,心中的想法也越来越多,肩上的责任也越来越大。以前从来没有写过个人的年终总结,最近开始在掘金输出一些文章(感觉很粗浅),刚好看到年度征文,心中愈发的想说点什么。所以,在此给大家分享下一个普通程序员一路走来的一些经历和感受。

时间回到2014年(好遥远的时间啊),那时候学校没课,开始出来实习。还记得刚开始出来的时候,因为手头上没钱,3个男生住一个单间,两个人床上,一个人地板(艰苦卓越的人生)。

第一家公司

当时在学校主要学的是C#,经过一些简单的面试,一家做ERP的公司收留了我。因为在学校的时候其实就一个学渣,对技术一窍不通,所以在入职之后特别恐慌,代码看不懂,导师说了还是看不懂,而且还害羞不好意思问太多次。

因为内心的恐慌,第一家我只待了2周,然后在某个周一的早上给经理发了个短信说不去了,接着就继续睡觉。再后来该公司的HR还电话给我,因为内心的愧疚而不敢接电话,最后她没办法只能给我发短信,就是想把那两周的薪资结给我,而我也没回复,也不好意思去要那2周的薪资。

这件事我到现在还很愧疚,当时做了一个很不好的一个事情,挺对不起当时的导师和HR的。因为这件事,我之后遇到的每个实习生或者即将实习的大学生都会说:不懂不要紧,要皮实,要敢问,要努力。

第二家公司

从第一家公司逃避之后,3月份经过老师介绍,和另外一个同学(外号舍长)一起入职了第二家公司,同时还有另外一个新生(外号草爷)一起入职。这家公司还是挺有归属感的,一方面有老师傅带,另一方面有人陪着你一起学习,一起成长。有两件事我特别深刻。

第一件事:该公司当时是包住宿的。我、舍长、草爷三人一个寝室(又是3个男生的单间),刚开始的时候我和舍长,每天都是打游戏到晚上12点,而草爷是每天学些和写代码到晚上12点。草爷在校期间已经跟着导师一起做项目,技术能力比我们两草包强多了,而且他当时的桌面写着一句话:比你强的人比你还努力。所以在这个情况下,持续了大概3周,我们两个草包被卷的不行了,最后也跟着开始学习。从这开始,我才算真正作为一个程序员的初学者,可以自行学习和摸索。

第二件事:当时的实习工资是2500一个月,我和舍长4月1号(我到现在还记得)领取了人生的第一笔薪资。领取薪资的那个中午,我们去了一家汉堡王吃,点了一个汉堡、一杯饮料,35元!!! 在当时,一顿饭一般也就10-13元之间,那顿饭吃了我35元。所以,从那以后我再也没去过任何一家汉堡王,因为我不配。

在第二家公司大概呆了1年多,从一个刚入社会的小白,到一个初学者的转变,其实也学的挺多的。现在回过头来看,当时如果继续呆着也不错,虽然薪酬低了些,但是有时候慢就是快。这家公司其实和学校是有关系的,只要考了教师证,就可以去学校教学,并且提供在职研究生的所有学费。再后来我另外一个同学也入职,他就一直留着,后来是考了教师证,再考了在职研究生,现在在一家国企,工作内容轻轻松松,并且总包也不低,最近还生娃了,真正的人生赢家。

从第二家公司离职之后,我来到了厦门。有时候命运真的很神奇。我在第二家公司刚开始主要是写C#的,但是后来因为需要,我大概自学了一个星期的ThinkPHP, 然后就上手了PHP,并且一直写到最后离职。我在写PHP的时候,遇到最大的问题,就是PHP没有现成的异步方式可以使用,所以当时特别反感PHP。后来草爷告诉我Java有异步,而且特别简单。所以,我当时果断去搞了一本Java相关的书,看了3个月。15年年初的时候来到厦门后开始找工作,鬼使神差的只投了一家公司,鬼使神差的面了Java的岗位,鬼使神差的第一次面试通过,鬼使神差的确认了offer。

第三家公司

现在回想,一切真的好像是巧合,我可能真的适合留在厦门。因为我来厦门的第一次面试,面试的第一家公司,而且还转了语言方向,最终的结果竟然是面试通过了。

这是一家做车载终端IOT产品的公司,整体的产品体量还是挺大的,在基础设施和高并发这块也做的非常成熟。那当时作为一个初入Java的小白来讲,刚开始还是挺恐慌的,因为整个系统非常庞大,十几个服务,上百张表,大表数据量也是亿为单位。那时候的我深知自己的Java基础其实很差,没有经过系统性的学习,所以我买了一本李刚老师的《疯狂Java讲义》(这本书我到现在还保存着),每天趁着中午以及晚上的时间,耗时1个半月终于看完。也就是从这个时候,我开始进入了一个成长期,在业务上和直接对接的产品运营销售去沟通,理解真的业务需求;在技术上也逐渐深入的去看相关的底层源码,以及当时公司架构师写的分布式事务和分布式RPC框架的源码。

在第三家公司虽然成长的快,但是也伴随着加班,当时除了工作日加班,周末也基本无休。我印象最深刻的是有好几次,周六晚上10点多的时候被叫去公司处理问题(太惨了)。在这家公司,大概干了1年多,从刚入门的小白,到一个小组的组长,带着几个小伙伴独立负责几个客户的系统维护和迭代。

总的来说,这家公司我还是成长了很多,也特别感谢当时的直接领导,是她带着我一步一步的走下来的。

第四家公司

在上一家公司因为加班严重,所以当时选择了离职,最后还是我的直接领导推荐的我入职第四家公司。

在这里又不得不感叹命运的神奇。在确定第三家公司离职之后,我也面了好几家公司,并且手头上也有对应的offer了,也和HR确认了周一入职。而当时我的直接领导推荐的时候刚好在上一周的周四,然后周五约一面试,周六二面(其实没面啥就是瞎聊),周日我要求对方给offer,否则下周一我就入职其他公司了。整个时间就是如此的紧凑,最终第四家公司的HR在周日的时候给了我offer,而我也确定下周三入职第四家公司,确认的原因并非是薪酬问题(还略低手头上的其他offer),完全是因为当时两位负责人的个人魅力,一位是产品一位是地产的负责人,完全不懂开发,但是面对我就是能侃侃而谈。

第四家公司的工作经历,称作是我这辈子的一个转折点也不为过。在这个公司,我是当时的第一个开发,经历了从13个人发展到150+人,从写下整个公司的第一行代码到完成一个分布式高并发的架构体系搭建。在这个公司也认识了很多有趣的人,我们至今还保留最初的13人微信群,也经常聚在一起吃饭。

在第四家公司,我待了4年,在这4年中工作和生活上,我都做了很多事儿。

16年刚入职,写下公司的第一行代码(当时感觉被坑了),做了一个小型的CURD系统,自己搭建了一个开发环境,然后用tomcat部署到服务器上;后期随着人员的进来,业务扩展,一个tomcat多个war包的架构模式经常出问题,所以我引入的docker,并且把整个项目修改为spring boot。

17年业务急剧扩展,人员也开始急剧扩展,我主持引入微服务spring cloud 框架,并且为了解决部署问题,还引入了当时比较火的docker swarm 容器编排平台。但是docker swarm我们踩坑了,在我们的开发环境因为压榨服务器性能比较狠,导致经常性网络访问问题,所以在17年底,我们切换为k8s平台。

18年为应付当时集团的安全审计并且自己也有了一定的安全意识,当时的公司整个网络环境开发和生产是共用的,可以相互访问,所以当时还主持对网络环境做一次切割,把生产和开发网络环境通过阿里云的VPC做一次物理隔离。

18年下半年,我在老家的城市买房了。买房的初衷其实非常简单,因为家里已经没有负债了,而自己也将近而立之年却还是一无所有(单身、无房、无车),所以打算给30岁的自己一个交代。关于买房这个事儿,我感觉可以开个单章分享下,买房的决定是在18年年初下的,当时身上只有3.6W,外加11W的负债,整体预算只有20W,但是最终首付整体算下来,我付了55W。现在回想有点不可思议,都不知道自己钱哪里来的。

19年下半年在公司同事的撮合和调侃下,慢慢对一个测试妹子有好感,也开始有意识的去尝试接触。但是好像有点吓到人家,她一开始还挺抵触的,甚至私聊了撮合的同事不要乱来。同年还参与了一个开源项目 Crawlab 并且深入去了解源码并且也贡献了不少的代码,可惜后来没有坚持下去(现在看Contributors还挂着我的头像,有点惭愧)。

20年初我和测试妹子确定了关系!!! 哈哈哈,想不到这个反转吧! 现在回想当时自己也是套路满满(我感觉这个事儿也可以开个单章)。20年年初因为疫情,公司是居家办公,当时我就是远程勾搭的妹子,主要是通过游戏,为了和她一起游戏还特意买了台主机。现在追到手之后,游戏就没玩了(有点渣啊)。

其实从17年开始,个人的岗位职责已经慢慢发生转变了,基本不再写业务代码了,转为更偏向运维的岗位了,主要负责一些基础设施的维护以及底层架构的搭建。从19年开始,因为集团的业务调整,一个重要的业务被砍,整个部门也开始在走下坡路,人员走了一波又一波。我一度也想换个公司,明知目前没什么前景,整天浑浑噩噩,对未来充满迷茫,但是几次跳槽失败,都被领导劝说下来。现在回想,还好当时留下来了,不然损失惨重(损失女朋友一个)。

在第四家公司收获女朋友一枚之后,离职的想法愈发浓烈,心中想着还是需要为以后的生活负责,而不是在这里继续耗着,会浪费很多机会成本。在离职之前当然少不了找工作,当时的想法是找一个轻松一点,薪资符合自己的预期,自己也沉下心来梳理下这几年的知识,做一些输出。经过一段时间的面试,终于确认了2家自己比较心仪的公司,一家做电商相关,一家做医药行业,岗位的话电商是架构师,医药的是技术经理,薪酬的话医药行业的会高个1K。最终入职了医药行业的公司,主要原因是那边的技术总监和第四家公司的领导认识(厦门就是如此的小)。

第五家公司其实没什么好说的,我干了1年不到就提桶跑路了,心中只有一句话:医药行业是真的乱。在这里给打算入职医药行业的同学一个建议,入职之前一定一定要了解清楚内部的工作流程以及相关产品线。

21年7月份的时候入职了当前现在这个公司,虽然还是一个小公司,但是个人觉得还是算稳当,工作压力也不大。在这个公司同样整个研发环境,基础架构,开发框架、开发团队等等都是我一手搭建起来的,目前算是进入一个稳定期,版本迭代事宜有条不紊的进行,整个底层架构也修改为我心中的模样。在这家公司我还养成了一个习惯:记录wiki,现在公司的内部wiki基本算是我一个人在维护的。

好了,到此也算把自己整个职业生涯分享完了。最后在做下本年度总结:

  • 5月份的时候,终于和女朋友订婚了!!!
  • 6月份在厦门买了房子(是的,我们买二套了!!!)
  • 7月份以技术合伙人的身份入职了当前现在的公司
  • 8月份完成公司的基本研发环境搭建和团队建设
  • 9月份完成公司的第一个产品上线(不是从0开始)
  • 10月份开始周更技术博文,有意识的开始认识和了解技术大牛以及参与一些线下的交流会
  • 11月份公司的第二个产品上线(在第一个产品的基础上),同时也更新整个底层架构
  • 12月份 还没过完呢~ 不知道写啥
  • 同时,也立下2022年的Flag:

  • 坚持做到周更,输出自己这几年在创业公司折腾事项,包括:网络环境、源码解析、编程技巧等等
  • 完成一个开源项目,把现在搭建的一套框架整理出来,并开源
  • 维护自己的一个个人小社群,微信公众号或则微信群的模式
  • 最终要的一件事: 把小黄娶回家!!!
  • 现在回顾,其实在整个职业生涯中一直在选择,有选择错的时候,也有选择对的时候,但是最后是对还是错谁知道呢,只要够皮实,够坚持,一般都会有一个好的结果。如果当初我继续留在第二家公司,考教师证,考研,会不会有不一样的人生呢? 如果我当时不从福州回厦门,不面Java相关的工作,那是不是也会不一样? 如果我当时不入职第四家公司,是不是就没有现在的老婆?

    当然,如果也只是如果,已经发生的事情我们无力去改变,也无需改变,只需保持初心,一路坚持下来,总会有一个好的结果。

    自此,与君共勉~

    2021.12.20

  • 私信