从2015年10月进入第一家公司实习,从事Android开发到现在,不知不觉已有三年之久。这期间我做过不少项目,从事许多技术框架的研究以及开发,也写过许多技术博客,进行多次的技术分享,从事过QQ技术群的建设,也试着进行微信公众号的推广等等,脚步一直都没停下来,更别说写什么经验总结了。就在前几天,QQ群里有个小伙子突然问我从事Android开发几年了,我这才意识到,从事Android开发已有三年了,是应该稍微放慢下脚步,总结一下过去,展望一下未来了。
三年对于我们程序猿而言,说长不长,说短也不短,毕竟这不是个能让你干一辈子的职业。很多人说我们程序猿就像古代卖艺的艺妓一样,是吃青春饭的,其实我觉得这个比喻非常贴切。尤其是在中国,表面上看上去我们程序猿拿着高薪资,做着高大上的技术研究,看上去是风光无限,很高大上的样子。但真实的情况却是,工作通常是995或者996,在公司处于最低阶层,没有任何话语权,对于产品不可以有自己的任何想法,面对产品经理或者甲方天马行空的需求,你必须无条件服从并在极其苛刻的条件下保量不保质
地完成一切功能。然后好不容易加班加点赶完了,还要面对测试无休止地找茬儿…很多程序猿自嘲自己就是高级工地搬砖工,其实这一点都不假。
一直到现在我还记得那年高考分数下来,填志愿的时候,由于分数不太理想,只能选择一个普通的二本大学上上。第一志愿填的是老爸要我上的南京工程学校,填报个土木工程,以后好接他的班,但其实我内心是拒绝的;第二志愿我想了好久,最后才决定选择南通大学,在填报专业的时候,当然是填了一堆父母当时认为好找工作的专业,巧的是,就在我准备提交前的那一刻,我也不知道是怎么的,将我最后一个专业换成了网络工程
。按我当时的想法是,以后互联网一定大有前途,我做个企业的网络管理员【现在又俗称运维】,每天坐机房里打打游戏岂不妙哉,哈哈。然后巧的事情就发生了,当我收到录取通知书的那一刻,我内心其实是有点小激动的,因为我被录取的正是我最后换上去的南通大学的网络工程专业…
上了大学之后才发现,我们学的这内容貌似和我想的差距有点大…老师要么只顾自己一个人在上面嗨,要么就是埋头读PPT唱催眠曲,反正总结一点就是:难学的东西不实用,实用的东西根本不需要学…
不甘心寒窗苦读12年,就为了上课睡觉,下课开黑的我,于是毅然决定去选个二学历学来玩玩(现在看来,完全是为了打发时间)。由于当时对企业金融感兴趣,二学历学的是企业工商管理(国际管理方向),这期间读过不少有关的书籍,看公开课,纪录片,还真刀实枪地杀入到中国A股市场经历一波牛熊市转换,自认为毕业以后一定能在金融投行市场里如鱼得水,现在看来,当时还是太年轻了。
一个人一生中如遇一位恩师,那一定是他这辈子莫大的幸福,而我在大三的最后一门专业课(Android开发基础教程)上就遇到了。这门课改变了我此前对本专业的看法,同时也是我大学期间唯一一门我真正喜欢的课程(恨不得天天上的那种)。从那以后,我就被Android的艺术给深深吸引住了。比起C++黑色的命令框,Java的控制台console,我更喜欢能直接运行在我手机里的Android。
大三结束后的暑假,我在家闭门玩Android玩了整整两个月,实习工作也顺理成章地选择了Android开发。
刚开始实习工作的时候,真的就像是在打怪练级一样,对什么都感兴趣,不管是什么活我都愿意去干,根本不挑活。什么工资待遇、员工福利、团建活动啥的完全不关心,一心只想做Android,其他什么的对我毫无吸引力,这样的状态一直持续到我大学毕业。这期间,工作时写Android,下了班我也在写Android,即使是到周末了也依然在写Android,基本是那段时间除了写Android,基本上不干其他的事情…也正是这样,我得到了领导的极力夸奖和同事们鄙夷的目光,哈哈,开玩笑的,反正认为我是个奇葩就对了。
毕业了,转正了,同时也开始了我的加班之旅(毕业前一直是不需要加班的,毕竟是实习生,临时工,做的都是些无关紧要的工作)。刚转正,我就被委派带领组内人开发公司的核心产品,在此我还是非常感谢领导如此信任我这名新人的。毕竟我年龄是最小的(94),要带领一帮93、91、89的一起做项目,说实话,要换做是我我肯定不会这么干。那段时间对我来说其实是蛮艰难的,让我带领一帮比我工作经历丰富的人来一起写项目,根本就不太现实。首先,你说话根本就没有分量(资历浅,一个刚毕业转正的人谁会听你的);其次,我根本就没有带领团队做项目的经验;最后,年龄摆在那,谁愿意听一个小弟弟在自己面前指挥项目开发。
最后的结果很显然,与其说是让我去做项目开发负责人,不如说是让我去做项目背锅侠。不过好在我加班加点背锅,最后还是顺利完成了任务。到年终的时候,由于我表现优秀,在组织架构调整时,顺利成为了组内的副组长,在谈涨薪的时候,我也是不假思索地提出涨薪4k的要求,我认为并不过分,毕竟我实习期间和转正期间都是全心全力地为公司卖命,这点要求应该不算过分吧,当时领导也是欣然答应了。然而在后面收到工资条的时候,我发现我的要求被打了半折,这是我第一次失望。
后来,我的领导由于要休陪产假,我就只能独自一人扛起组内日常开发管理的重担(老实说,我对领导突然的不辞而别挺气愤的,休假之前好歹也嘱咐我一下东西嘛,什么都没说就走了,留下一只懵逼的我)。那段时间我是没日没夜地加班(连续加班一个月,周末两天也全加班),生怕领导不在的这段时间出什么岔子,愧对大家对我的信任。再加上当时总监又给我面前吊着一根胡萝卜(加薪4k),我也是拼了老命去干,最终我还是顺利完成了任务,很平稳地过渡了。从那个时候开始,我内心就开始萌发了一个念想:原来我也可以独当一面了呀。
那个时候我和领导的关系特别好,我也是一心想好好辅佐他把组内建设好。我的想法就是,对内我抓紧进行技术框架建设,对外极力提高组员的话语权。为此,我制定了开发规范,重构了组内的技术框架,不定期地进行技术分享,为的就是能够更好地服务大家,提高大家的开发效率,帮助大家进步。最终,我的付出得到了大家的肯定,他们也越来越信任我。当时的我认为,我做得这么好,领导应该嘉奖我,答应给我加薪4k应该没任何问题吧。然而当我将调薪申请书交给领导后,我等了两个月都没有动静…眼看着调薪的窗口已经结束,我前去找他理论,得到的却是他忘记了,还没向总监提。当时我就火冒三丈了,我做得这么好你却这样对我,是存心和我过不去嘛,这是我第二次失望。
后来我气不过,直接找总监谈调薪问题,就在聊天的过程中,我隐隐约约得知到公司有人穿我小鞋,而其中就有我的领导,得知之后我是又气愤又失望。之后领导为此事又特地找我谈话,期间又给我列出来各种莫须有的罪名,搞得我是莫名其秒。我心想,我那个时候好心为你,脏活累活都我来,为了组内利益不惜得罪了别人组的组长,而你却跟着别人在总监面前穿我小鞋,现在还在这边给我列罪行,要脸不?那次谈话我没能控制情绪,当场就和他怼了起来。那次谈话可能是我们最后一次谈话了,因为之后的一年内,我们单独谈话的时间不会超过5分钟,因为我觉得没什么好谈的了。最后我和总监达成了一笔交易,我放弃了组内的职务(也就等于放弃了高额绩效),然后获得了4k的加薪。这是我第三次失望。
这段时间由于我没了组内职务,反倒清闲了下来,让我可以流出更多的时间用以观察和思考(对,这就是典型的薪资涨了,活反而少了)。这期间,我退出了公司内部权利的争斗,将重心从公司逐渐转移到个人的建设上,闭门专心从事技术的研究,学习新的技术,开始尝试写博客和开源项目。你可能很难想象,我能和一个已经撕破脸皮的领导继续在一起工作一年,那是因为我已经对这家公司失望了,继续待下去是因为刚涨了薪资,现在跑路就太亏了…再说,我现在的工作强度也不算太大,我可以拿出更多的时间用来更新自己的技术栈,提升自己的实力,这样在以后才不会被别人轻视。
也正是因为我的这种无欲无求的状态,让我观察到了以往我看不到的东西,同时也让我明白了为什么我的领导对我的态度变化那么大。虽说我和领导的关系降至冰点,但是我和组内的其他成员关系却是越来越好,出现任何技术问题的时候,他们都会直接来问我,因为我是真诚想帮助大家,大家也同样信任我。不过这样的关系引起了我领导的不适,他开始不断地给组员增加任务,并且要求制定学习计划,并以此作为年终调薪的筹码。最后,组员们被一个个工作任务和学习任务击垮了,放弃了加薪的念头,开始准备跑路,寻找下家了。
2018年年后,我的那些被逼疯的同事们开始陆续跑路、跳槽了。期间不信任、失落充斥着全组,虽然大家表面上看上去很和睦,实则很尴尬。可能是大家都已经看淡了,领导在群内喊话,我们都没人搭理他,这期间我一直扮演的是旁观者的角度。就这样,原先8个人的小组,陆陆续续地走了5个人,等我回过神来的时候,才发现大家全都走光了,就剩我和另一个女生…我在综合考虑后,决定开始面试,尝试着跑路跳槽。很快我找到了下家,那天我找到领导谈话,提出离职的申请,和我预想的一样,他并没有挽留我(估计想让我走很久了吧),不过我还是很礼貌地说了声谢谢,非常感谢他将我领进门,也非常感谢他让我明白了办公室政治的黑暗,让我能专注于技术的研究,做纯粹的技术。
之后我换了一家公司,可能是第一次跳槽没什么经验,跳到了一家严重老龄化的公司(国企改制),极度悠闲的工作状态让我非常地不适应,干了一个月就让我体会到进养老院的感觉…在进行了深刻的思想斗争后,我毅然决定在年前离职,开始修养生息一段时间,等年后再进行面试,好好挑一家可以长期为之奋斗的公司。
即使休息在家,我也没闲着,一直在进行开源项目的开发,从2018年起到2019年这一年间,我开源了30多个项目,项目的总star量也突破了2k,单库的月下载量也突破了7k,QQ技术群也突破了200人,这一切都是在这短短的一年间完成的。
如今,我已经找到了一家我很看好的公司,未来我将继续从事我所擅长的技术研究,并为大家带来更多便捷方便的开源框架~~