本人22届安卓,先后工作于小米和虎牙,由基础转向业务,目前同时承接RN和原生的开发。本文试着谈一下我对移动端层面的现状的观察以及思考,视角和经验都不足业界前辈般的广阔和丰富,请指摘。
对原生开发的爱和恨
在“客户端劝退”的大趋势下,我还是选择了安卓开发,原因大概是在给同学介绍自己写的app时的小小骄傲,或许是在给google官方提出bug时的成就感,或许是安卓给了我实习的机会让我得以在秋招得到offer,也或许是我曾经的面试官对我的认可和建议。曾经我痴迷于啃技术文章,看源码,兴趣驱动地学习,也忘了在什么时候对安卓的热情消散殆尽,可能是因为每一次合master分支后编译都要20分钟,是各种谜一样的编译错误赶在了紧急的时间点让我心力交瘁,是工作需要不得不从基础转到业务而没有产出带来的无力和焦虑,相比其他开发少的可怜的对口工作岗位,都让我丢掉那份热情。
移动端岗位浅析
为什么说的是对口岗位,原生开发是有很多岗位的,包含不同方向,像车载,音视频,端智能等方向都是待遇还不错的选择,但这就代表了如果你是某一个技术领域的人才,薪资上去了,可供选择的机会也少了,而各种领域的知识都学一些,也就少了自己的核心竞争力。这可能也是面试的时候,各个面试官出的面试题有差别的原因,因为技术栈或许有别。
目前原生开发年轻些的人真正掌握技术的还是少数,客户端在短时间内仍然是刚需。如果你志向做一个精通某一技术领域的客户端开发,我觉得前景还是很不错的,但是需要一些运气在里面,但是这里面有一些不可预估的沉没成本,如果你后期觉得这个领域前景不好,或者自己不喜欢,可能转型就是很困难的了。至于长期发展,个人是不看好的,从成本上来讲,能用更少的人做的同样的事则不会选择用更多的人,私以为跨平台侵蚀原生一定是以后的趋势。
综合以上,在我尚有学习热情的阶段,需要一个不用去担心长期的发展,只需要稳步扎实的提升自己就可以了的工作方向来转型。
转型的选择
经过在工作中观察并思考以后的发展方向后,我觉得前端更适合自己一些。走出自己舒适的领域,去学习新的东西,需要经过一定的阵痛期,并有热情地持续学习,这不是一个平滑的过程。转型无非两种首先想到的选择,前端和后端。
在思考之后,我觉得前端开发对于目前阶段的我来说是优解,或许从知识储备上来看,一个安卓开发Java相关知识也应烂熟于心,相对于前端,安卓开发对后端的知识可能了解更多一些。理由首先是正好我所在的组有RN的业务需求,可以以工作的名义学习和熟悉新的语言和新的架构,虽跟React有所不同,但也不失为一种平滑的学习模式。其次前端是仅次于后端需求量的岗位,我无需担心供求关系,我需要为自己打保票我学习的热情不可以是三分钟热度,我可能会踩无数次坑,会一次次的否定自己,我要能坚持下来这个过程,客户端也从属于大前端的类别,可能我只是换了不同的框架和语言做着一样的工作,也不需要太多的改变。
感悟
这注定是一条难走的路,未来可能遭遇很多问题,不求前程似锦,但愿功不唐捐。如果你也是移动端的从业人员,欢迎来提出一些你的见解,如果你是半只脚踏入移动端的人,希望你认真了解行业现状并保持独立思考,莫听劝退之言,也不做后悔之事。