一个Android开发者开博一周年的成长日记——送给不知如何下手的【初级开发者】和【在校生】

  今天一看日历,哟,2.12号,这不是我第一份工作入职的时间吗?不知不觉竟然已经工作了一年了,那根据“主席”的话说,应该算是中级开发者水平了!在这工作的一年里,我有过迷茫,有过动摇,但更多,则是坚持和努力,无论如何,我终于算是摸到了开发者的这一条道路的大门,剩下的就是更加坚定的走下去。平常和大家分享的都是技术文章,今天趁着公司没活,给还没找到入手点的初级开发者和在校生写点东西,算是一点经验之谈,给你们一点前进的方向。

    其实我接触Android开发应该是很早的时候了,2012年就因为“齐鲁软件大赛”而结识了大三的几个学长学姐,他们在暑假准备比赛,我和另外一个哥们,也是我后来非常好的朋友海涛,作为大一新生,没资格参加,只能作为外援打打下手。那个时候对Java认识很浅,还不知道什么叫类,什么叫封装,什么叫面向对象,只是单纯的靠着上学期学的一点VB基础,硬生生的啃Java教程。12年的时候,视频教程很少,Mars算是那段时间学习Android的同学的一个指明灯,因为他录制了一套Android的入门视频,我就下载下来每天学习每天练习。结果,到了比赛中期,我和另外那个哥们竟然成了主力,那几个学长成了打酱油的!暑假结束,软件还差一点完成,我和哥们因为其他事情没能继续开发下去,由于失去了中流砥柱,这个项目最终也没能完成。

    进入大二之后,开始了专业课的预备课学习,我突然发现我不能适应专业课的学习。我的专业是信息工程,主要学习信号处理、信号分析、音视频处理,理论性的东西太多,而我只对编程这种实践要求比较高的科目感兴趣,而且确实比别人学得快,所以在期末考试的时候,理所当然的各科亮红灯,大一还拿到二等奖学金的我,在大二这一年挂科多次,重修多次,也因此在大二下学期完了半年,整天DNF,浑浑噩噩,没有目标。但是编程相关的课程,比如C、C++、数据结构都没有问题,考前翻一下书就能考得不错,这也算是一种天赋吧。

    一眨眼,就到了大三,大学生活已经过了一半,我专业课不行,考研自然无望,是一个彻头彻尾的大学渣。不光学习不好,人还长得搓,还没女朋友,哈哈,彻底的一个loser。开学之后,可能是因为在编程开发方面比较出色,实验室的王老师突然叫我和海涛去了实验室,想带着我们做项目,我又没什么事,自然答应了。后来开始做的时候,才发现没人带,王老师是做硬件的,对软件一知半解,无法指导,我和海涛便只好从头学起。一开始我的方向是.net,是为了做一个网站,于是我就学C#和.net,但是学了两个月,项目突然终止,我的.net之路便从此终止了,不过后来帮学校教务处做了一个PC端的壁纸更换助手,还挣了几百块钱。后来有了一个新的项目,要做一个Android客户端。客户端必然有服务器呀,因为我之前学过一点.net,于是我开始写后台,用的基于soap协议的web services,因为这时候已经大三了,所以有同学参加“齐鲁软件大赛”,客户端的开发便交给了另外一个小组。但是做着做着,发现客户端的开发跟不上节奏了,我只好又转去做Android做客户端,这也算是我正式开始接触Android开发,时间是2013.10.25号,因为从这一天开始,我便从.net彻底转向了Android开发方向。

    因为之前没有Java基础,所以我只能加班加点的学习Java基础。因为从实验室到后山的距离很远,为了节省时间,也为了防止懒惰不去实验室,我买了一个折叠床,从此住在了实验室,这一住,就是小半年,上课的这个概念,也是从这个时候开始消失的。。。不过幸好Java和C#太相似了,我没花费太多时间,就算是入了门,不过,java的稍微高级点的知识,比如线程、io操作、文件操作、异常处理等等,都还很模糊。但是Android开发环境经过一年的孕育,开始变得更加成熟,各种培训机构如雨后春笋,特别是传智播客给出的Android开发教程非常详细,我也算是跟着一步一步走下来的。虽然说是看视频自己学习,没有花钱去培训来的更快,但是我一直以为,编程这个工作,是有门槛的,一般人能做这个工作,但是除非有一分爱好和追求在里面,否则是做不好的。视频教程看起来是很枯燥的,原本2个月的视频量,为了加快速度,我加速2倍去看,从早上七点半起床,一直到晚上1点,每天坐在空无一人的实验室,学习这些东西,我乐在其中,自然不觉得辛苦。很快,我开始觉得我的能力在慢慢的提高,15天之后,我就开始接手之前的Android项目,担任小组长,带着他们做这个项目。但是,工作毕竟不是一个人的事,后来由于客户需求修改和其他的一些原因,项目最终没能上线,又流产了。

    由于在实验室一直自学,没去上课,期末的时候,自然又是红灯闪闪啊,被取消考试资格无数,只能参加重修。很快,大三上学期结束了,实验室的工作也算是告一段落,但是我在这个阶段,达到了一个瓶颈,这算是很多初学者会遇到的问题,就是自己一个人看视频学习,会在三个月之后,遇到瓶颈,不知道做什么,觉得无东西可学了。为此,我想到了一个办法,那就是出去实习。

    寒假还没结束,正月初八我便从家里赶到了青岛,由于学校还没开门,只好和一个哥们在城阳租房住,然后开始投简历。运气还不错,投了之后,第二天就有面试通知,毕竟是实习,对开发经验要求不是很苛刻。第一家面试的公司是“越野一族”的青岛分部,我去的时候还下着雪,因为去得比较早,所以在楼下等了两个小时,才上去面试。但是第一次面试毕竟经验不足,面试官是做IOS的,没问太多技术问题,最后就问我多长时间能看懂现在的代码,加入开发,我那时候比较嫩啊,我说我之前没参加过比较大的项目,所以不知道多长时间。这个回答自然而然被刷下去了,虽然回答的很实在,但是不够霸气啊!如果要我现在去回答这个问题,我就说:一个星期足够!其实那个时候我的水平,还真不一定能看懂,但是一点信心都没有怎么能行!所以,如果你以后参加面试遇到这样的问题,一定要自信!我就行,怎么啦!不行辞退我,我换别家!

    后来就到了第二家,也是我第一次入职的公司,我在第一家公司呆了五个月,7.15号离职。在这家公司,我认识了我第一个师傅,梁哥,也知道了开发框架的概念,用了afinal,用了svn,知道了什么是接口,还开发了一个又没上线的项目"商展云",无论如何,我在这里成长了很多,最起码完成了一个菜鸟到初级开发者的成长。从入职之后一星期,公司就给我一个单独的项目开始做,这对于没有商业项目的我来说,是一个很大的挑战。但是从原型图设计,再到代码编写,我都在努力的去学习,毕竟我已经比还在混沌状态的其他人好了很多。在这中间,还发生了一件事情。因为我从下学期开学就没去上过课,所以闹得整个学院的老师都知道我了,一个不去上课的学渣!最后张淑军老师给我下了最后通牒,不去上课就不用考试啦!哈哈,我还为了这个事上火了一个星期,整天咳嗽,肺火太大!最后我没办法,张淑军老师的课我必须去,然后和公司协调,上午去上课,下午加班到八点,周六多上半天,把工时凑齐就可以,我也感谢公司能这么支持我,同时,为我写接口的杨哥,也跟着我每天加班,一直到商展云项目上线,所以我觉得我很幸运,遇到了很好的人!就这样,上午上课,下午上班,周六上班,一直到了期末,考试自然还是有红灯,但是张淑军老师的图像处理,我实验90,理论考试88,基于openCV的课程设计98,也算是给关心我的张淑军老师一个交代:我并不是学渣,只不过这不是我想要的方向。张老师还给我发了一个研究生的课题,想让我研究下,但是我内心明白,做研究不是我的方向,所以只能放弃。

    由于公司网站架构调整,做php的杨哥无事可做,很快就辞职去了其他公司。在2014.7.14号晚上,杨哥找我吃饭,说现在的公司缺少Android开发工程师,想让我过去,因为自从上个项目结束之后,我一直处于空闲状态,感受不到成长,另外作为一个大四的实习生,杨哥也给出了毕业正式工作的待遇,所以就答应了。很快,第二天辞职,第三天就到了现在的公司。

    从第一天入职,到现在已经又半年过去了,想想过去,短短一年里,原来我做了这么多的事情,从小白,到菜鸟,再到初级开发者,现在我才感受到,知道的东西越多,才明白自己不知道的东西越多,所以如果你感受到瓶颈,而公司不能给你解决的话,你就要自己想办法!现在公司挖来了一个做Android的大牛,我跟着又学到了很多,不断努力,才能不断成长。

    前几天看到空间里面,一个创业的哥们已经买车了,我很羡慕呀,我们都在二十三四的年纪,我们都很年轻,我们都渴望成功,我们都在不断努力。年轻的时候如果不有点理想,并且为之努力,那这日子过得也太没意思了,你说是不是?但是,我们还应该沉下心,静下气,别人的成功是付出了努力,我们先努力着,说不定成功什么时候就降临了,你说呢?

 

      ——谨以此文 献给和我一样还在努力的年轻人们

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。