在迷茫中入行
从离校算起,踏入社会都快五年了,在最初的浑浑噩噩中度过了半年,终于在2013年上半年,我开启了编程这条不归路,或许你不会相信,我刚入行的时候,九九乘法表都不会写,甚至一个处了多年的哥们都嘲笑我,一个连java都不会的人,居然跑去做Android,现在想起,内心还是一阵心酸,或许也是那句话,才让我更加坚定的走下去,跪着也要走完自己选择的路。
刚出来找工作的时候,那真的就是我的辛酸史,我是住在一个学校的宿舍,睁开眼,就是各种海投,能投的网站我都投了,包括一些地方的招聘网站或者生活类网站,只要有稍微合适点的就会去关注,当时也够惨的,真的如上面所说,九九乘法表都不会写,没有特长,那只能各种技术都去投,我记得当时投的是C、javaEE、HTML+CSS、C#,应该是这四种吧,具体已经记不清了,投完简历后就是无脑的打游戏,想通过这种方式迷幻自己、麻痹自己、逃避自己,到了很饿的时候就去吃个饭,然后继续打游戏,这段时间,我去过南京、张家港、昆山、江阴面试,除了游戏和投简历,一直在路上。。。
我的第一份工作挺另类的,当时是在江阴的一个小镇上,那边很难招到人,就算偶尔有去面试的,也很少有人愿意留在那里,当时招聘信息写的是要求有C语言基础,就抱着碰碰运气的心态去面试了,并没有抱有什么希望,让我吃惊的是,面试过程中,其实什么技术性的都没问,就是随便聊聊,当时给我的感觉就是,你技术怎样没关系,会点基础就行。当时还是没底啊,我真的基础都不会,更何况来了做Android,天哪!
第一个月里,其实就是一个边上班边自学状态,一个月考核,过了就录取,过不了就自己走人,本着一定要留下来的心态,那段时间早上起来就看书看视频,太多看不懂,自信心备受打击,那个时候甚至连构造函数都不懂,更不知道干嘛的,看到有个同事写这个传context,我的类里面,除了activity外,其它的类都会写一个构造函数传context,不管用不用到。那时候住着200一个月的房子,除了电灯,别的什么用电的都没有提供,就在这样的环境下度过了第一个月,最后在这家公司留下来了。
说实话,在那个时候,我对编程真的没什么兴趣,被录取了后,我又开始无脑的打游戏,下班就开始玩游戏,当时工资低的可怜,仅仅够自己生活费的,公司也想给我省一笔开支,就建议我和一个同事合租稍微大一点的房子,我们就换成了400一间的,那时候已经非常满足了,觉得这个已经挺好了。那时候我们都还没毕业,还要回学校忙着毕业设计和答辩,很多时候,那房间就是住一个人。
和我住在一个房间的那个同事,他一直都是很认真的学习和工作,进步很快,晚上的时候,经常看他学习,看着mars和sundy的视频,近朱者赤,慢慢的我也会学着一点,时间不长,他就跳槽走了,听说他拿了3500一个月,当时好羡慕啊,经常在幻想,我什么时候可以拿这么多工资,^_^,他走了后,我并没有把更多时间放在学习上,反而用更多时间打游戏了,一直到那年的十一月份,身边发生一个悲剧,一件事改变了我的一生,那一次好像看透了很多,当时就想着给自己两条路,要么好好学编程,要么好好准备去考研,一天的犹豫后,我选择了前者。
无脑学习期
从那以后,我真的脱胎换骨了,每天都是打鸡血一样的去工作,下班后,匆匆吃完晚饭就去看书、看视频、写代码,一直到自己很累了就睡觉,第二天睁开眼就继续看书、看视频、写代码,好多次头不舒服,晚上八九点就睡了,早上两三点醒了看书,知道自己的水平,我把更多的时间放在了java基础,完整地看了三遍,很用心的去学着,在每天睡眠六小时左右的情况下,我坚持了接近一年,一个脱胎换骨的一年。
很快就到了春节,节前我打了辞职,一番颠沛流离后,我去了南京,在一家外包公司入职,不得不承认,工作不久的人来说,在外包公司真的很锻炼人,那时候对便Java基础有了一定的了解,对网络编程了解不多,买了一本《深入理解Android网络编程》,这应该是我毕业后,完整看完的第一本专业书,在公司工作一段时间后便开始无脑加班,经常一天工作十四到十六小时,下班后在宿舍还要继续搞起,当时没钱租房子,借宿在同学那边,都是程序员,加班都很频繁,也不觉得什么,都习以为常了,但有一点比较恶心,他睡了我还在敲代码,他醒了,我已经到公司敲代码了,公司的行为令人发指,无脑压榨劳动力,就这样环境下一直坚持到了2014年十月份,当时决定去上海寻找发展。
稳步成长期
从我无脑学习到后来来了上海的一年时间里,从工资角度来说,这可能是我工作以来最大的骄傲,我工资翻了接近十倍,这期间,我从一个对编程反感到爱上编程了,从什么都不懂转变成能写点东西的程序员了,到上海后,我遇到了一位贵人,我上家公司的领导,我是一个很容易迷失方向的人,每次当我迷失自己的时候,我总会找他谈话,他也把我当自家小弟,经常和我分享一些他的经历来开导我,平时也会推荐我应该朝哪方向发展,在那家公司时间不长,我便开始接触一些框架上的东西,一点点接触架构,在那个时候,我对泛型还是很模糊,更不懂什么叫做面向接口、面向泛型,这些也都是一点点在那个时候建立起来的,在团队意识方面,那时候公司招人,领导会安排我去第一轮面试,面试中遇到形形色色的人,确实有技术性很强的,我就会对领导推荐,他聊了后觉得不合适,给我灌输团队意识,我们是一个团队,即使那个人技术再好,融入不了我们团队也不行,那时候我才意识到,我是有组织的人,^_^。
在上家公司工作的两年多,搭建过三个框架,在工作中一点点完善和改进,让我在这方面有了一定的经验,给我以后的跳槽增加了好多信心。
总结与推荐
之前一篇勿忘初心,继续coding中已经对三年以内的朋友做了一些推荐,这次再做一下补充,如果此刻你已经学完设计模式了,学完《effective Java》了,不妨看一些更深层的书,比如《深入理解java虚拟机》、《Android设计与实现》、《Java并发编程实战》、《Android软件安全与逆向分析》、《Android系统源代码情景分析》等,可以更系统的了解java和Android,对于没学完设计模式和《effective Java》的朋友,个人还是很推荐继续学完,这些书会让人更加聪明的写代码,不再那么无脑的只为实现功能而开发,对于工作三年以上的开发者来说,这种无脑开发是没任何意义。
现在kotlin被Google纳入正室,已经峰王封后,但短期内想取代java,还真没那么简单,再说了,编程重要的是思想,我在去年就学习过kotlin,如果真的转了,相信大家可以在很短时间内就可以转变。
有时候心累,这些都是难免的,我和身边的同事,都经常遇到,当你心累的时候,如果觉得在这家公司还有留下去的比较,那就不如出去透透气,或者来个说走就走的旅游,放松一下自己,或者做一些自己喜欢做的事,我现在给自己减压,更多时候就是通过旅游和打游戏,工作不是太忙,就出去旅游了,工作上任务太多,只能去打打游戏调节下自己了,有时候也会用另一种奇葩方式,给自己做一顿美食,O(∩_∩)O哈哈~,结束后就回到自己的岗位上继续工作。
最后还有一点想说的,有时候想通过一门语言的深入来更好地提高自己,其实很有时候并没有任何卵用,更多时候,我们还需要更多的接触其它语言来提高自己,因为编程思想才是最值钱的,在Android开发过程中,能接触到的编程思想毕竟有限,何尝不去了解下其它技术,百利而无一害,何乐而不为?
微信扫我,^_^