“新常态”下的Android程序员要面对哪些压力?如何破局?

导语

最初所谓的互联网“寒冬”还要从 17 年开始说起。

17 年之前,互联网行业一片欣欣向荣,各种新的理念和玩法层出不穷。然而,如果你之前留意过业内新闻的话,一些融资新闻能让你瞠目结舌。一个 APP 再加 PPT 就可以融百万甚至千万。但我觉得那并非正常的状态,而 17 年之后,当互联网热度降下来之后才是比较正常的状态,我们也不妨称之为“新常态”。之所以叫做新的常态也意味着,我认为这个行业很难再回到当年的荣光。

如果从职业发展的角度来看,程序员这个职业存在一些缺点。

1.程序员更多地和代码打交道,综合能力得不到锻炼

眼下这个职业能否让我们一直做下去还存在许多不确定性。那么,假如某天我们无法继续通过代码谋生,你之前积累的工作经验可能对你接下来从事的工作帮助不大。针对这个问题,解决方法是,我们应该有意识地在工作中培养和锻炼自己的综合能力。所谓综合能力,比如管理能力、沟通能力、产品和市场分析以及人脉的积累等。

2.工作时间对程序员非常不友好,个人可支配时间被压缩

当然很多人可以说,都是为了生活,为了下一代。但是为了未来的生活而放弃了眼下的生活,结果是生活一直都过不好。每一代都为了下一代,结果是每一代人都过不好。我之前看过弗兰克尔的《追寻生命的意义》,其中提到了“意义疗法”。所谓“意义疗法”,即从最根本的生命的意义来解决心理问题。生活中百分之九十的问题追根到底都是“人为什么活着”。我们是应该考虑下自己到底想要什么,自己该怎么度过这一生,而不是盲目从众选择一个行业然后被迫谋生。

3.技术变化快,技术整体趋于简单化

虽说技术变化快,但是掌握了基本的计算机知识理论和熟悉一门语言之后,把之前的经验套到新的理论和框架上并不难。对于技术简单化,也是开源社区的贡献,新的工具和框架层出不穷,这使得我们开发的难度大大降低。这可能会带来两个后果:1).技术门槛的降低也意味着入行门槛的降低,你的护城河在降低。做技术成了套框架,那么你的技术优势体现在什么地方?2).技术门槛的降低意味着开发难度的降低,维护一个项目需要的人数减少,间接导致行业职位饱和。现在脉脉上面出现一股“客户端劝退”潮,而客户端的现在就是前后端的未来。

4.35 岁职业危机,年轻人更吃香

你无法强迫企业让你一直工作下去,毕竟企业也要生存,本质上这是市场上岗位供求的问题。其次,现在国内的互联网行业仍然处于比较“低级”的阶段——属于劳动密集型工作,对技术的要求并不高。假如我是老板,那么如果开启新项目,我倾向于选择 3-5 年的员工。因为他们能够独立解决大部分问题,并且相对于更有经验的员工薪资更低,可以降低试错成本;只有当产品达到一定规模的时候,才会考虑引进更有经验的员工做进一步优化。老员工去处之一就是做专业领域的专家;其次,即所谓的走管理路线。但是,两者的比例都不会高。我不否认很多人 40+ 依然可以留在这个行业,只是,考虑到这几年大量的毕业生涌入这个行业,如果按照当前的这种新老比例,势必会有部分人被迫离开这个行业。

在某种程度上,现在已经 35 岁的人是幸运的,他们赶上了互联网的高光时在这里插入图片描述
刻,并且积累了一定的财富,等到我们 35 岁的时候可能会面对更大的竞争压力。而多出来的那部分程序员将何去何从,会不会造成社会问题,我们不得而知。我所知道的就是我们应该立足于现在提前思考将来的应对方案。毕竟有句话说“人无远虑,必有近忧”。

而作为一名Android程序员,如何破局!构建属于自己的一套架构知识体系就显得尤为重要了!

一线互联网大厂Android架构进阶学习路线

  • 架构师筑基语言基础

目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。

知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mgkDIODw-1614134009264)(https://upload-images.jianshu.io/upload_images/24944278-e2d2cc25cc961497.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

  • 设计思想解读开源框架

随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。

所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。

知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8P4Vo2rQ-1614134009267)(https://upload-images.jianshu.io/upload_images/24944278-325d9bd95a2a916a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

  • 360°全方位性能调优

在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。

另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。

知识要点:
1、设计思想与代码质量优化
2、程序性能优化
启动速度与执行效率优化
布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK大小优化

3、开发效率优化
分布式版本控制系统Git
自动化构建系统Gradle

4、项目实战
启动速度
流畅度
抖音在APK包大小资源优化的实践
优酷响应式布局技术全解析
网络优化
手机淘宝双十一性能优化项目揭秘
高德APP全链路源码依赖分析
彻底干掉OOM的实战经验分享
微信Android终端内存优化实践

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Akq5ae6-1614134009268)(https://upload-images.jianshu.io/upload_images/24944278-65f5ea213c718066.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

  • Android框架体系架构

Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。

Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。

知识要点:
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析**

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4YCLKlnU-1614134009270)(https://upload-images.jianshu.io/upload_images/24944278-4c0fd90d2b23f102.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

  • NDK模块开发(音视频开发系列)

NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。

在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。

知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2zZFPytD-1614134009271)(https://upload-images.jianshu.io/upload_images/24944278-f6c5bd19cf3500e7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

  • Flutter学习进阶

2020 年无疑是 Flutter 技术如火如荼发展的一年。现在这门技术也依然非常有价值。

每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门**
……

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TyzvjueL-1614134009271)(https://upload-images.jianshu.io/upload_images/24944278-0942b0199edd8560.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

  • 微信小程序开发

微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。

本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nHUUs6il-1614134009272)(https://upload-images.jianshu.io/upload_images/24944278-ec93e7811b50132d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

完整版资料已经整理成为PDF文档,感兴趣的朋友可以点击此处,快速获取!希望能帮助到大家!

猜你喜欢

转载自blog.csdn.net/weixin_43901866/article/details/114012611