最近脉脉上出现了不少劝退客户端的声音。比如
什么东西一旦押韵了,好像都挺有道理的样子。
好奇地搜索一下,的确有些不对劲:
看了几个帖子,总结下来劝退的理由有这么几个:
客户端的需求在缩小,这确实是一个事实。
移动互联网创业热潮早已经过去,一方面没有那么多新创业公司涌现了,另一方面互联网也有赢家通吃,大厂更大,小厂生存空间越来越窄的苗头。当年知道什么是 weak,会写个 TableView 就能拿个 15k 的 iOS 开发 offer 的好事情已经没有了。
不过,一个市场是买方市场还是卖方市场,从来都是需求和供给两方面决定的。而技术人才的供给,相比需求存在一定的滞后。从一个领域需求火爆,到大批新人学成进入这个领域,中间会有几个月到几年的时间差。可能这个时候需求变化更快,火爆行情已经过去,新进入的人就会面临窘境。比如在移动互联网最火热的 2015 年很多人去学了 iOS 开发,然后发生了 2015 年股灾,地主家也没有余粮,创业公司没有投资人的输血纷纷倒闭,转过年这批 iOS 新人发现:
但反过来想,客户端开发领域已经经历了这么一轮高开低走,现在没人愿意学了,但市场上的需求,其实并没有消失,很多大厂依然需要客户端。于是就迎来了一轮市场行情的反转,很多大厂不得不想尽办法招揽应届生做客户端,供不应求,招聘时就不得不略微放放水,比往年要求降低一些。这难道不是一种机遇吗?
有人担心即使现在上车了,以后客户端领域路会越走越窄。如第 2 点所说,前端抢走了很多客户端的活。开发原生客户端需要 iOS 、Android 各开发一个 App,成本的确更高。很多公司的业务用小程序就完全能够承载了。
其实手机这个平台有一个很有意思的现象,它没有像桌面平台一样,绝大部分应用都从客户端转向了 Web 。现在大家用电脑,除了 Office 三件套、Adobe 全家桶这种专业软件,大部分的时间都是在用浏览器。而手机就不同,大家每天在用的是 App,移动端浏览器用的并不多。
个人觉得,这种差异主要是因为手机和电脑人机交互的差异。
电脑上信息输入主要靠键盘和鼠标。而手机就丰富多了,触摸屏、摄像头、话筒、还有 GPS 、气压计、陀螺仪等丰富的传感器。要利用好这些硬件提供的信息,势必需要访问手机操作系统提供的各种 API,这种场景下 Web 就远远不如原生了。比如要做需要处理音视频输入的应用,就只能用原生。
另一方面,用户在移动端主要依赖触摸屏操作,Web 页面手势操作的体验不如原生。另外 Web 的入口是网址,在移动端用软键盘输入网址远远不如 PC 键盘方便。
因此,Web 在移动端比较适合做重展示、轻交互的应用,比如电商,外卖。但重交互、需要处理多媒体信息的应用都会选择原生,比如短视频。
另外 Web 的交互体验始终和原生有一定差距,所以重视体验、对成本不敏感的大厂都不会放弃原生开发,Facebook 曾经尝试过纯 Web 实现 App,后来也回归原生了。相反,大厂会投入大量人力优化体验,除了需求开发,会专门投入人力做性能优化、稳定性、架构、安全、基础设施等方面,每个方向都有相当的技术深度供你挖掘。
因此,对于应届生来说,如果志在一线大厂,客户端的需求规模并不是一个问题。
再说天花板问题。据说在阿里,P8 以上后端占多数,这的确给人一种客户端天花板低的感觉。
但阿里这种情况,有其业务特点的因素。阿里是做电商的,电商系统的复杂度在于订单、库存、支付这些复杂业务逻辑的处理和高并发的挑战。这些部分都是后端在处理的,前端 /客户端只是用户操作的入口,大佬多后端合情合理。
但有些业务类型,比如短视频 App,很大一部分复杂度在于用户的创作和观看的体验(当然还有后端的视频服务、并发支撑和推荐算法),这部分都是客户端在支撑的,尤其是视频拍摄和编辑,有相当的复杂度。因此在短视频团队中,客户端的重要性和电商团队相比就会重要的多。这种团队客户端开发就会有更多机会走上更高的位置。
另外说句老实话,P8 以上的能有几个,大部分人不需要想这么远。
说到最后一个问题,客户端社招面试的难度。
说了这么多,我个人觉得客户端绝对不像那些劝退言论说的是个大坑,相反,对现在的应届生来说,是个不错的进大厂机会。很多大厂校招都不要求任何客户端开发经验的,只要基础知识扎实,代码能力过关就行了。
比如我司,字节跳动。
我们的 TikTok App 已经连续好几个月蝉联全球 App 下载榜首,🇮🇳的封禁和 Trump 的威胁没有阻挡我们的步伐。
团队仍然有很多客户端工程师的需求,坐标上海科技绿洲。
如果你是应届生,可以积极准备明年的春招,对客户端方向的职业发展如果有困惑,也可以和我联系,我会尽量在工作之余回复。
如果是已经工作的客户端同行,欢迎找我内推。
我的邮箱(#换成 @):martin.lv#bytedance.com
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.