安卓开发浅谈——写在2016年底

为何要写这篇文章?

写这篇文章,主要的目的是总结和展望。现在我只能算入门水平,不过只要我坚持下去,总有一天能够窥见一些门道。我希望记录自己的成长历程,日后再看,能够有一些感悟。因此,这篇文章写给未来的我。

2016.12.27

我从上Web课程开始自学安卓,到2016年1月11日找到第一份实习,算起来将近1年开发经验了。
这一年下来,确实学习了不少东西。现在的我,能够使用大部分第三方库,对安卓SDK有一定了解,知道如何追踪和解决bug,知道MVP架构和一些简单的设计模式。
当然,这篇文章不是谈论我会什么,而是要探讨安卓开发到底有哪些重要的东西,以及如何进阶。

Java

Java是安卓采用的语言。我个人觉得安卓对Java的要求并不是很高,Android Studio的各种自动完成和提示也很好用。当然,对Java的基础语法还是必须要掌握的,Core Java这本书就可以选择性地看一看基础的内容,我觉得写的很不错。

轮子

在码农界,一直有这么一个争论:到底要不要自己造轮子?
在我看来,不造轮子,但得知道轮子的原理。假如没有现成的,自己要能够造出来。或者能拿别人的轮子来修改。
所谓轮子就是现成的库或者别的工具。一般而言拿过来就用,很方便省事。但是假如到此为止,不去读源码搞清楚实现原理,等到自己有需求又没有现成的东西,就无计可施了。
一般自己从无到有造一个库比较困难,而对他人的库进行修改以满足自己的需求相对而言更为可行。第三方库的学习和分析是一个费时费力的过程,但回报也同样丰厚。
而自己做库是一个非常耗时耗力的事情,再牛逼的人也不可能说所有轮子都自己造。
所以,结论就是不强求自己做库,但是在能使用第三方库的基础上,要有修改第三方库满足自己需求的能力。

源码

在读第三方库的过程中,当然会遇见很多问题。一个非常明显的问题就是缺乏对安卓源码的了解。说到安卓的源码,又是一个坑。因为安卓的源码可不小,有各种类和函数,更别说更加底层的东西和安卓的快速发展变化。总而言之这个东西很重要,但要学会取舍,不可能眉毛胡子一把抓,而是要重点学习那些常用的东西。

经验

安卓开发的经验是一个很玄的概念,可能有些人3年经验就和一些人的5年经验差不多水平,因此用经验判断水平是不太可取的。
话虽如此,要是说1年经验能强过5年经验,这个概率还真的蛮小的。找工作的过程中我发现大部分安卓全职工作都要求至少3年经验,这明显是一个分水岭。
为什么我选择安卓开发呢?因为看到自己的app会有一种成就感,尤其当这个app被用户认可的时候。当然要是有人指责这个app,不免有点跳脚。app就像自己的作品一样。
回到经验这个话题,年份是一个因数,而干了什么又是另外一个因素了。大学4年自己自学安卓,毕业了就可以声称有4年经验吗?工作和自己自学完全是两码事情。
总的来说,是要积累经验,但同时也不能不学习,重复干一些工作来堆年份。现在技术发展日新月异,如果没有不断学习的能力,二十年经验也白搭。

技术与进阶

假设有了可观的经验,保证不会在简历就被刷下去的时候,就可以来看看那些待遇优越的安卓岗位都要些什么东西,可以向这些方向努力,虽然说到时候肯定会变,但总有不变的东西。
算法和系统设计,这两个是进大公司必须的东西,和安卓开发说实话关系不算很大,算是额外要求。
登上玻璃门,看看三番的一些高级安卓工程师岗位的要求和报酬:

Imgur - Rating 4.7 - Senior Android Engineer $130k-160k

What You Bring To The Table:

  • B.S. or higher in Computer Science, or equivalent in work experience
  • Minimum of 3+ years Android development experience
  • 5+ years of general software development
  • Enthusiasm for Android development
  • A passion for beautiful, pragmatic code paired with a strong sense of product design
  • Love for the Imgur product

这个公司的要求属于比较宽松的那种,其实就一个工作年限。5年的general SDE是什么鬼,真的有人转行安卓吗?
当然,符合要求不代表就能进去,人多位置少,bar自然就高了,但是至少有过机会。

RideCell LLC - Rating 4.4 - Senior Android Engineer $140k-160k

About You:

  • B.S. or M.S. Computer Science or related experience
  • 3+ years of object-oriented software development experience
  • 2+ years mobile application development at the user interface and system levels
  • Proficient knowledge of the android SDK
  • Gradle build system expert & ability to maintain multi flavor project
  • Java OOP expert
  • Proficiency with Google API's (maps, places, gcm most important)
  • knowledge of RESTful implementation in android and communicating with backend API's
  • Proficiency with android lifecycle events in activities and fragments
  • At least 1 application deployed in the play store
  • Must be willing to work on-site in our San Francisco office

Great to Have:

  • Knowledge with 3rd party injection libs (android annotations, butterknife, dagger etc...)
  • Knowledge of android development patterns, preferebly MVP or MVVP
  • Knowledge of websockets
  • Other languages to know (python, js, cocoa, swift, c++)

这个工作总算提出一点实质性的要求了。经验相对而言宽松一些,2-3年的完全够了。要求会谷歌的一些API,这些说实话不是很难,都是拿来就用的东西;然后加分项有依赖注入库,MVP,websocket,还有一些其他语言。这些东西倒是值得注意。
更多的也不再贴上来了。当然,要明白这里的要求很可能不是完全准确的要求,因为有些公司可能要求喜欢写的宽松一些,但是实际上Bar很高;或者有的公司要求写一堆,但很多都是可有可无的。
很多知识,假如没有遇到过,说实话并不好去学习,因为太宽泛了。比较靠谱的就是安卓相关的一些东西,然后扩展一些就是ios开发可以了解一下。至于个别公司的一些特殊要求,没有必要特意去追求,因为适应面太窄。

总结与展望

CS的领域如此广阔,现在大热的一个是Machine learning,还有Big data,安卓和ios开发也还可以。对于初出茅庐的我来说,太多选择却相当于没有选择,先在一个领域里面积累足够的经验,做到站稳脚跟,生存下来,才能再谈其他。因此未来几年之内,我会选择继续干安卓开发。好在我个人而言还算喜欢这个工作。至于以后的事情,现在说很多也没有用,只能说多多努力吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,062评论 25 707
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,428评论 2 45
  • 文/孤鸟差鱼 风中的炸弹 没有定时 你别担心 我只是为了吓唬 不知足的鬼 吃着碗里 看着锅里的癖好 得改掉
    孤鸟差鱼阅读 199评论 0 2
  • 大学校园的某个午后,小池在球场上踢球,一脚不慎将球踢中了路过某班班花小芬的脑袋,小池赶忙上去准备道歉,却不料小芬二...
    平底锅先生阅读 329评论 0 0
  • 最近俩宝在家带着到公司开早会有点难度,今天出门发现还有十五分钟九点,到公司也是不能打卡,索性没有上班,去幼儿园...
    俩宝的妈咪阅读 169评论 2 2