引言
之前的伪PM纠结之路已经渐渐结束,LZ也终于正式爬上了PM的位置,对于LZ来说,这个时间比LZ预计的早来了两年半。说起来,两年半的速度已经算是比较快了,但这之中的努力唯有LZ一人知晓。写这篇文章,一是LZ最近工作比较繁忙,再没有了当初作为程序猿的悠闲自在,为了弥补这段时间博文的空缺。二则是为了分享自己的工作之路,以期能够给一些刚进入岗位的新人们些许指导。
在正式开始本文之前,LZ觉得有必要进行一下自我介绍,毕竟大部分猿友还对LZ一无所知。
LZ出生于88年,“龙”一直是一个令LZ很自豪的属相,一直被LZ视为自己的守护神。在09年的7月份,LZ从兰州一家徘徊于二流与三流本科之间的大学毕业,开始了自己的待业生涯。在09年毕业后到11年的3月份之间,LZ一直都徘徊于家庭与各个乱七八糟的工作之间,进过工地、当过流水线工人、做过业务员,当真是尝尽了酸甜苦辣。直到11年的3月底,也就是刚过完年,LZ才算是真正的走上了自己的职业之路。LZ进入到一家培训机构学习了Java语言,并于11年的11月份,靠自己的实力找到了人生第一份真正意义上的工作——程序猿。
就LZ本身的经历而言,没有特别闪亮的高学历,也没有名校的光辉,还进入过不少公司都无法苟同的培训机构,但这依然无法阻止LZ前进的脚步。这至少说明了一件事,那就是工作之后的努力其实非常重要。当然,如果能拥有更高的学历,更好的学校,相信LZ的路会走的更加平坦,至少对于绝大部分人而言,高学历和名校都是首选的捷径。
好了,简单的自我介绍就告一段落,接下来我们便开始正文吧。此外,由于本文没有特别需要强调的地方,因此LZ就不分章节了,一些比较重要的部分会用粗体表示。
正文
从LZ的经历可以看出来,LZ的生活是从11年开始转变的。为什么LZ会突然去培训机构学习Java?
答案只有一个,而且是像数学题一样的标准答案,那就是因为有梦想。尽管LZ刚毕业时干过很多杂活,也在家当过一段时间啃老族,但不可否认的是,LZ的意志并没有消沉,反而在慢慢坚定。LZ一直都有成为一名程序猿的梦想,但苦于是数学专业,尽管逻辑思维能力很强,也在大学时学过一些C语言,但是对于程序猿这种技术型的职位来说,在完全不会的情况下,很难进入这一职业。
当时,很多培训机构都类似于变相的大学,一学就是一两年,这让当时已经大学毕业的LZ有点望而却步。毕竟已经上了四年大学,再去培训机构学上两年,实在是耽搁不起。后来一次偶然的机会,LZ在某官网上发现有的课程并不需要从头学起,是专门针对大学已经毕业的人甚至是已经工作的人设计的课程,最快的只要半年就可以完成。这才让LZ下了决心,来北京一搏,而LZ依稀记得,LZ是当时那个课程开设以来的第二批学生,现在来说的话,也算是元老级的学长。
纵观这一路,看似偶然,却又是必然的。LZ也借此告诫各位刚毕业或即将毕业的同学们,不怕你找不到工作,就怕你意志消沉,甚至失去追逐梦想的勇气。
因为有梦想,因为有压力,所以LZ到了培训机构以后,就像一个饿死鬼投胎一样,疯狂的吸食着得来不易的知识。长期的数学学习之路,养成了LZ举一反三的学习习惯和很好的逻辑思维能力,因为在数学题的题海当中,举一反三和逻辑思维能力都非常重要。这也被LZ运用到了Java学习的过程当中,可见成效还是非常不错的。
举一反三是什么?它是一种学习方式,是在学习生涯中养成的习惯,正是因为这些习惯,LZ才得以在Java的学习当中如鱼得水。逻辑思维能力是什么?它是一种学习能力,是在学习生涯中形成的能力,只有具有了这些能力,才能在之后的生活当中吸取新的知识。
现在的很多人都说大学读了也白读,出校门的那一刻就把学的东西全部还给学校了。或许真的是这样吧,因为LZ现在已经没有能力再去做什么证明题了。但是有些东西是深入骨髓的,这一辈子它都会跟着你了,这些东西也是你以后成功的关键因素。那就是你的学习习惯、学习能力等等,这才是你出了校门以后赖以生存的东西。
说起LZ的第一份工作,实在是非常苦逼,但其实现在看来,当真算得上是一段历练。LZ当时碰到了一个十分不靠谱的PM,LZ只需要简单举几个例子,各位就能知道他的大概品性了。比如,在下班的时候经常一直在你身边坐着,言外之意就是,“好好给我干活吧!我不走你们也不能走”。再比如,LZ当时的公司一共就20人不到,公司的办公地点在一家小区的复式单元房里,分为一层和二层,每层大约能坐下10个人左右。LZ当时和技术人员、美工人员包括这位PM都在一层,他经常会在我们所有人面前大骂二层的业务人员,比如“SB、无能”等词语常常出现。
有一次我们两个闹得十分不愉快,那一次是他让LZ做一个任务,但却一直在强调,“这么简单的任务两个小时就搞定了”。无论LZ如何解释其中为何完不成的原因,他都不听,LZ当场就暴走了,直接丢下一句,“那你来,两个小时你做完,以后你再评估时间我再不质疑”。结果可想而知,他当然没做完,当时大约是北京时间晚上9点30,于是LZ便刻意说了一句,“没做完的部分,我明天早上再来做吧”。LZ的言外之意当然带着点讽刺,不过这句话立即让他狗急跳了墙,开始大声批评LZ抓着这件事不放,LZ只想说,“靠,你这么吊,我说一句还不行了?”。之后将冲突推向高潮的是,他没词可说的时候,竟然拿LZ是河南人来说事,原话大约是,“原来对河南人印象还不错,现在有点改观了”。LZ立马第二次暴走了,工作归工作,这怎么还扯到人身攻击上去了,而且还是这么低级的攻击。之后当然是大吵了一架之后,不欢而散。
就上面这些简单的描述,相信各位猿友也能想象到LZ当时的工作环境是如何的水深火热了吧。或许有不少人会觉得LZ当时的PM实在是弱爆了,眼高手低,心胸狭隘。尽管他的人品LZ实在不敢恭维,但不得不说,他的技术还是相当不错的,LZ在他身上确实学到了不少硬功夫。因此直到现在,LZ对他都还是心存感激的,毕竟是他给了LZ第一份程序猿的工作,也教会了LZ不少技术知识,也算是LZ职业生涯中的第一位伯乐和导师。哪怕是LZ最终离开公司的时候,也并不是因为他的原因才离开的,而是因为公司规模太小,公司总人数还不到20人,技术人员甚至不到6人,晋升之路实在是遥遥无期。
LZ之所以说这些,是因为现在的年轻人大部分都是被家长从小宠着长大的,这其中也包括LZ,因此忍耐能力都相对较低,通俗点说,就是脾气不小,受不得委屈,容易冲动。社会上的人各式各样,或许你也会碰到一个极品上司,或者是一些个极品同事,他们的一切看起来都是那么的垃圾,但是请你相信,既然他们被公司录用了并没有被炒鱿鱼,就一定有过人之处。三人行必有我师,只有你公正客观的看待每个人,发掘他人的优点,并为我所用,才能学会感恩,不断进步。
从第一个公司裸辞之后,LZ就找到了现在所在的这家公司。当时LZ找工作的要求只有一个,就是公司的技术人员要在100人以上。也许是实力,也许是运气,LZ一个星期就顺利的拿到了offer,而且当时公司的总人数已逾万人,技术部约300人,完全达到了LZ的心理预期。更为巧合的是,公司的大厦就在LZ之前工作的小区对面,LZ完全不需要再搬家了。为了给自己点时间放松一下,LZ当时还专门拖延了一个星期的入职时间。
如果说在第一份工作的一年里,LZ的技术进步神速的话,那么在之后的一年里,LZ的技术应该说以变态的速度在提高。
刚去新公司的时候,LZ非常满意,环境优雅,工作悠闲,同事们也都比较好接触,而且LZ本身也属于比较活泼幽默的人,所以融入团队也十分迅速。但是这样的感觉只是持续了短短一周,一周之后,LZ就有点坐不住了。因为已经一周过去了,项目框架也熟悉的差不多了,PM依旧没有给LZ安排任何任务,各种迷雾开始笼罩着LZ,“是不是自己的表现太差?”。可是一想也不对,LZ当时还没接任何任务呢,何来表现太差。这么说的话,“是不是PM在等自己主动请缨?”。于是LZ试探性的问过PM,当时具体怎么问的不太记得了,但是得到的回复大概意思就是暂时还没有任务给你。
这下LZ傻眼了,怎么办?难道就这样耗时间吗?
LZ当时做了一个十分幼稚而又重要的决定,既然无事可做,那就干脆看书吧。于是之后的很多天,别人都在忙着工作的时候,LZ却抱着一本厚厚的《Java编程思想》悠闲的看书,一眼望去,是那么的格格不入。现在想想,虽说做法有些欠妥,毕竟上班可不是让你看书去的,但LZ依然觉得当时的决定实在是太对了。因为正是这本书让LZ尝到了甜头,后来在迷茫的时候,LZ才找到了方向。
之后的一段时间里,LZ的工作也进入了白日化,因为LZ所做的项目是一个老项目,已经处于维护阶段,项目所用的技术也是比较老套的花样,因此也没有什么惊天动地的需求,有的只是一些小功能,小bug。但就是这样一些小功能,小bug,LZ竟然还经常出错。最主要的原因就是因为项目的文档缺乏,代码质量很差,不但臃肿不堪,而且逻辑混乱,在这样的项目当中编码简直犹如在丛林里行走,一不小心就可能踩到什么陷阱、沼泽之类的。因此LZ当时挨了不少的批,也能感觉出来PM对LZ不甚满意。
原本以为到了这么大的公司应该可以学到不少新技术,更好的锻炼自己,结果却是改改小bug,做做小功能,技术上毫无长进不说,冷不丁还要挨批,领导也不认可。如此的心里落差,LZ当时的心情可想而知,甭提多憋屈了。当时摆在LZ面前的只有两条路,要么忍,要么滚。LZ最终还是选择了忍,因为LZ不允许自己在不被认可的情况下逃走,就算要走,也必须是功成身退。
但无论如何,每天重复的工作,技术上毫无长进,还是令LZ心急不已。为了按捺住躁动的情绪,LZ开始拿起了书本,每天下班之后就疯狂的看书,沉浸在书的海洋中。后来LZ看的书多了,就开始自己写博客,偶尔也会自己写写代码,遇见问题就翻官方文档、看源码,后来也就成为了一种习惯,每天下班之后就是看书、写博客、写代码、看文档、看源码。渐入佳境之后LZ发现,学习给LZ带来的最大的收获并不是技术长进了,而是LZ的心态变的平和了。只有心态平和不浮躁,你才能静下心来做事,只有静下心来做事,你才能把当前的事情做好,只有把当前的事情做好,你才有资格做更难的事。
事实证明,LZ的做法还是比较正确的。之后LZ代码的出错概率陆续在大大的减少着,这是心态的问题,而且或许是老天眷顾,上天给了LZ一次证明自己技术能力的机会,让LZ在公司的一次编码大赛当中拿了个第一。尽管当时参赛人员都是公司内部的,而且只有20人报名,但这也给LZ带来了不少认可。
自从那次得奖之后,LZ的职业生涯就顺畅了许多,而且不得不说,LZ的运气也非常的好。当时项目组的新需求量非常少,所以开发任务并不是很多,而且因为是处于维护期的项目,悠闲而又繁杂的工作导致了一批老人的离开,截止到LZ获奖的时候,组里原本的8个人,就只剩下了6个老员工,有PM、PO(产品经理)、测试工程师以及LZ在内的三个开发人员,而且其余两个开发人员都是女生。之后,PO离开了项目组到了别的部门,而其中一个开发人员又因为住房离公司较远,而且育有一子,当了妈妈的她希望更好的照顾家庭和孩子,所以最终还是选择了离开。恰逢此时,LZ项目的PM再度高升,成为了技术部组织架构调整之后的部门经理,尽管他名分上依旧是项目组的PM,但其实他能够花费在项目组上的时间已经大大缩减。
最终,在LZ进入公司近一年的时候,项目组就只剩下一个测试工程师、LZ以及另外一个女程了。这不得不说是一种运气,从那时开始,LZ的PM之路其实就已经开始了,接连不断的重任开始渐渐压下来,迎接LZ的,是一个接一个的挑战。
首先考验的是LZ的技术能力,平时只专注于编码的LZ此时就需要各种各样的技能,比如SVN的代码管理、SSI框架的掌控能力、MQ消息通信、maven模块化、maven私服、各种奇怪的诸如高并发引起的线上bug、集群与分布式缓存、反向代理以及硬件负载均衡等等一系列的技能。其实这些技能都不难,难就难在可能需要你在一天甚至几个小时之内就搞清楚其中某一项技术,说到底,其实技术这一关考验的并不是某一项技术你是否掌握了,而是快速的学习和接受能力。
技术难题是最先遇到的,后续接踵而至的便是沟通、协调以及管理能力的考验。需要频繁的与各式各样的人打交道,还要帮助组里的人与组外协调一些事情,其中的难度比起技术上遇到的问题只高不低,特别是在沟通过程中碰到一些硬茬的时候,也只能硬着头皮上。管理的过程当中也会遇到一些问题,比如组员不听从安排,责任混乱导致效率低下等等。这些问题其实是授权的问题,现在这些问题都会受到有效的遏制。
时至今日,LZ终于坐稳了PM的位置,尽管LZ这个PM当的还不算是特别合格,但也算在稳步前进。由于项目的需求量在年后暴增,LZ的团队也在这段时间内迅速扩张,至今LZ手下的团队包括LZ在内已经有19人,其中上至30多岁的大哥大姐,下至90后的小弟弟小妹妹都有。LZ之所以能做到这一步,当然有很大的运气成分,但更多凭借的,还是自己的技术实力和个人能力。试想一下,倘若没有之前那一段时间的疯狂学习,遇到的技术问题全都解决不了,LZ又如何能抓住这突如其来的机会。所以说,遇到机会是靠运气的,但抓住机会是靠实力的,平日里逐渐增强自己的实力,才能在机会到临之际,不至于让它从手中溜走。
小结
文章到这里就差不多要告一段落了,LZ短暂的工作之路当中,很多事情看似偶然却又似乎是必然的,就像这人生,处处充满了巧合,却又像是命中注定一样。不管未来将会如何,路还是要一步一步的走。
漫漫人生路,且行且珍惜。