客户端开发没人要了?有没有破局之法?

2022-06-13 12:51:07 浏览数 (1)

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

脉脉搜索『客户端』

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

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

别说,还挺押韵。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 客户端基础架构。负责 App 的基础性能和架构体系,涉及到:Crash、OOM、Exception 相关的兜底、堆栈捕获、上报和告警;热修复;安全防护;组件化架构;持续集成;包大小优化;启动速度优化等等能力的建设。这个方向还是在客户端技术范畴,而且有机会去学习和应用客户端底层的系统运行机制、编译原理等知识,各种 App 也或多或少需要相关的能力,即技术方向上有延续、有纵深、有需求,是个值得考虑的选择。
  • 跨端技术框架。主流的跨端技术方案通常有 H5 Hybrid、ReactNative、Flutter。跨端技术框架的主要优势在于:一次开发,到处运行,从而节省开发成本;业务开发动态化,不受限于 App 发版,从而加快了业务迭代速度。选择这个方向,有机会去深入了解和应用 Web 内核、JavaScript 引擎、跨端架构的知识,提升自己的能力壁垒;有一些客户端开发顺便就进入了前端技术栈,扩展了自己的能力圈,从而提升了竞争力。
  • 端侧智能。负责在客户端上基于算法模型来完成推理预测过程。端侧智能在算力上肯定不如服务端,但相对于云端智能,它的优势是可以实现端侧数据的实时 IO,这在很多应用场景是必须的。随着端侧算法的不断成熟和完善,端侧智能的能力从最开始的人脸检测、人体检测、手势检测、OCR 等场景,已逐步扩展到搜索推荐、语音 ASR、NLP 等更多场景。选择这个方向,就有机会去学习和应用推理引擎、密集计算性能优化、AI 算法等相关的知识。只要肯花时间投入,这个领域可以为你提供从客户端向算法技术栈迁移的路线,而且这个路线是延续性的,并且帮你构建了更强的竞争力。
  • 音视频。音视频是一个垂直但空间又非常广阔的技术领域。音视频作为一种数字内容形式,它有着区别传统图文的生产、处理、消费链路,这其中涉及到音视频数据采集、算法及特效、编解码、媒体封装、媒体传输、渲染等等细分技术栈,而每一项技术栈又可以继续垂直下去做到很深入的程度,并且与上面提到的端侧智能有很强的交互诉求,所以音视频方向是构建能力壁垒、提升技术竞争力的一个非常好的选择。从学习成本来看,iOS 和 Android 平台都提供了分层的系统 API 来支持一定程度的音视频能力,所以可以在熟悉的语言和开发环境下,从系统的音视频能力开始学习,降低难度。从市场趋势来看,音视频在当下已经成为的最流行的内容载体(短视频、直播、长视频、播客、音视频会议等),在未来更是很多应用场景(元宇宙、VR/AR/XR 等)的关键组成部分。所以,音视频是客户端开发选择后续职业发展方向的一个值得重视的选项。

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

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

当然,由于我自己是做音视频方向的,并且这个公众号也是输出音视频技术相关内容的,尽管我努力客观,但这里的评判肯定还是受到我自己内心倾向的影响了,请大家按需参考,或者按照自己的认知来重新做出适合自己的评估。

0 人点赞