知乎提问:最近看到一些技术博客,说所有公司都意识到了,小程序相比传统的安卓/IOS/Web三线作战的优势。真实情况也是如此吗?
这个“式微”的理解其实可以有很多种解读,这里最直接的是Android在企业内的重要性对比后端确实是“式微”了!
但是这个“式微”和小程序没有太大关系,因为做过微信小程序的知道,微信内的限制太多,所以作为引流和试水阶段是没问题,但是落地还是要回归到自己的平台。
我见过不少产品是通过小程序和小游戏去试错,最后数据客观了才落地到应用项目,这类产品一般会选择类似 Taro 的框架进行开发,最后可以快速从小程序再迁移到应用。
毕竟小程序并不是“真正的平台”,在别人的后花园怎么能安心遛狗?
2014 年开始的移动红利之后,客户端急缺的情况下,客户端开发经历了 2015 - 2016 年的野蛮成长,但是 2020 的今天整个移动端社区都趋向稳定,而且第三方支持丰富,开发一款应用的成本降低了,而在稳定下来后企业积累了无数的用户和数据,所以下半场的竞争者必然是后端和大数据的竞争,主动权再次回归后端的比拼。
介绍个简单的例子,比如极光 ,移动开发都知道它是做推送 SDK 起家,后续增加了如
分享
、统计
、IM
等 SDK 也是布局移动服务,但是 2019 开始极光开始主打推出的iAPP
、反欺诈
、iAduience
、iZone
、营销平台
等都是开始往数据服务上发力;另外和极光属于竞争对手的 MobTech 也是这样的套路。
因为开发一个普通应用的难度下降了,门槛降低和资本冷却以后,把握数据和业务逻辑的开发开始成为新的门槛和香饽饽,所以最直观的就是文章和技术分享的趋势变了。
一部分从 Java Web 到 Android 的开发人员又一次回归后端,同时培训机构的风头也变了:python、AI、区块链等等,要知道每年市面上新增的开发人员,有很大一部分来源于培训机构,这部分人变了也导致技术博客和公众号等的产出风向变了。
首先明确一个观点,那就是移动开发是必须有的,只要平台在原生开发就必须有。但是浑水摸鱼的日子没有以前那么好过了,因为小程序和各种跨平台开发让企业有了更多的选择。
所以如果你还想做界面开发,那么增强你的能力广度是必须的,比如:
uni-app
、taro
、chameleon
可以帮助上手。React-Native
来认识前端开发,学习 React
、CSS
、JavaScript
等相关能力,只要你会 RN
其实等同于你已经学会了小程序。Flutter
、 PWA
、WebAssembly
等新的技术迭代。当然,最后不要落下数据结构与算法、计算机原理等基础知识,这些才是程序员后期的竞争力,如果想要把握更多的当然你也可以学习后端开发相关的知识。
优秀的门槛一直在变高,岁月无情,那我们怎么应对?
1、尽量让自己拥有较长时间竞争力的技能和思想
现在很多年轻人热衷于学习新的工具,新的编程语言,学习在新的平台做系统,当然,这是有一定红利期的,但作为个人的竞争力,稍过几年,很可能就一文不值。
什么是竞争力,多理解系统底层的逻辑和思想,诸如内存分配的机制,多理解数据结构的原理和设计理念,这些也不能说永远都有竞争力,但如果理解到位,并且应用得当,至少可以保证二三十年自己的思想不会在业内落伍。
具有发现问题的敏锐度,掌握分析问题的方法和思路,也能让自己职场竞争力相对牢固一些。
知道如何有效的在复杂的系统中发现问题,定位问题,并针对性的给出解决问题的方向,这就是竞争力,这个竞争力,依然可以持续很多年。
2、即便力不从心,也要奋力向前
你说一代更比一代强,有的时候真的力不从心,但看你目标是什么,想独孤求败,一览众山小,可能越来越难。但毕竟!毕竟大部分人是懒惰,缺乏耐心的。想让自己超过大多数人,毕竟没那么难。
如果你否定天分的存在,只强调勤奋努力,那就是蠢。但如果你因此认为勤奋努力没有用,那就是又懒又蠢。
只要你肯进步,总会超越大量不进步的人。对于普通人来说,这就足够了。
3、提升视野,向上发展
很多人虽然经历了很多事,却依然没有见识,匮乏视野。
比如简单化,标签化的看待问题,老板当时成功是因为运气比较好。
比如从不关心产业和市场变化的情况,一直随波逐流。
比如在自己的工作职能之外,毫不关心合作伙伴,上下游,同行的生存和发展话题。
所以,当更有活力,更便宜的年轻人冲上来,他们的教育背景比你更好,他们的算法逻辑比你更清晰,你还剩下什么,信谣传谣的能力和素质?
还想安安静静当个螺丝钉?对不起,你生锈了。
总结一下,优秀的门槛越来越高,这是历史趋势,谁也挡不住。
但任何时代,大部分人总是会固步自封,随波逐流,随着岁数增长,你可能真的无法挡住优秀的年轻人超越你,但你只要肯进步,总会不断超越那些停步不前的大多数。
其实我更希望做无论是哪端的开发,都可以让自己的成长为工程师而不是单纯的 Api 码农,很多时候大家都在忧虑学多而不精,但是抚心自问学得少的自己,现在有“精”吗?
因为技术是具备可迁移性的,比如:学习 Dagger
和 Spring
的时候;学习 React Native
和 Flutter
的时候;学习 Kotlin
和 JavaScript
的时候。这样的选择可以让我们节约成本的过度。
在增加自己技术储备的同时,也开拓自己的眼界,我个人更希望自己的生涯是去 “精通” 开发,而不是定位于某种语言或框架。
所以我会保持去关注新的行业动态,了解一些新兴技术实现,即使只是知道它的名字和作用。危机感和兴趣让我有动力这么做,当然,在某个领域保持深度还是有必要的,毕竟吃饭的东西不能丢, 但是保持学习和好奇心,是让职业生涯更有生命力的保证:
同样地,每年我们都会看到,在一个新的技术发布后,曾经在某一领域具有权威的领导者失去他的领导地位,这正是因为日常工作占据了进行策略性思考的时间,从而让你没有时间去做一些更有价值的事。
程序员如何走上快速提升技术走上财富自由之路?
下面我提供一下我多年工作以来收集整理的学习路线,给大家做个参考:
学习一线大厂的各项技术:
大厂是我们的技术先驱,不仅仅是各种技术,还有很多令你大开眼界的使用方法,学习这些有利于自己竞争力的提高,深入理解后也可以提升你的学习效率。
现在竞争这么激烈,只有通过不断学习,提高自己,才能保持竞争力。
1.2020大厂面试高频知识点
2.Jetpack架构组件从入门到精通
3.Framework精编内核解析
主要内容包含:
4.Kotlin强化实战(附Demo)
5.Android设计思想解读开源框架
6.NDK模块开发
定期面试:
光学习了大厂的技术还不够,如何了解当下Android市场需要哪些技术呢?
定期的面试足以让你了解当下市场需要哪些技术,也更加容易确定自身的短板在哪,同时,也可以督促自己学习提升(小伙子,你了解的技术有点落伍了呀…)
万一拿到了高薪Offer,岂不是更赚?
多看大佬的学习笔记,学习大佬的设计思想:
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
在经历了前期的野蛮生长后,优秀的门槛会越来越高。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。