Android开发经验谈Android开发Android开发

Android凉了?

2022-04-28  本文已影响0人  像程序那样去思考

这两年,在职场社交平台脉脉上,劝退客户端的声音一直不绝于耳,大家都开始哀嚎:客户端没人要了!

脉脉搜索『客户端』

甚至,连劝退顺口溜都出来了:

有后选后,无后选前;无后无前,算法也甜;条件允许,无脑后端,前途无量,预定高管;其次前端,需求频繁,温饱有余,人上人难;算法数据,收入可观,最好硕博,高端饭碗;测试开发,也可一战,随手一点,月入过万;走投无路,回家种田,日出日落,生活美满;鬼迷心窍,来客户端,表面繁荣,实则内卷;工作清闲,面试火箭,不到三年,全部玩完;65 在后,绿帽在前,苦口婆心,金玉良言,奉劝诸位,擦亮双眼,有则改之,无则加勉。

别说,还挺押韵。

客户端就业市场的供需情况

然而,事实真的如此吗?相对于其他技术岗位,客户端开发的就业环境真就已经到了山穷水尽的地步了?

根据近年来上百场的面试和招聘经验来看,对客户端就业市场的供需情况有两点感受:

1)客户端岗位总量是在下降的。

从 2010 年左右移动互联网爆发,再到 2015 年左右国家政策号召大众创业、万众创新,移动互联网客户端开发一度曾是最热门的岗位,人才蜂拥而至,速成培训班比比皆是。

到如今,移动互联网已经走过十几年的发展,互联网用户渗透率也已经到了瓶颈,各种场景的用户需求已经被满足的十之八九,通过满足这些需求崛起的移动互联网巨头格局已经初步形成和稳固,在这样一波浪潮里没有生存下来的公司也逐步退出了历史舞台。并且,随着 H5、ReactNative、Flutter 等跨端技术的发展,以及微信小程序作为轻量级 App 替代品的推出,进一步减少了市场对客户端岗位的需求。与此同时,国家也开始了针对互联网巨头的反垄断行动。

在这样的背景下,即使有少量新的产品和公司还能从残酷的竞争中厮杀出来,即使巨头还在对现有的产品进行投入并尝试新的方向,但相对于当初百花齐放、雨后春笋般的应用市场,其背后需要的客户端开发岗位数量,显然不可同日而语。

2)客户端岗位却供不应求。

这点感受,看起来跟前面有点矛盾:明明岗位数量少了,为啥还供不应求了?但是,供不应求是确有其事。

拿校招来说,现在大部分毕业生都将目标岗位投给了算法、服务端、前端,鲜有一上来就投客户端的。所以即使客户端的岗位数量比其他技术岗位少,却仍然收不到足够的简历,以致于不少过来参加客户端岗位面试的毕业生其实是从算法、服务端等岗位被调剂过来的,他们很多都没有客户端项目的开发经验。这样一来,能有一些 App 开发经验的毕业生来面试客户端开发时,通过率会显著提高。

至于社招,也是供不应求。我们收到的符合要求的客户端社招简历明显在变少,而岗位却一直还有空缺。这一方面是由于对社招要求标准更高了,毕竟客户端技术已经发展这么多年了,业务迭代到如今面临的问题肯定是需要候选人能够具备一定的技术积累才能去胜任的;另一方面则是由于客户端新人的供给太少了,后续的人才梯队出现了断档。

所以,即使『需求端』的客户端岗位数量确实少了,但是『供给端』愿意选择客户端的毕业生和符合要求的社招客户端开发人员更少了,导致了客户端岗位反而供不应求的现状。

这背后,可能是由于大家在思考移动客户端技术职业发展趋势而做出选择的时候,走出了一波马太效应:欣欣向荣时,一哄而上,供过于求;光景平淡时,一哄而散,又供不应求。就像我们都知道的『价格围绕着价值上下波动』一样,客户端的人才供应也在围绕着岗位需求上下波动,只是当前往下的这一波趋势有一些过头了。

所以,客户端的就业环境其实还没差到山穷水尽的地步,整体趋势确实不再欣欣向荣,但是一哄而散的马太效应却又导致了供不应求,为我们留住了一些生存发展空间。尤其对于应届毕业生来说,如果在其他技术岗位上难以从竞争中脱颖而出,可以考虑利用客户端现在的这种供需情况来做好规划。而社招的客户端工程师想要跳槽,把基本功做扎实,在工作项目中能做好优化,做出亮点,还是能拿到不少 offer 的。

不过,需要注意的是:我们上述讨论的是一个相对情况,即客户端开发相对于其他互联网技术岗位而言,目前整个国内互联网行业在相关政策以及经济形势的大环境下都过得比较艰难,这对就业市场整体都有很大的影响;对客户端岗位市场供需情况的感受与所在公司、所处业务息息相关,可能并不具备普适的参考价值。

客户端开发人员的破局方向

说完了客户端就业市场的供需情况,接下来是下一个问题:正在从事客户端开发的技术人员如何破局?如何做好进一步职业发展规划?

大部分人进入职场从事客户端开发工作,一般都是先从业务做起的。这个『业务』简单来讲就是处理用户交互、请求服务端数据、根据数据绘制界面,大家常戏称『画 UI』。通常做业务时间长了后,有些同学会觉得『没什么技术含量』,就会开始焦虑,因为『没什么技术含量』就意味着可替代性强,刚毕业的同学如果也能干,工资还比你低,你的竞争力又在哪里呢?

对于这种处境下的焦虑,这里有几点建议,不妨看看:

1)继续做业务,但是注意锻炼数据量化思维。

数据量化的思维,可以应用在两个方向上:

一个是对技术体验进行拆分细化,从而建立完善的服务质量指标(QoS),并基于数据来进行优化。在常见的业务里,这些指标可能包括:页面加载和渲染耗时、列表滑动卡帧率、列表内容分页加载至可见耗时等等。你完全可以根据自己的业务情况来制定合理的指标、埋点上报数据、分析数据、制定优化策略、获得数据反馈。

另外一个是建立完善的用户体验指标(QoE),通过对业务埋点量化数据来分析推动业务发展和增长,尤其是在技术人员对业务数据有知情权、对业务发展有话语权的公司或团队,这种能力是你影响力和竞争力的体现。

当然,如果你能将 QoS 指标和 QoE 指标进行合理的关联,并通过数据分析来归因和证明技术优化对于业务发展的推动作用,并逆向思考 ROI 更高的技术方向,对其进行投入,那就更好了。

举个例子,比如你通过分析数据发现,直播卡顿率每降低 1%,用户人均直播观看时长会提升 3%,那是不是就能很容易说清楚你优化直播卡顿率的价值了?但是在优化卡顿率的时候,有一个可行的方案是降低直播码率,这会使得用户观看到的直播画面没有那么清晰,那么你接下来就需要分析:通过降低码率来降低卡顿率带来的收益,和码率降低后造成的画面质量损失,哪个对用户观看时长的影响更大,有没有平衡点?诸如此类。

2)兼顾自身能力和市场趋势,向门槛更高的技术方向发展。

可能有人会说,客户端就业形势每况愈下,那我直接转后端好了。对于这种选择,我的建议是尽量不要这样做,技术栈切换如果太跳跃、没有延续性,其实是有点亏的,相当于抛弃了原来积累的能力和经验,进入新的技术栈,相对竞争力就降低了。

我们怎么理解这里所说的延续性呢?简单来说,就是你在迁移过程中的学习投入成本,是被这个岗位买单的;学习产出回报,是贡献于这个岗位的。

所以,在这里我倾向于建议,在客户端领域去选择有延续性的技术方向。那么有哪些方向可以选择呢?

我把上述分析从学习成本、延续性、竞争壁垒、市场需求等维度做了一个表格,给出了对各个方向的推荐程度,如下图所示:

客户端业务开发职业发展选择

在这里就也给大家分享一套完备的知识体系,整体参照了各家一线大厂高工岗位的招聘要求及岗位技能需求,并且每个具体的知识节点还附带有一整套体系化的学习资料、笔记进行辅助,不管你是从0到1还是从1到100,都可以很好的帮助你掌握知识原理,将所学的知识点全部串联起来

如果需要的话,可以顺手帮我点赞评论一下,直接前往公号:Android开发之家,自行领取。

这些我都已经整理到了本地PDF文档中,这里由于篇幅原因没有一一贴上来,需要完整文档的朋友们可以顺手帮我点赞评论一下,直接前往公号:Android开发之家,自行领取。

上一篇 下一篇

猜你喜欢

热点阅读