99%的Android开发不得不面对的三道坎,到底该怎么破?
今年比往年要特殊一些,受疫情的影响,很多公司都出现了裁员现象。以至于最近很多技术同学也在纷纷向我倒苦水。
王鹏便是其中的一员,王鹏之前是在一线城市的一家小型互联网公司做Android应用开发。从毕业实习到今年,工作整整六年。六年之中,做过四年应用开发、半年rom开发,一年framework开发,但疫情期间他们公司为了缩减成本,做了裁员,他也在其中,取而代之的是一个只有三年工作经验的。
当时王鹏想着,自己也有多年工作经验,找工作应该不难,结果却屡次碰壁,这让王鹏一度陷入了自我怀疑,难道是中年危机到了,所以职业发展也变得艰难了吗?
“中年危机”?不知道从什么时候起,中年危机变成了热词在互联网领域里的年轻人中间扩散开来。中年危机似乎只是个代名词,无论中年还是青年都在面临种种危机。
为什么明明工作了六年,职业发展却频频受挫?

99%的Android开发,不得不面对的三道坎
第一道坎:互联网寒冬,企业裁员比例不断上升
今年由于疫情影响,互联网企业裁员比例纷纷上涨;
据内媒报道,BAT等互联网一线大厂的裁员人数竟高达2000,裁员比例上涨到恐怖的15%
在阿里,已有75%的普通员工被降薪;
而20%市场效益低迷的中小型产业大部分倒闭、失业者纷纷下岗择业。
第二道坎:Android开发趋于“饱和”,新一代技术“人工智能”正在崛起
毫无疑问,属于Android爆火的时代已经过去,人工智能是下个十年要进入的时代,而且现在已经有蓄势待发的意思,但是人工智能跟 Android 开发完全不冲突。
人工智能它是一门技术与科学,它可以应用于各行各业,方方面面,同样,它也可以应用于手机端,这两年也有不少手机厂商推出了 AI 芯片,以后人工智能在手机上的应用会有很大潜力。
第三道坎:职业前景发展难
做架构师能力不行,就只能转管理,但基层管理岗位也很尴尬。首先接触技术少了,技术退化,管理能力是有所长进。
但是跳槽资本降低,空降到其他公司做基层管理可能性不大,做回技术吧又忘的差不多。基层管理管理基层员工,想要往上爬到中层管理,难,只能不犯错,等机会。

Android开发人员的职业破局
一、提早做职业规划
做架构师太难,走管理又进了死胡同,所以你必须早做规划。规划时,问清楚自己几个问题。
- 会什么?——技术 or 能力...
- 有什么?——人脉 or 渠道 or 技术 or 能力...
- 想干什么?——行业,技术,能力...
- 能干什么?——行业,技术,能力...
- 喜欢什么?——行业,技术,能力...
- 还差什么?——技术,能力...
搞清楚你到底想做什么,如此才不至于多走弯路
二、抓住新技术,做新打算
新技术岗位大厂通常都是最先招聘的,比如做Android可以转客户端开发、App开发、rom开发,Framework开发,所以只有不断学习,掌握新技术,增加更多技术支撑,例如学习大厂企业实战课程,不断专研核心技术,寻找更多模拟实战环境,为自己增加更多练手机会,这样面试的时候就多了一层保障和优势。
三、提升自己,进阶成为高级Android开发
说是说Android已经趋于饱和,但是这一切都只是对于Android初级开发,这个市场对于初级开发是不太友好的;
如果你自身没有很强的技术含量,可能很难进入自己满意的公司;(毕竟技术牛的顶层代码开发者太多了)只有提升自己才是最好的办法。
附上我之前整理的Android初级开发——Android高级开发需要掌握的技术栈:
Java基础方面:JVM、String、内部类、多态、抽象和接口、集合框架(Hashmap、Arraylist)、单例、线程、Synchronized、Look锁、动态代理、引用
Android基础方面:四大组件、View、进程、Bitmap、屏幕适配、消息机制、线程异步、WebView。
Android扩展方面:ART、Apk优化、Hook、Proguard、架构(MVC/MVP/MVVM)、Jetpack、NDK开发。
Android源码方面:Leakcanary、Eventbus
设计模式方面:面向对象六大原则、工厂模式、单例模式、建造者模式、观察者模式、适配器模式、策略模式、代理模式
算法方面:排序、二叉树、链表、栈和队列、二分、hash表、堆、数组/双指针、字符串处理、动态规划
网络知识:Http(缓存、Https、Http2.0)、TCP(三次握手四次挥手、socket)、类加载器
PDF目录




内容部分截图




最后
现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套【Android进阶学习视频】、【全套Android面试秘籍】、【Android知识点PDF】。如有需要获取资料文档的朋友,可以点击我GitHub免费获取!
99%的Android开发不得不面对的三道坎,到底该怎么破?的更多相关文章
- android:Android开发不得不收藏的Utils
AndroidUtils AndroidUtils Android开发不得不收藏的Utils 之前写这篇文章主要是项目应用到的Utils,发现已经有一个更全面的开源库总结,所以还是非常震惊可以总结的这 ...
- Android 开发者不得不面对的六个问题
一份关于移动应用开发的调查报告显示,Androdid开发者对谷歌的移动操作系统平台的兴趣正在下降.尽管依然有79%的开发者表示对Android “非常感兴趣”,但调查报告显示,一些迹象表明在2012到 ...
- Android开发——Android手机屏幕适配方案总结
)密度无关像素,单位为dp,是Android特有的单位 Android开发时通常使用dp而不是px单位设置图片大小,因为它可以保证在不同屏幕像素密度的设备上显示相同的效果. /** * dp与px的转 ...
- Android开发万能Utils(工具大全)
AndroidUtils Android开发不得不收藏的Utils About AndroidUtilCode 是一个强大易用的安卓工具类库,它合理地封装了安卓开发中常用的函数,具有完善的 Demo ...
- Android开发人员不得不收集的代码(转)
App相关→AppUtils.java 安装App installApp 卸载指定包名的App uninstallApp 获取当前App信息 getAppInfo 获取所有已安装App信息 getAl ...
- 学Android开发,入门语言java知识点
学Android开发,入门语言java知识点 Android是一种以Linux为基础的开源码操作系统,主要使用于便携设备,而linux是用c语言和少量汇编语言写成的,如果你想研究Android,就去学 ...
- OpenJDK将对Android开发产生怎样的影响?
转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0228/182.html?1456926201 Google已决定将从下一版本的Android开始采 ...
- Android开发之漫漫长途 XIV——ListView
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- 【Android开发高手笔记】Dagger2和它在SystemUI上的应用
和人类需要群居一样,程序界的进程.线程也需要通信往来.它们的交流则依赖模块之间.文件之间产生的关系.如何快速地搞清和构建这种关系,同时还能减轻彼此的依赖,需要开发者们认真思考. 我们将这种需求称之为依 ...
随机推荐
- 使用java爬虫从雪球网下载股票数据
雪球网也是采用Ajax方式展示数据,我依然采用开发者工具查看其访问地址和返回数据. 访问使用到的库是jsoup,解析返回的json用的类库是jackson,二者的依赖是: <!-- jsoup ...
- 深入理解Java中的装箱与拆箱
一.Java数据类型 1.在说装箱与拆箱之前,先说一下Java的基本数据类型,Java从数据类型上可以划分为值类型与引用类型,值类型是四类八种,分别是: 整数型:byte̵,short̵,int̵,l ...
- 猜数字 python 3
随机选取一个1-100的整数 通过5次机会猜整数 会提醒猜大或者猜小 当猜对或者已经猜过5次后结束游戏
- Python实现拆分多级目录的方式
1 环境 操作系统:Windows10 Python版本:Python3.7 2 简介 实现多级目录差分,举例说明如下: 假设现有的目录结构如下:1.2.2.1.2.2.2.3.2.4.3.4.5.6 ...
- Linux幽灵漏洞修复
1. 漏洞说明 1.1 漏洞原理 glibc是GNU发布的libc库,即c运行库,在glibc库中的__nss_hostname_digits_dots()函数存在一个缓冲区溢出的漏洞,这个漏洞可以经 ...
- 关于px、pt、em、rem四个单位的解释
写在前面 最近在群里突然看到一个问题,就是px pt em rem 三者的区别,这个问题看起来非常基础,也非常容易被忽略,however,面试会问到~,那我就解释一下 px px的英文是pixel,翻 ...
- spring boot之AOP
首先,aop是面向对象切面,嗯,就是说不面向静态方法,我做测试demo的时候controller方法有个加了static,尴尬的是就用了那个方法测,检查了几遍配置... 参看这篇文章https://m ...
- 从C++入手,探寻java的特点
java的特点 java语言建立在成熟的算法语言和坚实的面向对象理论的基础上,具有强大的应用系统设计能力,其具备的跨平台特型,其具备的跨平台特型.面向对象和可靠性.安全性等特点是它能够充分适应网络需要 ...
- Redis可视化工具推荐
前言 Redis可视化工具目前好用的免费的几乎难以寻迹,百度能搜索到的推荐比较多的是Redis Desktop Manager 官网地址:https://redisdesktop.com/pricin ...
- Java多线程--CAS
在Java多线程并发的情况下同时对一个变量进行操作会出现线程安全的问题,假如我们现在使用20个线程对一个变量不停累加1,代码如下: 1 public class ThreadDemo implemen ...