十年Android开发职业生涯分享,希望年轻程序员能‘‘少走弯路‘‘

导读:本篇文章讲解 十年Android开发职业生涯分享,希望年轻程序员能‘‘少走弯路‘‘,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

作为一个开发了十年的老牌程序员,我在这十年间得到了项目经理、CTO、架构师在大公司的经历。但再想想,这十年我至少浪费了五年,走了很多弯路这五年时间足以让我成长为一名优秀的程序员不幸的是,像许多程序员一样,我不能 前五年找不到出路!
Android开发
这不仅是一个刚踏入职场的初级程序员,也是一个工作了三五年就开始迷茫的老程序员他们都必须面对和理解这个问题希望下面的经历对你有所帮助。

第一阶段1-2年

我认为1-2年是程序员的第一个阶段,菜鸟正式从理论走向企业发展。我们知道如何使用工具、如何控制项目版本、接触并能够使用架构设计等技术来完成项目等,积累了一些开发经验和对代码的深刻理解,是一个比较纯粹的Coder阶段。

第二阶段2-3年

3年又是区分程序员的第二个阶段。有些人在3年里,除了写工作代码,在空余时间基本不会研究别的东西,这些人永远就是个Curd,年纪大一些势必被更年轻的人给顶替;3年的Android程序员除了写代码还需要热衷于学习各种技术实现、不仅对项目运筹帷幄,还要能解决一切性能问题。只有深入学习UI优化、启动优化、卡顿优化,奔溃优化,安全性优化等,才能保持核心竞争力,拥有一份不错的薪资!

第三阶段3-5年

到了第三阶段3-5年的阶段,技术体系需要逐渐往大型层次进阶, 有效、高速的处理从很小到非常大的项目管理,随着我们的业务量越来越大和越高并发,单体的架构模式已经无法对应大规模的应用场景,利用分布式架构来冗余系统消除单点的故障,从而提高整个系统的可用性。同时分布式系统的模块重用度更高,速度更快,扩展性更高是大型的项目必不可少的环节。

当然,你也可以去Github创建一个属于你的开源项目,去打造自己的产品。技术学到这个阶段,很容易遇到瓶颈,往往到了一定程度之后,你再深造的成果真的会微乎其微,除非你专门从事学术研究。然而不幸的是,最成能 不要做这一步那个 这就是科学家的工作。这个时候提高影响力不仅仅是因为技术上容易遇到瓶颈,更多的是影响力可以给你创造更多的机会。

这些人在5年后必然具备在技术上独当一面的能力并且清楚自己未来的发展方向,从一个Curd逐步走向CTO或是架构师,成为项目组中不可或缺的人物。上面指的5年是程序员的平均年限,有些人做了6-7年还是一个写业务代码的Curd,所以更应该学习!

来看看网络上针对20K+的Android程序员招聘需求
Android程序员招聘需求

性能优化、Framework、音视频、车载开发等Android技术详细介绍

1、性能优化
不管是应付前端面试还是改进产品体验,性能优化都是躲不开的话题。

优化的目的是让用户有“快”的感受,那如何让用户感受到快呢?

加载速度真的很快,用户打开输入网址按下回车立即看到了页面

加载速度并没有变快,但用户感觉你的网站很快

Android的性能优化主要从以下几个方面进行优化:稳定(内存溢出、崩溃)流畅(卡顿)耗损(耗电、流量)安装包(APK瘦身)影响稳定性的原因有很多,比如内存使用不合理、代码异常场景没有得到很好的考虑、不合理的代码逻辑会影响应用程序的稳定性。两种最常见的情况是:崩溃和ANR,这两个错误会使程序无法使用。所以做好崩溃全局监控,同时处理闪回和放崩溃信息、收集并记录异常信息,以供后续分析;合理使用主线程处理业务,不要 不要在主线程中执行耗时的操作,以防止ANR程序无响应。
必须要明白的是,没有两个应用程序可以使用相同的优化方式,也没有完美的优化 Android 应用程序的参考路径。使用最佳实践并且坚持采用适当的方式处理性能优化。想要达到真正最高的性能优化,你作为一个 Android 开发人员,需要对 Android 虚拟机和底层操作系统有正确的理解。

以下五大知识体系是我从业多年总结出来的经验,都是当前最主流的技术。想要详细了解、深入学习的可以点击腾讯文档获取学习资料,分享一些资深架构师整理的Android基础必备、性能优化、Framework、音频等技术知识点(包含知识脉络 + 诸多细节)。

下图是我总结性能优化应该学习理解的几大知识体系:
性能优化
2、Android Framework
目前大公司的app开发都要基于模块化、层次化、组件化、控件化的思路来设计架构,而这一切的基础都建立在Android Framework系统框架底层原理实现之上,所以与它相关的知识都尤为重要,面试官会通过连环炮来试探你相关技能的边际所在。

很多面试者都对此感到绝望,从一名网友跟头部大厂技术总监的这段对话,可以看出他对FrameWork的满心疑惑:
在这里插入图片描述
这位总监最后给出的建议是好好读下FrameWork源码。因此对于大多数 Android 开发工程师来说,掌握Android Framework 一定是一个不光要熟练而且还要精通的技能。

下图是我总结出目前最应该学习的FrameWork知识点:

FrameWork
3、Android音视频

随着5G时代的开启,音视频的运用不再单一局限于泛娱乐平台,而是向多个领域延伸和完善,比如远程教学、在线教学、在线会议、远程互动、安防监控等,传统的图文媒体也开始向以音视频为主的新媒体转变,这些变化极大地改变了我们的生活。

如今,行业对于Android音视频开发人才越来越重视,一般的音视频业务开发月薪都能开到30k左右,如果你的算法背景较深,能负责引擎等的开发,那年薪平均都在百万级别。
在这里插入图片描述
现在认可音视频开发前景或对其比较感兴趣的人非常多,但音视频开发涉及的层面比较广,想要学好学深确实有一定难度。且目前网络上关于Android 音视频开发这块也没有比较系统的教程或者书籍,知识点比较琐碎片面,无法帮助大家构建一个完整的学习体系。

下图是我总结近几年目前音视频最主流的技术:
音视频
4、Android 车载

近几年,人工智能逐渐成为社会焦点,而AI对汽车行业等传统行业的冲击是最大的,从而引起了国内外汽车品牌、互联网行业等争先抢后研发人工智能汽车,这代表着一个前景广阔新产业的诞生。
新势力迅速扩张,传统车企积极转型,导致车载行业人才缺口逐渐凸显。

传统的Android市场早已过了红利期,市场饱和,前端技术冲击,加上今年互联网行业“开猿节流”,而且卷,今年的Android招聘Hr远远低于以往任何时期。

所以就出现了一个怪现象,相对于其他传统IT行业的热情,今年供需关系完全扭转,而车载行业成为这一“新工业革命”的导火索,热火朝天。

下图是我总结出车载开发需要学习的知识点:
车载开发

5.Flutter

Flutter 作为 Google 开源的新一代跨平台、高性能 UI 框架,旨在帮助开发者高效地构建出跨平台的、UI 与交互体验一致的精美应用,推出后一直倍受开发者的青睐。

当需要开发一个全新的应用时,我们可以很方便地从零开始,完全使用 Flutter 进行开发。但如果是针对一个现有的应用,需要引入 Flutter 技术,显然使用 Flutter 全部重写一遍是不现实的。幸运的是,Flutter 很好地支持了以独立页面、甚至是 UI 片段的方式集成到现有的应用中,即所谓的混合开发模式。

下图是我总结出flutter开发需要学习的知识点:
在这里插入图片描述

以上就是本篇文章的全部内容,重点分享了每个阶段重点需要掌握的技能,希望对大家有所启示。

如果觉得有用,谢谢点赞支持下~

想要拿到高薪职位,不学习是不可能的,有了规划路线,就有了一个学习方向。最后,送大家最新总结 Android进阶资料面试题 整理成文档(PDF版);
Android进阶资料
Android面试题
关注我转发文章后私信即可领取,转发+转发+转发后关注私信回复【架构资料】即可获取学习资料

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/118788.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!