今年比往年要特殊一些,受疫情的影响,很多公司都出现了裁员现象。以至于最近很多技术同学也在纷纷向我倒苦水。

王鹏便是其中的一员,王鹏之前是在一线城市的一家小型互联网公司做Android应用开发。从毕业实习到今年,工作整整六年。六年之中,做过四年应用开发、半年rom开发,一年framework开发,但疫情期间他们公司为了缩减成本,做了裁员,他也在其中,取而代之的是一个只有三年工作经验的。

当时王鹏想着,自己也有多年工作经验,找工作应该不难,结果却屡次碰壁,这让王鹏一度陷入了自我怀疑,难道是中年危机到了,所以职业发展也变得艰难了吗?

“中年危机”?不知道从什么时候起,中年危机变成了热词在互联网领域里的年轻人中间扩散开来。中年危机似乎只是个代名词,无论中年还是青年都在面临种种危机。

为什么明明工作了六年,职业发展却频频受挫?

 
 

99%的Android开发,不得不面对的三道坎

第一道坎:互联网寒冬,企业裁员比例不断上升

今年由于疫情影响,互联网企业裁员比例纷纷上涨;

据内媒报道,BAT等互联网一线大厂的裁员人数竟高达2000,裁员比例上涨到恐怖的15%

在阿里,已有75%的普通员工被降薪;

而20%市场效益低迷的中小型产业大部分倒闭、失业者纷纷下岗择业。

第二道坎:Android开发趋于“饱和”,新一代技术“人工智能”正在崛起

毫无疑问,属于Android爆火的时代已经过去,人工智能是下个十年要进入的时代,而且现在已经有蓄势待发的意思,但是人工智能跟 Android 开发完全不冲突。

人工智能它是一门技术与科学,它可以应用于各行各业,方方面面,同样,它也可以应用于手机端,这两年也有不少手机厂商推出了 AI 芯片,以后人工智能在手机上的应用会有很大潜力。

第三道坎:职业前景发展难

做架构师能力不行,就只能转管理,但基层管理岗位也很尴尬。首先接触技术少了,技术退化,管理能力是有所长进。

但是跳槽资本降低,空降到其他公司做基层管理可能性不大,做回技术吧又忘的差不多。基层管理管理基层员工,想要往上爬到中层管理,难,只能不犯错,等机会。

 
image.png

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目录

 
image
 
 
image
 
 

内容部分截图

 
image
 
 
 
资料7.jpg
 
资料8.jpg

最后

现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套【Android进阶学习视频】、【全套Android面试秘籍】、【Android知识点PDF】。如有需要获取资料文档的朋友,可以点击我GitHub免费获取!

99%的Android开发不得不面对的三道坎,到底该怎么破?的更多相关文章

  1. android:Android开发不得不收藏的Utils

    AndroidUtils AndroidUtils Android开发不得不收藏的Utils 之前写这篇文章主要是项目应用到的Utils,发现已经有一个更全面的开源库总结,所以还是非常震惊可以总结的这 ...

  2. Android 开发者不得不面对的六个问题

    一份关于移动应用开发的调查报告显示,Androdid开发者对谷歌的移动操作系统平台的兴趣正在下降.尽管依然有79%的开发者表示对Android “非常感兴趣”,但调查报告显示,一些迹象表明在2012到 ...

  3. Android开发——Android手机屏幕适配方案总结

    )密度无关像素,单位为dp,是Android特有的单位 Android开发时通常使用dp而不是px单位设置图片大小,因为它可以保证在不同屏幕像素密度的设备上显示相同的效果. /** * dp与px的转 ...

  4. Android开发万能Utils(工具大全)

    AndroidUtils Android开发不得不收藏的Utils About AndroidUtilCode  是一个强大易用的安卓工具类库,它合理地封装了安卓开发中常用的函数,具有完善的 Demo ...

  5. Android开发人员不得不收集的代码(转)

    App相关→AppUtils.java 安装App installApp 卸载指定包名的App uninstallApp 获取当前App信息 getAppInfo 获取所有已安装App信息 getAl ...

  6. 学Android开发,入门语言java知识点

    学Android开发,入门语言java知识点 Android是一种以Linux为基础的开源码操作系统,主要使用于便携设备,而linux是用c语言和少量汇编语言写成的,如果你想研究Android,就去学 ...

  7. OpenJDK将对Android开发产生怎样的影响?

    转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0228/182.html?1456926201 Google已决定将从下一版本的Android开始采 ...

  8. Android开发之漫漫长途 XIV——ListView

    该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...

  9. 【Android开发高手笔记】Dagger2和它在SystemUI上的应用

    和人类需要群居一样,程序界的进程.线程也需要通信往来.它们的交流则依赖模块之间.文件之间产生的关系.如何快速地搞清和构建这种关系,同时还能减轻彼此的依赖,需要开发者们认真思考. 我们将这种需求称之为依 ...

随机推荐

  1. 区间查询与等效minus查询

    --表结构 create table hy_emp( id number(4,0) primary key, name nvarchar2(20) not null, edate date) --充值 ...

  2. (Python)正则表达式进行匹配

    import os import re pattern=re.compile(r'(\d{4})-(\d{2})-(\d{2})-b(\d{3})') // 要匹配的目录格式 for root,dir ...

  3. 上传文件到服务器指定位置 & 从服务器指定位置下载文件

    需要的jar包: 去maven仓库自己搜索com.jcraft下载jar包 <dependency> <groupId>com.jcraft</groupId> & ...

  4. Vue的优缺点

    使用vue.js做开发快两年了,对vue的优缺点有一点自己的见解,跟大神比不了,但是面试基本够用 vue在国内能被广泛使用的首要原因是它是基于mvvm框架做开发的,mvvm是前端开发中一种很有影响力的 ...

  5. MySQL 8 安装教程(个人版)+创建用户

    Mysql 8的安装教程 解压到指定目录如:D:\WinInstall\mysql-8.0.19-winx64这时候你需要在根目录下创建两个文件,分别是data文件夹和my.ini文件,然后使用编辑器 ...

  6. python里面的project、package、module分别是什么

    2020/5/25 1.project(项目) project 即项目,是一个很大的文件夹,里面有好多的 .py 文件. 在Spyder 中点击菜单栏 projects ----->  new ...

  7. 【python】列表与数组之间的相互转换

    安装numpy pip3 install numpy 列表转数组 np.array() import numpy as np a = [1, 2, 3] b = np.array(a) 列表转数组 a ...

  8. yum管理——搭建iso镜像私有yum源仓库(1)

    在服务器上一般是没有光驱的,那么我们怎么制作iso本地repo镜像源仓库? 通过本地iso镜像,copy到linux系统中一个目录中,进行伪文件系统挂载,执行如下命令: 挂载:mount -o loo ...

  9. Infor EAM:注重行业属性,实现对轨道交通线性资产的可视化管理

    Infor EAM:注重行业属性,实现对轨道交通线性资产的可视化管理 企业得利,一要开源,二要节流.而企业资产管理的目的,也正是从资产的角度出发,一方面通过相关资源与活动的合理安排提高设备可利用率.增 ...

  10. O、Θ、Ω

    1.这些是时间复杂度的.(e.g. O(n).Θ(n).Ω(n)) 主要为主定理(坏东西) 2.本质 O <= Θ = Ω >=