引言:离职一段时间了,本来早就想写一篇博客来记录这两年的一些工作总结或者心得吧,但是迫于一些压力和个人兴趣所向又面试了几家Android开发公司,诸多因素导致,今天决定好好反省一下,总结一下过往的工作经历吧。 2014年2月19号坐上了西安到深圳的火车,带着迷茫,期望和重重的行李箱踏上了人生的旅途。 到了深圳还是凌晨5点左右,迷迷糊糊等到老哥来接我到他给我安排的住处。一切很顺利,一切很陌生。我住进了一个3室两厅的套房中的一个单人小间中,房东是我哥认识了几年的朋友,所以之后的合租的生活,和他们相处的很愉快,他们很照顾我,做饭也经常要我一起去吃,对于本身内向的我感觉很温暖,很舒服。 很快进入找工作的状态了,之前在西安大三期间参加过6个月左右的Java培训,主要是学Java Web开发的,不过学的一般吧,感觉只是对Java有了一些基础的认识,项目经验也有,但是独立开发的能力还是很差,虽然感觉自己知道很多,但是很久没能进入公司实际参加项目开发,导致自己对一些Java常用的技术还是懵懵懂懂的,一度自卑,一度怀疑自己是不是真的很垃圾。不管了,我投简历,背一些面试题,参加人才市场,陆陆续续参加一些面试后结果都不了了之。不过还是很幸运,来了深圳一个半月了,终于进入了我最近离职的这家公司,正式开始我的职业生涯,满怀期待,斗志昂扬。 这家公司是做手机方案的,但是一开始我是不太懂什么是ROM,什么是MTK,什么是客制化,什么是系统二次开发。只知道是和时下刚刚崛起的Android开发相关,我很感兴趣,而且也很想了解关于Android的一切。 刚到的两个星期没改过什么bug,只是在不断的自己学习和了解Android系统代码,熟悉开发环境,查看别人的svn修改记录。终于接到具体的工作任务了,是删除设置里的一个功能,即屏蔽那个功能的布局代码及相关的功能引用。用Eclipse打开Settings,查看着茫茫多的代码,一筹莫展,慢慢的通过查找相关字段,终于找到了这个功能的蛛丝马迹,注释代码,编译Settings,push到手机中然后进入到设置中,终于O了,那个要删除的功能没有显示了。 刚开始就是替换一些UI图片,修改一些字段显示,虽然看起来的简单,但是麻烦的是查找代码,准确定位要修改的位置,对于菜鸟的我,着实废了一番功夫。不过慢慢的我修改这些需求的速度越来越快,慢慢的使我更加熟悉Android工程代码结构,更加熟悉了UI界面的修改。 但是我还是很清楚我的java基础还是有点弱的,什么线程,同步异步玩的也不是很溜,归根结底除了自己研究的少,还有就是我的工作压根接触不到这些东西。系统代码框架,各种功能模块的设计,什么回调,多线程代码都已经被未名的大牛写好了,我们能动手脚的也就是那些出现BUG的地方,然后那些出现BUG的地方可能是大牛不小心打了个盹儿才弄出来了吧,但是我们还得废老劲了去定位问题点,然后再想办法处理,处理了多了总感觉这种方式是低效率的。 或许真的是UI交互改的多了,但是再Java代码构造上总感觉不敢大刀阔斧的修改(可能因为很多原理或者设计模式还不是那么熟悉把,囧)。 有一天突然叫我出项目(就是修改完一些简单的客户需求后,然后编译整个项目生成系统所使用的软件包),说是项目组缺人,缺一个会改又会编软件的人。起初我没多想,领导说什么就是什么,开始加入项目组,帮助出软件,但是时间久了,整天就是改一个类似的客户需求,然后编译软件,电脑直接除了编软件几乎不能做任何事(难的开发任务或者bug修改都交给了比我来的早的老员工),有事闲的发慌。编软件说起来很简单,但是确也是件麻烦事,它除了要尽快修改完客户需求,还要保证需求修改的没问题,而验证方法就是编一版软件才能知道修改的结果,这个结果的好坏取决于你的细心程度,和别人的细心程度。因为有的同事在修改别的问题后上传修改的内容时会附带一些错误的语法,或者少上传资源什么的,引起我整编报错,而我呢,除了尽快叫他修改完后我又得重编或者续编,这个都是很耗时的,累觉不爱。 出项目唯一给我带来的好处,可能是定位错误及处理错误的方法,还有细心,细心,再细心。因为这个编译项目软件的周期动辄一小时往上,然后再找对应项目的手机下载验证,都是需要时间,加班都浪费在等待电脑编译上。 所以说出项目软件,特别是紧急的项目软件,必须要时刻把控系统代码的正确性,及时编译,即时验证,尽早的把问题暴露出来或者避免掉,前提是保证自己修改的无误情况下,不能自己给自己埋坑不是? 工作久了,就会自然而然注重效率、产出比等问题。这些说多了都是眼泪啊。 项目出多了实在倦了吧,申请换会去做开发了,实际没什么变化,因为我在出项目的同时,偶尔也会去修改一些较难的BUG或者需求,毕竟我也能改。但是不用再一天编3,4版软件了,不用把时间浪费在加班上了,我可以合理安排自己的改bug的进度,不用加班,不用担心被人埋坑,不用担心重编、重编。 最后还是总结下吧,看系统代码或许能学到很多东西,但是在没有一定java基础的情况下,还是先研究一些简单的应用代码逻辑吧。源码只是参考,但是如果你去修改它或者优化它的时候其实作为菜鸟能做的甚少。作为菜鸟的我,还是自觉循序渐进吧。 天下无不散之筵席,那里很简单,很快乐,但是却不是现在我要的。