锄禾日当午,汗滴禾下土。
从毕业到工作的几点感悟(Android开发):
- 多用三方类库:(成长经验:尽量不要自己手动实现网络上已经有的优秀开源类库的功能,例如:
- 网络请求:常见的有Google提供的Volley,或者三方的okHttp (Square的)等;
- 性能、内存优化:ListView乱序、图片复用,常见的ANR和OOM等;
- UI特效,应用框架:去https://github.com/Trinea/android-open-project吧,各种特效各种炫,从香港洗剪吹到街头杀马特,要啥有啥,友情提示:特效会严重影响用户体验,个人感觉是用决定用户对产品的印象的关键点,不要盲目的追求特效而影响整个APP的稳定性和实用性,例如:最美应用。这儿有我收刮来的资源:https://github.com/eterrao/Android-Classical-OpenSource.git
- 用户行为统计、Bug Report:可以集成第三方的SDK,常用的友盟;优点: 使用方便,统计的功能多;缺点:数据暴露,不一定准确;
- PUSH推送:就不吐槽了,从上次使用的JPush开始就已经对第三方的推送抱以一颗怀疑的心态去使用,毕竟安卓的碎片化也只能这样愿打愿挨了。
- 基础一定要牢固:
- 编程语言:常用的C(通用)、C++(通用)、Java(Android方向)、Python(可以学一学,搞个自动化还是挺方便的)、Ruby、PHP(Web)等;坑:C不好:JNI部分的时候坑爹;Java不好:怀疑自己的智商… (书籍推荐除了《Think in Java》还有一本感觉不错的:《Introdution to Java Programming》作者: Daniel Liang,复旦出国留学的,现好像在美国教书,直接看英文基本没问题,而且他提供的原书资源网站上的基础数据结构和算法那部分的动画浅显易懂,特别适合新手学习,)
- 数据结构与算法:虽然说这玩意儿可能工作中很少用上,可我觉得真的必须要好好学一学(虽然说了很久要好好学也没后文了),推荐的书籍: MarkAllenWeiss的《数据结构与算法分析》和《算法导论》(很厚很踏实的,然而我并没有看多少。。。),之后如果有时间可以刷题,什么leetcode,careercup等等,好处:找工作面试什么的有竞争力(如果你还在学校,那么就别说没时间,一切的没时间的理由,都是为自己的懒惰找的借口罢了!我承认我很懒)
- 设计模式:虽说常用的有二十三种,然而我还没掌握几个。。。代码量不够是硬伤啊!不会设计模式的话工作上很容易给自己挖坑往里跳的,而且存在一定的风险。设计模式的书籍就不推荐了,去豆瓣搜一搜,知乎问一问吧,还是要靠自己的感悟才行。推荐书籍:《Android 源码设计模式解析与实战》http://item.jd.com/11793928.html
- 其他:
- 在校时:本人仅仅是一个普通二本的非科班生(电子信息工程),在校时一直没有机会对程序猿有更多的了解,但我承认在本专业的课程上也没有很用心的学(整天想着经商创业有出息,然并卵),四六级都是刚过线,大四下才正式接触的编程(不要说以前学过什么C语言什么汇编),一切都是新的你会发现自己的负担其实挺重的,比如考研或者找工作;如果端正心态那么剩下的就是自己的付出了;而如果没有自信的话,那么每天的生活真的很煎熬(尤其我在之前的公司实习的那段时间),说这么多其实就是想告诉和我当时一样的新人们不要太在意自己的无知,因为无知我们才会成长。喜欢认识的一位大神说的话:不要害怕犯错误,大不了公司把你开了,下次工作的时候不犯不就得了。顺便说一句,别去培训班,如果真要去,那就对自己负责一些。
- 毕业后:离开了象牙塔你会发现除了工作,你还要生存下去,如果你也选择了北上广,那么恭喜你能够有勇气踏出这一步迎接崭(ku)新(bi)的生活,慢慢体会生下来活下去的意义。
- 工作:如果你也选择了程序猿的咖(jia)啡(ban)时光,那祝贺你成为我们改变世界的一份子;如果你不想做程序猿,一定要记得千万别当产品经理就好!!
- 情感:不予评论,注意做好措施就行;
- 别的想到再说吧...
- 计划:虽说计划赶不上变化,不过还是想对自己的职业生涯有个大概的目标为之奋斗
- 2016年(今年):我需要把我现在欠缺的知识点给完善,比如Java基础,还有很多点不熟,OOP的思维等;Android部分的数据库,安全问题,性能调优,View的自定义等等,都是所欠缺的;接着数据结构与算法,计划每周刷些题;设计模式方面要学会应用设计模式来解决实际问题;最终成为一名合格的Android开发者。
- 未来3~5年:高级码农,不再让自己的核心技术储备成为最大的瓶颈,多吸收精华。
- 5~10年:暂不确定是继续从事技术还是会往管理方向发展,但是创业的想法肯定是有的,看自己的造化吧。
附上Android学习路线大图: