随着“5G”(第五代移动通信技术)商用进程越来越快,各个芯片和终端厂商们都已经开始布局准备,想必智能手机会是消费者最先能够接触到5G的重要终端,而和其相辅相生的移动互联网也势必会有新的发展。

但是和行业本身的发展不相称的是, Android 开发者的市场需求仿佛处于寒冬。最直观的现象就是,工作没有那么好找了。

2018年底开始,不管从是官方的公告或是同事午餐间隙的聊天里,都透露着一个信息:资本寒冬到来了。虽然近段时间有一些股市和币市的好消息,但是各家公司大面积裁员的趋势仍然存在。互联网整体市场环境不乐观,自然也会影响到 Android 开发者。

单就移动互联网市场来讲,前几年移动互联网创业的风口, 如今渐渐消失,移动互联网被巨头公司瓜分,一些创业公司倒闭了,Android 开发需求慢慢趋近于饱和。而当初移动互联网处于风口浪尖时,自学、转行以及培训机构出来了大量 Android 开发工程师,导致目前市场供大于求,工作自然是不好找了。

而 ReactNative、微信小程序、flutter 等新技术的出现,虽然难以动摇原生系统软件的地位,确实也不免会影响到企业技术方案的决策。而 Android 开发者面对技术迭代,心里或许也会产生新的纠结。

那么 Android 开发工程师们可以如何面对当下的局面呢?

其实当下的供需关系不平衡不代表没有需求,市场上过多的是初级 Android 程序员,是只会写 xml 和 Activity、只会用代码堆需求的程序员,而高级 Android 开发工程师仍然紧缺。

那么接下来,问题就变成了“如何提升自己在 Android 市场上的竞争力”。

1. 提升通用技术能力

The more things change, the more important it is to know the underlying principles.

半衰期长的技术要打好基础,也就是更加通用的技术。

一来通用技术如数据结构和算法、计算机网络、操作系统、计算机系统结构等,对技术的深层理解有很大的帮助,二来这类技术在不同的语言和技术方向上切换时是共通的。

2. 提升软实力

软实力实际上也是一项通用的技能,甚至比第一条更加通用。

良好的沟通可以缩短开会的时长、节省相互之间的沟通成本,也使得团队合作更加愉快。不错的文档表达能力可以省去不少的重复沟通。

懂得规划自己的时间,上班时能更有条不紊地完成任务,下班也能高效地规划业余时间的学习。

懂得反思:为什么这个任务预计五小时能完成,却变成了三天;为什么这个需求要这样做,这么做是最合理的吗,还有更好的方式吗?

对问题、业务和自身的更多思考有助于更好地发挥和展现你的技术实力。

3. 选择一个细分领域不断深入

个人认为一个较好的学习方式是先优先广度遍历,即粗略了解自己领域的各方面知识,然后优先深度遍历,即选择一个自己感兴趣或者觉得值得深入的方向深挖下去,等到这个方向学习研究得差不多了,再去深入下一个方向的技术知识。例如:

  • 插件化技术、响应式编程、组件化框架、系统架构等进阶技术,承托着业务之下的基础框架,能够使得开发者在面对需求和功能变化的时候有更快的反应和更优雅的行动。
  • 业务逻辑日渐成熟的形势下,用户体验越来越重要,突然的软件崩溃或是加载图标持续5秒,对于高质量应用都是阻碍。渲染速度、网络请求体验、I/O优化、热修复技术、耗电优化,都是性能优化需要重视的点。
  • Android现在细分的领域非常多,逆向安全、音视频、物联网、SDK开发等等,可以在这些领域中选择一个并不断深入。若是从时代背景的角度考虑,当下处于信息时代,用户接收和喜爱信息传播的形式一路从文字、图片、音频、视频,到了如今的直播。音视频会是一个不错的选择。其中会涉及到音视频编解码和音视频同步处理、特效处理、合成等等技术,对于
  • Android 底层源码的理解也十分有帮助。

如果你从事Android开发,具备1年以上工作经验;如果你希望深入浅出了解UI/NDK开发 · 性能优化 · 架构设计 · Flutter开发等技术要点,并渴望实现技术和职业成长上的双重突破,腾旭课堂联合本号给大家提供了以下福利,完全免费:

福利1

《Android进阶免费直播课》

适听人群:Android初、中级开发工程师

  1. 4月8日 20:00
  2. 架构师项目实战——全球首批Android开发者对Android架构的见解
  3. 4月9日 20:00
  4. Gradle利器让你的Android开发效率提升十倍
  5. 4月10日 20:00
  6. 一节课玩转并发编程--从CAS机制到手写锁实现
  7. 4月11日 20:00
  8. 架构师or码农—架构师必备Android AOP编程
  9. 4月12日 20:00
  10. 深入解剖HashMap你不知道而又必须知道的原理
  11. 4月13日 20:00
  12. 实现安全可靠的Android网络连接
  13. 4月14日 20:00
  14. 还不会玩JVM就OUT了,一节课用实战告诉你

福利2

架构学习资料免费领取

 
推荐阅读:https://www.jianshu.com/u/ee81236d2d37

最新文章

  1. DB2 SQL 日期函数
  2. OSI Model
  3. jmeter使用IP欺骗进行压力测试
  4. Unity游戏暂停之Update与FixedUpdate区别
  5. R入门<二>-时间序列研究
  6. OpenResy+Lua 利用百度识图 将图片地址解析成文字
  7. MySQL主从同步的延迟原理
  8. Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别
  9. Android EditText的使用及值得注意的地方
  10. JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
  11. 黑马程序员——Java高级应用(一)
  12. Stream使用教程
  13. 计算机四级网络工程师--《操作系统(Operating System)》重点内容学习
  14. windows下python3.4安装lxml提示"Unable to find vcvarsall.bat"
  15. Exp6 信息搜集与漏洞扫描
  16. JavaScript开发工具简明历史
  17. 玩转 lua in Redis
  18. 几个比较很重要的Shader相关教程
  19. Java JVM监控工具JConsole简介
  20. 别让Open Sans字体拖慢wordpress后台速度

热门文章

  1. RocketMQ中PullConsumer的启动源码分析
  2. SQL获取客户端网卡电脑名称等信息
  3. HTML5标签的使用和作用
  4. 最大层内元素和----leetcode周赛150_1002
  5. POST提交数据方式
  6. NFS挂载报错
  7. JMeter 登录,获取token的接口测试401
  8. Markdown表格宽度调整
  9. CentOS -- Redis 3.2.12 Standalone Install and Configuration
  10. Leetcode之二分法专题-744. 寻找比目标字母大的最小字母(Find Smallest Letter Greater Than Target)