阅读 17774

Google I/O 2018 之后,Android 工程师将何去何从?

本处文章遵循创作公用原则,署名保持一致,不得商用。署名的意思就是你转载得注明出处和本人名讳。保持一致的意思就是:转载时别自作聪明/自以为高明地改动本文的任何一个部分,包括标题!包括标题!包括标题!

公司一直有 Android 工程师免费参加 Google I/O 的福利,前两年缺了一点点运气,今年有幸搭上这班车,近距离感受现场的氛围,不得不说, Google 是全世界最伟大的公司,没有之一。但这并不重要,重要的作为 Android 工程师,未来的路该怎么走,这里说的 Android 工程师,不仅包括刚出校园的新人,也包括在社会上打拼多年的老司机。

Android 工程师真的烂大街了么?

Google I/O 的 Session ,有相当一部分是围绕 Android 展开的, 移动互联网是互联网的里程碑,而手机是 Google 数百种设备中最重要的, Google 一直以来都在优化 Android 的用户体验。虽然移动开发这两年已经接近饱和,但只要仔细观察就不难发现,是初级工程师的门槛在变高,而各个大厂的高级/专家级工程师/架构师缺口仍然很大。

Android 技术每年在变化,不知道学哪些技术?

这个问题每个人的答案都不一样,我在这里从另外一个角度来说。

首先问你们一个问题,为什么想做 Android 移动开发?

  • 因为 Android 简单好学吗?不, Android 并不简单也不好学。
  • 因为 Android 开发轻松吗?不, Android 开发直接面对的是用户,细节的体验要求更高。
  • 因为 Android 开发(互联网行业)薪水高?不见得吧,各行各业都有做得好的,即便是在互联网行业,移动开发的待遇未必在工程师中出于领先状态。

这个问题我也一直在思考,回想自己是怎么走上 Android 这条路的,和今天在现场看 Google I/O 的感受是一样的,一个词: cool 。

Google 通过技术改变世界,改善人们的生活,给人类更大的可能性,作为大生态中的一份子,贡献出自己的一份力量,以后老了才不会后悔。

好,我们先不谈梦想,做技术是因为它好玩有趣,所写即所得,而移动开发最接近终端用户,你的一两行代码,说不定就在什么时候,引起用户的尖叫:“ OMG! Amazing! so cool~ ”

说到这里,结论就很明显了,我们要学习的技术,是能够带给用户愉悦体验的,是能够符合 Google 的愿景 make good things 的,是让用户更加 wellbeing 的。

也就是说,让 App 的体验更好,更流畅、更稳定、功能更强大,所有能达到这些目的的技术,都要学,学了不是为了不被淘汰,而是为这个世界多贡献一份力。尽管生活中会遇到各种各样负能量的琐事,但工作是为了创造价值,不开心的烦恼少去想才不枉人间走一遭。

哪些技术必学,哪些技术选学,哪些技术推荐学?

先说必学

  • Java 基础知识
  • Android 基础知识(这个不掌握就不要谈其他东西了)
  • 网络基础知识(不联网的 app ,除了单机游戏外估计找不到什么好应用了)
  • 图片基础知识(图片加载库得熟悉吧)
  • 媒体播放基础知识(如 exoplayer )
  • Firebase ( I/O 持续优化的东西,不学说不过去了,况且还有 FCM )
  • Kotlin (大势所趋,没什么好说的,不学肯定后悔)
  • Support 包(搞向下兼容必须用到的东西)
  • 构建系统(包括 gradle maven proguard 等等)
  • 测试框架(包括今天 Google 推的 mockito )
  • ReactiveX (重点是流的概念,而不是异步)
  • Json 序列化和反序列化
  • 组件化
  • Material Design
  • 相机基础知识
  • 二维码基础知识
  • 定位基础知识
  • 自动化脚本(如 python )
  • 数据库基础知识
  • 加解密基础知识

再说选学,选学的意思是用到了就学,没用到不学也没关系

  • 热补丁技术
  • React Native
  • 插件化
  • NDK 开发
  • 直播技术
  • 媒体播放高级知识(编解码相关)
  • VR 技术
  • Flutter 框架(目前主要做 UI 的)
  • Android 架构框架
  • Android Things

最后说推荐学的

  • AR 技术(作为技术我一直认为这块是移动产品的蓝海,谁发现了场景的新大陆,谁就拿下了 onepiece )
  • AI 技术( TensorFlow )
  • 指纹技术

不要为了学而学,多想想用在什么场景

任何技术不用在实际的业务场景中,就没有价值,和学生时代被老师要求背书一样。

作为移动开发工程师,多想想如何才能让用户更加愉悦,那就少不了自己要多用,所以 Google 可以招到这么多优秀的工程师加入,这些工程师每天每天(刻意重复)都不断地使用自己的产品,时间久了就会有终端用户的代入感,才能设身处地为用户考虑。如果你都不把自己当成是产品的目标用户,可能一个起码的自测都会忽视掉。

很庆幸能够加入一家像 Google 一样每个员工都把产品用心打磨,不断使用不断练习的公司,这样终有一天一个能被称为愿景的东西才有可能实现吧。

评论

查看更多 >