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

王鹏便是其中的一员,王鹏之前是在一线城市的一家小型互联网公司做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. Oracle中创建千万级大表归纳

    从一月至今,我总共归纳了三种创建千万级大表的方案,它们是: 下面是这三种方案的对比表格: # 名称 地址 主要机制 速度 1 在Oracle中十分钟内创建一张千万级别的表 https://www.cn ...

  2. 10行实现最短路算法——Dijkstra

    今天是算法数据结构专题的第34篇文章,我们来继续聊聊最短路算法. 在上一篇文章当中我们讲解了bellman-ford算法和spfa算法,其中spfa算法是我个人比较常用的算法,比赛当中几乎没有用过其他 ...

  3. 添加到web.config文件里的用户自定义翻页控件

    <pages> <controls> <add tagPrefix="ucl" tagName="Pager_Backstage" ...

  4. jmeter做简单的压测

    一.JMeter概述jmeter除了可以做借口测试外,还可以做压力测试:首先介绍jmeter中各个组件在压力测试中扮演的角色 1)线程(Threads(Users))即虚拟用户,线程组里可设置需要模拟 ...

  5. [LeetCode]215. 数组中的第K个最大元素(堆)

    题目 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出 ...

  6. js动画之轮播图

    一. 使用Css3动画实现 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  7. Vue elelment登录验证 简单版

    http.js import axios from 'axios' import { Message, Loading } from 'element-ui'; import router from ...

  8. hystrix熔断器之配置

    HystrixCommandProperties命令执行相关配置: hystrix.command.[commandkey].execution.isolation.strategy 隔离策略THRE ...

  9. RXJAVA之概述

    RXjava是一个异步和基于事件的程序库.RXjava的核心理念是编程风格的的变化,从传统的命令式程序改变到函数响应式编程. RXjava的基本概念: Observable:发射源,即对象产生的地方. ...

  10. 获取NX装配结构信息

    最近在做一个项目,需要获取NX装配结构信息,这里把代码分享给大家,希望对各位有帮助,注意以下几点: 1)代码获取了PART的属性.表达式等,因此一些细节可能需要您根据实际情况修改. 2)读写XML用的 ...