作者:GSYTech
在深入解析之前,先声明我本身是一个移动客户端开发人员,目前移动开发领域在 Github 收获 30k 左右的 star,主要从事大前端相关的开发工作,偶尔也会写写后端业务,但是我本身更喜欢客户端开发,下面是从我的亲身经历去理解这个问题,一家之言还请见谅。
如果是以前,在一般情况下我会回答有这样的建议:
这样的答案相信会比较贴近开发者的期望,按照理想中的发展,程序员的未来应该是高级工程师:
诚然这是理想中的职业发展,但是从我的个人经历回答的话,我会告诉你现在客户端开发“相对”轻松但是天花板低,而服务端开发更累但天花板更高。
这个结论需要回归到现实情况来描述,首先我问大家:在你的职业生涯里,现在公司内部的技术总监或者部门经理,是客户端开发还是服务端开发?
在我的职业生涯里经历过的各类企业里,这些企业内所任职的高管(CTO、部门经理、项目经理等)大部分时候都是服务端开发,这里面有一定原因是服务端开发历史更悠久,也有服务端掌握更多核心业务的原因。
在早期移动开发野蛮成长的时代,开发人员的不足和社区不成熟造就了人员短缺和技术能力受限,2013-2015年的时候移动客户端开发可谓 “春芳得意马蹄疾” ,一人难求的局面从疯狂的培训班就可以看到。
但是这火爆的背后是技术红利和行业风口在扶持。
移动应用主要是占据入口和提供优秀的界面交互,在早期起到了培养用户习惯的作用,但是随着业务的发展,为了可控、安全和更强的计算能力,越来越多的业务的被放到服务端实现,客户端更多是提供业务展示,精美动画和数据上报等功能。
除开地图、智能设备等领域。
随着移动客户端上半场红利的过去和社区的成熟,开发普通的移动应用不再有太高的门槛,跨平台也成了另外一种选择,而这时移动互联网的下半场也进入了数据的时代。
不存在太高技术门槛的情况下,同样业务领域的企业之间的竞争就在于数据,而当前无论数据计算的能力或分析的能力暂不在于客户端。
那回归到最初说的:“放开眼界,技术深入之后,一法通则万法通,不要让自己局限在某个领域” 这类提议,我想问另外一个现实中的问题:你经历过的企业是否提供自由转岗或者全面发展的平台?
我现在所在的就是这样的企业,这样的企业一般都是具备良好的技术氛围与健康的业务发展。但是我经历过更多的是:企业是并不在意你个人的成长,而是你是否拥有完成当前岗位的能力。
这很正常,企业不是慈善机构,平日里大部分业务需求就足够度过“饱和的一天”,在专岗专职的现在,想要跨端发展除了有足够强大的自制力“放下抖音去自学”之外,还需要现实中真实的业务平台去操练。
学会一个东西和实际应用一个东西是两回事,一个开源购物平台和一个经历过“双十一”的购物平台也绝对是两码事,所以“螺丝钉造航母”需要有真实的业务。
说了这么多,主要是想说明:现实中要找到一个平台自由发展并不容易,而一个领域的天花板是一个普通人的发展上限,当然,那些能突破天际的鬼才不在此列。
这里解释了那么多,并不是想说客户端开发一无是处,而是就哪个更有前途提出比较,然而现实中很多时候我们其实连天花板都没有摸到,所以与其担心哪个更好还不如多提高现在自己的台阶,等到天花板再苦恼山不够高。
当然,如果是还没选择的“白纸”,那或者可以考虑更有前景和竞争的领域。
另外一个衡量前景的标准更简单粗暴:去看大多数招聘岗位的数量和薪资范围,相信看完你可以更直观看到哪个更有前途。
在这我也分享一份自己收录整理的Android学习PDF+架构视频+面试文档+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这些都是我闲暇还会反复翻阅的精品资料。在脑图中,每个知识点专题都配有相对应的实战项目,可以有效的帮助大家掌握知识点。
总之也是在这里帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习
如果你有需要的话,可以点赞+评论+转发,关注我,然后私信我【进阶】我发给你