ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

“互联网寒冬”下的Android程序员要面对哪些压力?如何破局?

2021-12-30 18:31:07  阅读:168  来源: 互联网

标签:框架 程序员 开发 开发者 Android 优化 Flutter 破局


前言

最初所谓的互联网“寒冬”还要从 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

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

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

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

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

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

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

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

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

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

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

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

- 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、机器学习

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

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

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

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

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


**完整版资料已经整理成为PDF文档,感兴趣的朋友可以微信扫描下方CSDN官方认证二维码免费获取!

标签:框架,程序员,开发,开发者,Android,优化,Flutter,破局
来源: https://blog.csdn.net/m0_64365896/article/details/122243010

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有