本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。
不可思议,这已经是我第10个年头的年终总结了。
但准确来说,我的Android之旅应该不止10年。
2010年的夏天,那时我正在放暑假。偶然网上闲逛时,在电驴上发现了一个视频教程系列,讲的是Android编程入门。讲师的名字我到现在还记得,叫Mars。
Android?没听说过。进去了解了一下,原来这是一个Google新推出的手机操作系统,并且最重要的是,它是可以用Java语言来开发应用程序的。
由于我在大学时主修的就是Java语言,而当时最主流的诺基亚塞班系统是要用C++语言才能开发应用程序的,这对我来说就非常不友好。
Android系统无疑给我指了一条全新的方向,我在短暂思考之后就决定踏上了这个全新的领域,这条路一走就是12年。
所以,用更准确的计算方式,我的Android之旅应该是12年才对。
但由于我是从2013年开始写的博客,并且自那时起每年都会写一篇年终总结,今年正好是第10篇。我觉得用10年Android之旅这个标题好像比12年Android之旅看着更工整一些,10年就10年吧。
话说这篇文章真是刚开始写就勾起了我的回忆。今年不是被称为最难就业季吗?其实我2012年毕业时,那年也被称为过最难就业季,当然跟今年比起来确实是小巫见大巫。这里我就回忆一下10年前我找工作的经历吧,希望今年的应届生们也能一同共勉。
2012年的计算机行业还不是什么热门行业,那个时候移动互联网才刚刚起步,还远远没有兴起。
我作为一个应届生,其实也是有个大厂梦的。当初我记得应该是向很多互联网大厂投递了简历,没记错的话有网易、淘宝、搜狐、百度等等。
但是,作为一个双非院校的学生,在大厂应届生招聘上,我没有任何优势。
网易和搜狐我应该是简历都没过去。
淘宝给了我笔试机会,但是没能通过。我还记得那天我从苏州坐车到上海,去同济大学参加淘宝的笔试。由于路上堵车,等我赶到的时候笔试时间都快结束了,最后自然也是一轮游。
百度的话好一些,记得当时是去复旦大学参加的百度笔试,考的内容全是C语言的题目。我对C语言的理解只有课本上学习的那些基础知识,笔试的题目我基本都不会做,但不知为何那天就是发挥神勇,竟然顺利通过了笔试,这件事让我高兴了好几天。
后来复试是去的张江高科的百度办公楼,我也是第一次感受到了张江一带互联网科技的气派氛围,自己就好像是乡下人进城一般。
不过遗憾的是,复试我并没有发挥好,所以还是被淘汰了。回想当时复试的题目,其实很多都是在考数据结构和算法,但我在大学里一直都是重应用实践,轻算法的学习方式。网站和应用程序在大学时期写了好几个,编程基础反而没有打牢,这让我到现在都很后悔。
总之我也是屡战屡败,屡败屡战吧。最后不记得一共面了多少家公司,只记得收获了两个offer。两家公司都在南京,一个是诚迈科技,一个是易杰科技。
这两家公司好像都是与华为有合作关系,承接华为的部分业务外包。我最后选择去了后者,因为给的工资高一些 ???? 。
在易杰工作的前半年里,我还是在公司本部上班。后来直接就被派到华为的现场去上班了,我也是切身感受到了华为的加班文化。
那个时候貌似还没发明996这个词,现在让我回想一下,好像平时就是996,遇到发版就是通宵,差不多就是这个节奏。
结果到了年底考核的时候,公司竟然还把我年终奖扣发了,理由是加班态度不积极。所以班我是一天没有少加,但是因为态度不够积极,就要扣我年终奖。
好吧,那时刚毕业的我确实也卷不过其他同事。一气之下,我就辞职回苏州了。
2013年3月,我回到苏州找工作。那时的我已经不是应届生了,有了一年多的工作经验(算上实习),相对来说找工作要容易一些。为了面试,我也是全城各地到处跑,经常公交车一坐就是一个多小时。
总共面了应该有半个月左右的时间,忘记收获几份offer了,最终我选择了蜗牛游戏的这份offer。现在回想起来,这可能是我人生最重要的选择之一。
蜗牛虽然算不上是什么大型的互联网公司,只能在苏州本地算是一家比较有名的游戏公司。但是,它给我提供了两份极其重要的条件:第一是稳定,我在蜗牛最后工作了近8年时间才离开。第二是轻松,相比于前一份工作的常态化996,我在蜗牛加班的日子少之又少。
这两份条件使我拥有了大量可支配的个人时间,下班回家之后做什么呢?我又做出了影响我人生的一个重要决定,写博客。
没有当初的那个决定,也就不会有今天的这篇文章,你们更不会认识我。很多时候,做决定是脑袋一热的事情,但是想想这博客一写就坚持了10年,当初的那个决定还是挺沉重的。
这10年间,我在CSDN上一共写了166篇原创文章,收获了1200多万的访问量,80000+的粉丝,24000+的点赞,17000+的评论,蝉联了2013、2014、2015年度的博客之星。
虽说现在我的影响力和阅读量都大不如前了,年龄也有些大了,但我依然还在坚持写着博客。只要我还在继续学习着。
可能确实是因为博客写的比较出众的原因吧,其实在刚开始写不久,就有出版社联系到了我,问我有没有意愿写书,这又是下一个影响我人生的重要决定。
我记得当时是有图灵和机械工业这两个出版社联系到了我,最后我选择了图灵。并没有什么特殊的理由,初出茅庐的我也没什么挑选的资本,纯粹是因为图灵联系我联系得比较早。
当时图灵的副总编辑陈冰老师跟我说,他构思了一个新的图书系列,叫《第一行代码》,想让我为这个系列写第一本书,也就是《第一行代码 Android》。
正如我刚才所说,我没有什么挑选的资本,基本上就是一路答应。我那时的想法很简单,写书既能赚稿费又能赚名气,名利双收,何乐而不为?但我确实没想到,《第一行代码》竟然能成为那么成功的一本书,包括陈冰老师也没有想到。
写书真的是很辛苦,异常辛苦。毕竟我也不是全职写书,只能利用业余时间去写,好在我的业余时间很充裕。
我的第一本书全靠着冲劲和毅力完成的,毕竟想想能出版一本我自己写的书,这就让我很有动力。
2014年,《第一行代码 Android 第1版》出版。刚出版时其实并没有引起多大的注意,毕竟每天都会有各种新书上市,《第一行代码》怎么可能获得特别的关注。
但口碑这种东西就像是滚雪球一样,看过的人觉得好就会推荐给下一个人。到2015年,《第一行代码》竟然成了爆款书籍,好评不断,到最后终印一共卖了81000本。
对于技术书籍来说,卖8万本是非常非常难的事情,图灵所有的原创书籍都没有达到过这个销量,《第一行代码》创造了记录。
但记录就是用来被打破的,打破这个记录的还是我自己。
由于《第一行代码》太过火爆,写第2版成了顺理成章的事情。
2016年,《第一行代码 Android 第2版》出版,首日的销量就超过了第1版首月的销量。
其实2016、2017年是国内移动互联网最鼎盛的时期,我的这本书也是出版在了最好的时机,所以才能格外得成功。最后《第一行代码 第2版》一共售出了16万本,达到了第1版的两倍,这个数字之前没有人敢去预测过。
2020年,《第一行代码 Android 第3版》出版。这个时候,国内的移动互联网已经在走下坡路了,所以书的销量也大不如前。截至目前,累积销售了6万本左右。
所以,《第一行代码 Android》3个版本总计一共售出了30万本。这个成绩,在国内的技术书籍里绝对是属于出类拔萃的了。
现在也有一些小伙伴时不时会问我,有没有第4版的计划。照目前国内的移动互联网环境,应该是没有第4版了。因为写一本书太过于辛苦,我也不想看到出版了一本书却没有读者的窘境。但是,谁又知道呢?我还在等着春暖花开的那天,别忘了,我的博客也还在坚持写下去呢。
再来说一说公众号吧。2016年,我决定将我的主写作平台从CSDN转移到微信公众号,也是追随了那个时期的一个主流趋势。
但那时的我并没有信心能将公众号做好,一是因为我没有过做公众号的经验,二是因为我没有足够多的内容,只靠我个人的一些原创文章是完全支撑不起这个公众号的。
于是,我在思考之下决定换种思路,将这个公众号打造成一个技术文章的共享平台,而不是我个人的一个原创平台。优质文章的作者们可以向我这里来投稿,将他们的文章推送给更多的读者朋友们。而广大的技术爱好者们,可以每天来我这里学习各种新知识,从而形成良性循环。
我用这种策略将这个公众号运营了6年,这6年时间里我保持了每个工作日都坚持发文,从不间断。目前一共推送了超过1600篇技术文章,其中有近100篇是我自己的原创文章。收获了超过10万名订阅读者,感谢有你们的关注,我才能继续坚持下去。
时间再跳到2018年,这一年蜗牛发生了巨大动荡,之前我提到的条件之一“稳定”,在这一年不复存在,裁员基本都是照着膝盖那里裁的。虽然最后我留了下来,但是这种不安的环境已经让我萌生了跑路的想法。
问题在于,跑哪里去?我在苏州已经待了太久,不想再去换一个别的城市,而苏州的互联网环境又真的很差,没有多少很好的公司。思来想去,我貌似只剩下了一个目标,微软。
但我有了解过,微软的面试是一定要考算法的,而且全都是现场写代码。前面说了我的算法功底又很差,我不会打这种没准备的仗,所以我准备花一年时间好好突击一下算法,准备充分了再去面试。
其实正常来讲,准备算法是不需要花这么久时间的,我有些同事可能原本功底比较好,只刷了几十道题就面试通过了。
但我一方面是觉得准备充分了把握更大一些,另一方面是因为我同时还在写着《第一行代码 第3版》,从时间上讲我没办法做到全身心投入到算法准备上面。
所以当时给自己定的计划就是刷一年的题,将自己的算法水平提升到一个中等偏上的水准再去面试。
结果计划赶不上变化,后面还没到一年的时间,我老婆怀孕了,我就想着那就推迟一段时间吧。再后来又赶上了疫情,又推迟了一段时间。
最后计划是用一年的时间准备算法,实际准备了两年。这两年里,我在leetcode上一共刷了600多道题,差不多每天一道吧。这样可以让自己长期保持在一个手热的状态,太久不刷的话可能就会忘干净了,就像我现在这样。
然而,即使我刷了这么多道题,面试过程依然坎坷。前前后后经历了7轮面试,我甚至连一道原题都没碰到,这运气也是没谁了。
好在最后磕磕绊绊还是进来了,目前入职微软刚好满两年时间,这两年里我基本没再碰过算法题,果然现在已经忘得差不多了 ???? 。
其实我是不太希望花了两年时间准备的算法知识,最后就只用来面了一场试。最近,我有想法将这些快忘干净的算法知识重新捡起来,并且恢复每天刷一题的节奏来让自己继续保持手热。甚至,我有想过将我掌握的这些算法知识整理成一本算法书籍,可能会对想要面试大厂的朋友们产生一定的帮助。当然,这一切都只是我的构想阶段,我不能做出任何承诺。
好了,前前后后10年时间,这就是我的10年Android之旅了。
但这是2022年的年终总结,我好像从头到尾没有提过今年的事情。
那就让我回忆一下吧。
写作和开源上,今年一共发布了11篇原创文章,开创了一个新的Kotlin Flow系列(已全部写完,完结篇明年1月份发布),发布了一个PermissionX版本。
工作上,为Edge完成了3个大功能模块的开发,开展了5次内部演讲,并且升了职。
社区上,参加了一次Google上海GDG演讲,收到了Google颁发的开发者专家证书,受Google邀请参加伦敦举办的Android开发者峰会(结果因为11月疫情还没放开,没去成 ????)。
生活上,今年在奈飞上刷了两部剧,读了9本书(小说),看了4部漫画(包括把欠了二十多年的灌篮高手漫画赶着看完了,为了防止电影版上映被剧透),通关了5款游戏(都是主机游戏,我不玩手游,手游好像也无法通关)。并且每天晚上我都会至少陪娃玩耍一小时,周末则基本上是全天陪玩,就这么每天看着她快乐成长感觉很幸福。
10年Android之旅就在一眨眼之间,Android开发还会有下一个10年吗?我希望有,我会继续走下去。
链接:
如果想要学习Kotlin和最新的Android知识,可以参考我的新书 《第一行代码 第3版》,点击此处查看详情。