「如何让一个程序员工作工作1年却拥有3年经验?」,答案是「加班」。这虽然是个段子,但也是真理。
一个程序员,如果只靠每天8个小时的工作,很难去提升自己的,还是得靠「加班」,这里的加班有为公司加班和为自己加班两种,目的都是一样,为了报酬和技术能力的提升。
接下去抛砖引玉,分享下我进入职场以来3家公司的加班经历,说说我的心态变化及收获。
第一个关键字:996
那时我大二,自己投简历找到了一家外包实习,开启了边旷课边实习的状态。公司是996,但我每天早上5点半起来写写高数作业,背背英语,8点到公司之后开始看Java视频进行学习,到9点老大来了开始上班。我一般是晚上9点半离开公司,赶最后一般公交车,到宿舍将近11点,舍友睡姿都摆好了。
刚入职那一个月,刚好赶上项目上线,我晚上10点多回到学校之后还会跑去通宵自习室继续改bug和实现功能。那些bug和功能在老员工眼里就是很简单:「你先这样,然后再那样,最后再这样那样就行了」,跟所有刚接触开发的同学一样,很懵,但也只能硬抗下来。
那时我会将我实现的功能,解决的bug和写的代码都整理下来,这样下次遇到类似的问题可以从之前的找思路和参考。
那时候就是痛并快乐着,一方面不断点亮自己的技术栈,另一方对我心理压力和身体还是有些影响。每天上班坐公交车都是定好闹钟,插上耳机补上一觉,要是碰到没座位,一个多小时站下来,元气大伤。晚上下班,脑袋都是嗡嗡的。
但也收获了很多,一方面锻炼了我加班的能力,另外一方面让我比其他同学更早接触企业级开发和独立工程实现的能力。这对我后面进阶学习和面试帮助都非常大,我也利用学到技能,申请免修了Java、数据库、Javaee、数据结构等几门课。
第二个关键字:7117
靠着第一家公司加班和积累的技能来到了第二家技术型公司,造大数据轮子给其他公司使用,toB的大数据公司。公司是965,而对于我来则是7117。
7117:就是每天7点开始工作,晚上11点下班,一周7天。
我住在离公司两站地铁站的地方,每天6点多起来,7点到公司。每天基本是修复用户使用产品过程中的bug,别小看这bug,这种bug不像toC产品的bug一样,能稳定复现。很多bug你都得根据客户提供的微量log进行造数据,造环境,最后将bug稳定复现。
要是遇到能通过造各种环境稳定复现算比较好的,最怕的是尝试各种方法和方法都无法复现,那这个bug基本算卡住了,这些都是时间成本啊。很多问题解决了很久都解决不了,一顿操作猛如虎,最后到Apache技术社区一看,原来是原生框架的bug,准备下一版本修复。。
遇到的问题基本是谷歌不到的,因为我们就是解决这些问题的人,那段时间基本都是在看源码,没有业务可言。把bug解决完了还不算完,还得跑各种单元测试、集成测试,大约1个小时,确认没问题了再提交。很多问题到了集成测试环境才会暴露出来,跑几次,几个小时就没了。
测试没问题之后再进行提交代码,然后进行code review。刚入职的1个月被各种吐槽,代码写的烂的一匹,没有规范和性能可言,来回修改。而且公司是敏捷开发,一个版本接着一个版本的发布,所有基本没怎么休息过。
每天早上7点一到公司就接着昨天记录在笔记本的思路往下思考,为什么这么早就开始干活,不可以像第一次加班一样先学习吗?
不可以的,因为等等全部门早会,每个人都要汇报昨天的工作情况。昨天的问题没推进,没产出,早会的时候很尴尬的,所以趁这两个小时再挣扎一下。因为大家都是看最终的结果,不看你付出多少努力的。
入职的时候老大问我的目标,我说的目标是拿绩效考评为A,后面又自己一个人揽了老项目重构的任务,这个吹出来的牛逼让我整整高强度加班了大半年。隔壁部门的女生曾经一度以为我住在公司里面,每天晚上加班走了我还在,早上来的时候我已经扑哧扑哧在干活了,后面一起吃饭的时候才知道的。
第一家公司是我技术的启蒙老师,第二家就是技术进阶的殿堂了,在这里真正接触到底层的研发,知道了原来很多基础的知识是这样被运用。什么JVM、多线程、并发、分布式、存储、内存计算、压缩技术等底层知识,都洗刷了一遍。因为遇到的问题千奇百怪,所以troubleshooting的能力大大提高。现在回味起来很美好,但那种工作难度带来的工作强度和精神压力还是心存敬畏的。
第三个关键字:955
因为996和7117的技术积累,最终我选择来到了955外企。现在这家公司基本不加班的,除了项目发布前期,不然到点了就可以拍电脑走人。我已经一年多没在公司加过班,但前几个月大版本迭代,部门走了两个开发,所以我接了一些他们的活,扑哧扑哧连续加班干了一个多月。
熟悉我的朋友都知道,虽然我在公司不加班,但我回到家、周末、节假日都会为自己加班。每周末会去书店看看书,写写代码,充充电。只不过时间灵活些,让我有时间做其他事情。
最后说说我对加班的看法:
在该加班的时候加班,你需要这份工作,你需要通过加班来提升技术,那就得加,当然是在保障身体健康的前提下。我想应该都没有人喜欢为公司加班,而当自己想获得更多报酬,也没有更好选择以及自己的技术不那么牢固的时候,该加的还是加。
而当你既想获得理想的报酬又不想为工作付出太多时间,这只有在你变得更强的时候,而变强需要时间的积累,大多数大佬都是从菜鸟加班开始。理性看待加班,只有变强,才有更多选择的机会,可以选择为自己加班,共勉!
--end--
推荐阅读:
我的5个寒假,很充实
毕业两个月,随便说说
“斜杠青年” 的年终总结“别人家孩子”的大学四年
22周岁,我完成了两件人生大事
我,大二实习,996,月工资800
谈谈拿到66个大数据校招offer的经历
扫描下方二维码
添加好友,备注【交流群】
拉你到学习路线和资源丰富的交流群