干了快3年Android了,感觉自己的职业生涯已经快凉了
背景
首先我是个菜鸡,工资也低的一笔。
刚毕业时候在一家国企上班干 app 开发,干了快两年的时候,跳槽到了一家伪大厂干安全。投了不少简历都没有回音,只有这加伪大厂要我就来了。当时说好了会接触一些底层的东西,然而*时也就写 python 脚本,逆向,android 上写了一些风控的东西,感觉有点 low,工资也不高,当初没敢多要,hr 给的比我要的还高。刚刚 leader 谈了谈明年的规划,现在想跳槽。
现在也是很尴尬,原来 app 开发的东西也忘了不少,然后其实我想干 framework 开发,自己对 ams,pms 还算挺了解的,*时也根据他们原创了一点微小的解决方案。最*开始 fork 一个 aosp,买个 pixel 改改刷刷练习一下。
理想毕竟是理想,Android 低端不好混,没什么经验跳到 framework 上去感觉也是挺难的,跳回 app 开发又不甘心,现在的状态貌似是干了快 3 年没有特别精通的东西。最*闹的裁员,我司也是其中之一。加薪怕是没戏了,然而生活还要继续,跳槽避无可避。
现状分析
移动开发已经处于饱和的阶段,Android开发也不如当年盛况,已经不再像前几年前那么火爆。正如一种编程语言如果经历过盛极一时,那么必然有这样的一条曲线,像我们学的正弦曲线先急速上升,然后到达顶点,然后再下降,最后再趋*一个*稳的值。
目前市场上初中级水*的开发人员已经供大于求,但是高级水*以上的技术人才还是很匮乏,特别是对于特定细分领域的Android开发人员也是很匮乏。很多公司会对某项特定要求优先考虑,比如现在流行的Kotlin,混合开发,跨*台开发,NDK,高级图像处理等,市场上很火爆的直播和小视频对音视频这个细分领域的高级人才需求量也是比较大的,以至于AI、AR、VR等技术也需要通过终端展示给用户,所以说移动端开发未来还是会有所作为。
职业发展
随着Android的发展趋于*稳,有些人对Android未来感到茫然,早在2010年市场上有大量Android招聘,基本懂一点Java基础的就可以搞Android,当时是移动互联网创业的高峰期,号称只要做个App就可以创业。“风来了猪都能找到工作,风停了最先摔死的都是猪”,如果你觉得找工作难,那一定是你在混日子,Android中高级以上的人才一直都非常稀缺。
只要在Android某一个领域深耕,做到极致,努力成为这个方向的专家,有精力再提升工程架构思维,软件工程思想都是相通的,境界会得到提升,即便再学习新东西也会非常快。
只要一个领域做到极致,即便有一天这个领域被淘汰了,换新领域面试官依然会相信你也能做到极致。千万不能用一年的工作能力混十年工作经历,否则你的市场价格连一年都不如,成为工作困难户。
方向
关于Android的发展方向这里我归类了如下几类:
1、应用层开发,不限于各种产品,主要还是Android原生开发,主要是各种性能优化。
2、嵌入式开发,不限于各种开发板子,物联网,智能家居,车联网/车载
3、安全开发,不限于各种反逆向,反汇编,寻找安全漏洞
4、音视频开发,不限于直播、点播、音视频通话、音视频会议,短视频等
5、插件化、组件化、热修复开发,不限于自研和使用开源框架集成开发
6、系统开发(Android),不限于Rom维护和FrameWork层定制需求
7、图形图像开发,不限于OpenGL ES,EGL,GLSurfaceView,滤镜,美颜
8、小程序 / 快应用
小程序是基于微信这个亿级流量入口所衍生出来的产品,而快应用,快应用是九大手机厂商基于硬件*台共同推出的新型应用生态。用户无需下载安装,即点即用,享受原生应用的性能体验,不过个人觉得,他已经凉凉了,小程序倒是挺看好的,腾讯这座大山,微信这座凉亭,你想不凉快都难,不过看你是否刚需,比如你公司有需求,那你可以去学习。
推荐学习的新技术,Flutter和Kotlin,这两个都是Google推荐的。
Flutter
Flutter是Google在2018年2月27日,在2018世界移动大会上发布的用以帮助开发者在ios和Android两个*台开发高质量原生应用的全新移动UI框架
由于是是Google发布的,就前景来看,还是值得肯定的。
Kotlin
Kotlin 是Google推荐的官方开发语言,与Java互通,可相互转换,简洁安全等,是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由JetBrains 设计开发并开源,
Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。
如何选择
所以综上,真的别杞人忧天,沉下心来学好基础,提升技能比什么都重要,如果你找不到工作,只能说你学的还不够好,或者能力还不达标,并不能说明没有这个岗位的招聘,以个人能力的不行来否定整个市场的需求是弱者的行为!
至于还有很多人纠结到底是选择方向,我能给到你的建议是看你的兴趣所在,别纠结太多,学好了哪一个都能找到一份好的工作,先跟着你内心的感觉学好、学精一门,而且编程语言都是互通的,以后你都会有机会接触其他领域,目前第一重要的是全身心的投入你现在想要从事的职业上,吃饱饭比什么都重要!
以上就是我能给到的建议,不一定是对的,但是从我自身角度来说都是非常中肯的建议,至于怎么走,怎么选择,全凭自己!
干了快3年Android了,感觉自己的职业生涯已经快凉了的更多相关文章
- 《冰球撞击》Android休闲桌球类游戏现已面试,快来下载吧!
<冰球撞击>Android休闲桌球类游戏现已完工上市快来下载吧! http://pan.baidu.com/s/1dD9vIRv <冰球撞击>是一个类似玩投篮机操作方式的And ...
- 更快的Maven构建工具mvnd和Gradle哪个更快?
Maven 作为经典的项目构建工具相信很多人已经用很久了,但如果体验过 Gradle,那感觉只有两个字"真香". 前段时间测评了更快的 Maven 构建工具 mvnd,感觉性能挺高 ...
- Android学习路线总结,绝对干货
title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...
- 一篇文章一张思维导图看懂Android学习最佳路线
一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级 ...
- android app性能优化大汇总(UI渲染性能优化)
UI性能测试 性能优化都需要有一个目标,UI的性能优化也是一样.你可能会觉得“我的app加载很快”很重要,但我们还需要了解终端用户的期望,是否可以去量化这些期望呢?我们可以从人机交互心理学的角度来考虑 ...
- Android UI性能优化详解
设计师,开发人员,需求研究和测试都会影响到一个app最后的UI展示,所有人都很乐于去建议app应该怎么去展示UI.UI也是app和用户打交道的部分,直接对用户形成品牌意识,需要仔细的设计.无论你的ap ...
- Android学习路线指南
看到这位大牛的博文,不禁得感概,我最近也遇到了很多问题,内心彷徨不堪,转载大牛这篇博文,是为了更好的勉励自己.原文地址在最后面. 前言 看到一篇文章中提到"最近几年国内的初级Android程 ...
- 一篇文章一张思维导图看懂Android学习最佳路线(转载)
Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级.中级.高级以及资深工程师.只针对Android应用开发,不针对Rom开发和逆向工程等.方便起见虚拟“小 ...
- (转)Android学习路线总结,绝对干货
一.前言 不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知.懂的越多的时候你才会发现懂的越少. 如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大. ...
随机推荐
- 常见DDoS攻击
导航: 这里将一个案例事项按照流程进行了整合,这样观察起来比较清晰.部分资料来自于Cloudflare 1.DDoS介绍 2.常用DDoS攻击 3.DDoS防护方式以及产品 4.Cloudflare ...
- 详解C++中继承的基本内容
有些类与类之间存在特殊的关系,有共性也有特性,比如动物类可以细分为猫,狗等.下级别的成员除了拥有上一级的共性,还有自己的特性,这个时候就可以考虑继承的技术,减少重复代码. 一.继承中的对象模型 1.1 ...
- 6、安装kvm虚拟机
6.1.虚拟机开启虚拟化: 6.2.检查linux虚拟机cpu是否开启了虚拟化: egrep -o 'vmx|svm' /proc/cpuinfo vmx 6.3.安装kvm管理和安装kvm虚拟机的软 ...
- Problem 1566 - C - Spanning Tree 动态最小生成树
Problem 1566 - C - Spanning Tree 给出一个联通图,然后每次加一条边,每次需要求最小生成树 1 #include <iostream> 2 #include ...
- 实现opcache加速php7.X
一.环境准备 操作系统:Centos8.3.2011 软件:PHP7.2.24 二.安装过程 1.安装软件 [20:03:29 root@centos8 src]#dnf -y install php ...
- 【转载】CentOS-yum安装Nginx
查看系统版本 $ cat /etc/redhat-release Nginx 不在默认的 yum 源中,使用官网的 yum 源 $ rpm -ivh http://nginx.org/packages ...
- 64. Minimum Path Sum 动态规划
description: Given a m x n grid filled with non-negative numbers, find a path from top left to botto ...
- django 使用jpype 报错:raise+OSError('JVM+cannot+be+restarted')
#调用jar包 def getJar(arg1,arg2): jarpath = os.path.join(os.path.abspath('.'), 'tools/GetTest-1.0-SNAPS ...
- 一次性讲清楚spring中bean的生命周期之三:bean是如何实例化的
在前面的两篇博文<一次性讲清楚spring中bean的生命周期之一:getSingleton方法>和<一次性讲清楚spring中bean的生命周期之二:FactoryBean的前世今 ...
- GitBook在Windows上安装及使用
GitBook是基于Nodejs,使用Git/Github和Markdown制作电子书的命令行工具. 1.安装Nodejs 首先,安装Nodejs,官网地址:https://nodejs.org/en ...