刚下班,地铁里挤得像沙丁鱼罐头。手机屏幕在昏暗车厢里亮着,我顺手刷了条技术博客,看到有人在问“现在学移动端还来得及吗”。我笑了,手指在屏幕上敲得有点快,差点把字打错。

这行当,外人看着光鲜。高薪、坐办公室、吹空调。其实呢?全是坑。

我入行那会儿,iOS还是Obj-C的天下,Android刚起来不久。那时候觉得,写代码就是创造世界。现在?世界碎了。碎片化、适配、兼容、热修复、性能优化... 每一个词背后都是掉不完的头发。

上周接了个私活,帮一家小电商改首页加载速度。客户说“要快,像闪电一样”。我心想,你当我是孙悟空啊?但没办法,甲方爸爸说了算。

打开代码一看,好家伙,首页加载了15个图片,全是高清大图,还没做懒加载。网络请求串行执行,用户点一下,转圈转了三秒。这体验,谁受得了?

我花了两天时间重构。把图片换成WebP格式,做了本地缓存,请求改成并行。最后测出来,首屏加载从3.2秒降到了0.8秒。客户很高兴,多给了两千块。

你看,这就是移动端开发工程师的日常。不是天天写炫酷的新功能,更多的是在屎山代码里找路,在性能瓶颈里抠细节。

很多人觉得前端和移动端差不多。差远了。

前端讲究的是兼容浏览器,移动端讲究的是兼容设备。安卓机,华为、小米、OPPO、vivo... 每个品牌的系统都魔改过。同样的代码,在iPhone上跑得好好的,到了某款低端安卓机上,按钮直接错位,或者闪退。

记得有一次,为了一个按钮点击事件在华为Mate 40上没响应的问题,我查了三天日志。最后发现是系统手势冲突。那种无力感,真的,想砸手机。

还有数据。别信那些“平均薪资20k”的鬼话。那是北上广深头部大厂的平均值。在二线城市,普通移动端开发工程师月薪过万都算不错了。而且,35岁危机比互联网其他岗位来得更早。

为什么?因为技术迭代太快。

以前用原生开发,现在Flutter、React Native、小程序... 什么火学什么。今天还在啃Kotlin,明天老板让你上Jetpack Compose。后天可能又要搞鸿蒙。

我有个朋友,去年被裁。32岁,原生开发五年。公司转型做跨平台方案,他学不会,也没精力学。最后只能去送外卖。

这听起来很残酷,但这就是现实。

所以,给想入行或者正在挣扎的同行们几句真心话。

第一,别只盯着UI。要懂底层。网络原理、内存管理、线程调度,这些才是护城河。UI谁都会画,但性能优化只有少数人做得好。

第二,别排斥新技术。但也不要盲目追新。Flutter火,你可以学,但别指望靠它一夜暴富。把它当成工具,而不是信仰。

第三,保重身体。颈椎病、腰椎间盘突出、干眼症,这三个是标配。我体检报告上,脂肪肝、血脂高,全中。

第四,要有B计划。如果哪天真的干不动了,你能不能转行?产品?测试?还是干脆换个行业?

我现在的状态,算是半退休吧。接点外包,教教学生。偶尔写写文章,吐槽一下行业乱象。

其实,移动端开发工程师这个头衔,没那么神圣。就是个手艺活。

手艺好不好,看作品,看口碑,看你能不能解决实际问题。

别被那些PPT里的愿景忽悠了。代码不会骗人,Bug不会骗人,用户的差评更不会骗人。

最后,分享个冷知识。

根据Statista的数据,全球智能手机用户超过50亿。这意味着,只要有人用手机,就需要移动端开发工程师

需求永远存在,但机会只留给有准备的人。

你准备好了吗?

(配图:一张深夜办公室的照片,桌上堆满咖啡杯,屏幕上是密密麻麻的代码,窗外是城市的夜景。ALT文字:深夜加班的程序员,屏幕蓝光映在脸上)

说实话,写到这里,我眼睛有点酸。

明天还要开会,讨论新的UI规范。

希望能早点下班吧。

真的,早点下班。

毕竟,身体才是革命的本钱。

别像我一样,年轻时候拿命换钱,老了拿钱换命。

不值。

就这样吧。

加油,同行们。

虽然路很难走,但总有人能走出来。

希望你是那个幸运儿。

或者,至少是那个清醒的人。

清醒地活着,清醒地写代码。

这就够了。

晚安。

(此处省略一万字的心酸泪)

其实,也没那么惨。

至少,还能自己决定写什么代码。

这本身,就是一种自由。

虽然是被束缚的自由。

但也是自由。

嗯,就这样。

我要去睡觉了。

明天见。

或者,后天见。

看心情。

哈哈。

开个玩笑。

其实,我很珍惜这份工作。

哪怕它很痛苦。

因为,它让我觉得自己还有用。

这就够了。

真的。

够了。