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

王鹏便是其中的一员,王鹏之前是在一线城市的一家小型互联网公司做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. nginx -s reload 导致的错误

    C:\pleiades\nginx-1.16.1_3\nginx-1.16.1>nginx -s reload nginx: [error] CreateFile() "C:\plei ...

  2. Mybatis项目构建和CURD操作

    Mybatis入门 一.使用SqlSession对象创建Dao接口代理对象进行持久化操作 1.使用maven构建java项目 2.修改pom.xml配置,添加所需jar包坐标 <?xml ver ...

  3. core的 Linq基本使用,简单模拟数据库多表的左右内连接的测试

    1:先看效果: 2:部分代码截图 3:全部代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 n ...

  4. smbms系统中引用的js文件出现乱码

    问题如下显示: 时间显示出现了乱码,找到显示该时间的js文件,定位问题出现的地方. 解决方案: 改变该文件的编码方式,这里的使用了vscode进行改变js文件的编码方式 步骤如下: 使用vscode打 ...

  5. 如何编写一个简单的Linux驱动(二)——完善设备驱动

    前期知识 1.如何编写一个简单的Linux驱动(一)——驱动的基本框架 2.如何编写一个简单的Linux驱动(二)——设备操作集file_operations 前言 在上一篇文章中,我们编写设备驱动遇 ...

  6. 本周 GitHub 速览:自动化当道,破密、爬虫各凭本事

    作者:HelloGitHub-小鱼干 摘要:安全门外汉,如何在不知道密钥或密码的情况下,破解哈希得到原文,Ciphey 会告诉你当中的密码.说到 auto 智能爬虫会基于上一次的爬虫经历进一步学习以获 ...

  7. 什么是Lambda架构

    一.Lambda架构需求 Lambda架构背后的需求是由于MR架构的延迟问题.MR虽然实现了分布式.可扩展数据处理系统的目的,但是在处理数据时延迟比较严重.实际上如果内存和CPU足够强大,MR也可以实 ...

  8. 分布式系统监视zabbix讲解七之分布式监控

    分布式监控 概述 Zabbix通过Zabbix proxy为IT基础设施提供有效和可用的分布式监控 代理(proxy)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器. Pro ...

  9. Docker跨主机通信(九)

    容器网络 在前面的博客中已经详细讲解了几种网络方案: none, host, bridge,user-defined.但是他们只是解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信.本 ...

  10. maven使用心得

    1.一个项目下创建module,需要在project的pom下加入module,这个工程的pom <?xml version="1.0" encoding="UTF ...