经常有网友在知乎问答提两个问题:“现在学习移动开发还有前景吗?””开发还有什么可以研究的?“。网友回复:“现在还学移动开发?如同49年加入国军!”其实这两个问题对应着同一个现象,无论是准备入行或刚刚入行,还是比较资深的开发者,对于移动开发职业的未来,都有一些迷茫、一些焦虑。为什么会这样?
近年来,以深度学习为代表的核心算法突破,计算机计算能力的提升以及移动互联和云计算技术的发展,AI技术的发展开始切实影响到人们的生活。现阶段,人工智能技术已经运用在智能安防、智能交通、金融服务业、医疗行业、工业以及移动互联网等众多领域,并在各行业中引发一场大变革。
两年前,众多企业家在乌镇讨论如何适应移动互联网,而今天移动互联网时代已经结束了。有关数据预测显示,2017年中国移动互联网用户增速在3.5%左右,2018年降到不足3%。而在2013年,这个数字是将近15%,移动互联网人口红利带来的增长已见顶。
所以这里的结束不是说不用手机上网了,而是移动互联网市场进入相对平稳的阶段,互联网人口渗透率超过50%,这个风口已经没有可能出现独角兽。
我的10年开发生涯中,有9年都是做Android相关开发,以我个人的经历来看,Android开发市场分为以下几个阶段,也许不是特别准确,但我觉得值得参考。
第一阶段 :混沌期
这个阶段大概在2009到2013年,Android刚开始出现在大家视野中,当时的Java开发有点像现在的Android开发,不是很热门,竞争压力大,因此很多Java开发转了Android开发,我就是其中一员。在09年到10年时有个说法,说只要你会Activiy的生命周期,你就可以通过面试了,虽然说得有些夸张,但还是有点道理,你懂得一些基础的概念,一般公司确实是可以进去的。这个时候大家都是摸着河去开发,网上的资料还有书籍都比较少,第三方框架也很稀少。
第二阶段 :发展期
这个阶段大概在2013到2015年,是Android开发发展最快速的3年,各种培训机构倾巢出动,培养了很多Android开发者。这个时候大量的第三方框架百家争鸣,插件化、Hybrid,MVP等技术开始占据大家的视野。网上的资料大量产出,也出现了一些经典的Android图书。
第三阶段 :平稳期
这个阶段大概在2016年到2019年,是Android开发从神坛跌落,回归普通的阶段,不是说他凉了,而是有更火的技术,这使得Android开发黯然失色。同时由于供大于求,很多Android开发开始转行,培训机构几乎不培训Android。这个时候出现了很多重量级跨平台框架,组件化、Kotlin、Android Jetpack、移动AI等技术映入了我们的眼帘,Android进阶三部曲诞生在这个时期。
可以说现在的形势看似不容乐观,但是暗藏生机。下面说说Android开发的转行和坚守。
转行与否在于你对自己的定位,如果你就是想赚多些钱,到30多就解甲归田了,就直接选择适合自己的热门技术,比如前一阵子python相关的技术很火,那么你就可以直接转过去,速度要快,这个就不在本文的讨论范围了。
如果你的定位就是想在技术领域多呆几年,成为技术专家及以上,那么转行就需要慎重考虑了,因为转行大部分都不是质变。
2.1 转行大部分都不是质变
一个开发的质变可以理解为在一个领域的大幅提升,或者是不相关领域的跨界,举个例子:可以在Android领域由高级质变为了专家,或者是由一个高级开发升到了Leader,再或者跨界开始做了一些技术相关的培训、演讲、出书等等而被人所熟知。
凡是能助力35岁后进入上升期或者平稳期的都可以看做是一次质变,而转行很少是质变,更多的是倒退回到原点重新出发,形象点来说,就是换了个不同的砖头接着搬砖而已(高技术含量的除外)。因此我们更应该去追求质变,而不是平行或者倒退,一次倒退可以承受,多次倒退就很难在35岁后进入上升期或者平稳期。
简单来说,就是无论你转什么,你都必须成为专家和leader以上,才能保证你的职业生涯得以延续,转行只是将这个步骤延时了,终究还是避不开的。
2.2 要转就尽早转
如果你觉得所在的行业没落了,无法施展才华,或者兴趣不在本行,想要转一个自己感兴趣的。那么就要尽早转行。
这个图不完全准确,但确实能说明一些问题。从图中可以看出,大部分人在35岁前是在加速期,35岁后是上升或者衰落期。以Android开发转前端来说,假设一个Android高级A同学转行前端会变为前端初中级,这时从事前端的人都在加速提高,A同学要想赶超前面的拥有同样加速度的人是不可能办到的,这就导致他在转行前期极为被动,A同学还要保证在35岁前成为前端专家或者Leader才有可能在35岁后不进入衰落期,当然这时A同学的Android基本也就荒废了,很难成为专家。如果还想要在技术领域走的更远,就不要轻易的进行转行,如果想要转越早越好,越快越好,因为其他的竞争者都在加速提高,没人会停下等你的。
2.3 转什么好呢?
有的同学说,别说那有的没的,我就是想转,那我也说说转什么比较好。
我周围转前端和后端的比较多,都还算顺利吧。整体来讲,转前端比较顺畅,因为很多理念都是相通的,而且Android配合前端的话,在大前端方向还是很有优势的,算是一个很好的组合和补充。未来发展也看好,进可以带大前端团队和移动端团队,退可以开发前端和Android,成为某一个分支的专家,前景看好。
转后端的发展一般,因为跨度相对大些,后端跟Android相关联的知识点有限,你在开发的时候,此前的Android知识并不能很好的助力后端。职业发展并不是像很多人想象的那么美好,只有成为技术专家和leader才可以延长职业生涯。什么?当CTO?想多了,后端厉害的海了去了,这好比一个后端开发学了两年Android就跟10年经验的Android Leader争移动总监一样,你觉得他的胜算有多少?
当然还有其他的选项,有的炒作水分大大了,我就不提了。当然如果你名校出身,天赋异禀,你想转什么就转什么,当个真·全栈也是轻而易举,天高任鸟飞嘛。
为了方便有学习需要的朋友,我把资料都整理成了视频教程(实际上比预期多花了不少精力),由于篇幅有限,都放在了我的腾讯文档上,点击即可免费获取!
Androidndroid架构视频+BAT面试专题PDF+学习笔记
当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,没有人能随随便便成功。
职业方向,才能在工作和能力提升中甩开同龄人。
无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,没有人能随随便便成功。
加油,共勉。