想必许多人对资深工程师的作业和理解,太狭隘了。但以下也只是个人观点, 如果你有兴趣就继续看吧。
首先下一个定义,什么样的人可以算是资深工程师?如果拿国内互联网行业相对为通用的标准,我认为至少应该是百度T7,阿里P8这样的职级,可能是技术Leader,也可能是团队中最核心的技术骨干。团队对这样一位工程师的要求,肯定不只是精通技术和经验丰富这么简单。编码和解BUG当然是其中非常重要的部分,但除此之外我认为,其具备的技能至少应该要包括以下几点:
- **关于团队:**对内建设研发梯队,提升团队内聚力和执行力,注重个人的成长,快速提升团队的战斗力,成员的技术和业务能力;对外向部门,公司竞争更多的资源,使得项目和组内成员获得更好的成长和发展。
- **关于技术:**领导项目优化,架构变更,核心模块的谢盖,评估风险,带领团队完成技术上的攻坚,放眼业界,不断引入新技术,对标竞品,保持在技术上的领先,做出更优秀的产品。
一位资深的Android开发者已经是达到了高开及架构层面,所需要负责的工作及技能要求也会是一定高度的要求,下面说说Android架构师所需具备的技能体系及学习路线分享!
Android架构师主要需要做哪些工作呢?
- 负责公司智能硬件设备的基础软件平台的架构工作;
- 负责跨MTK、高通平台的Android BSP架构的设计;
- 负责业务端APP的架构设计、性能调优、疑难问题的分析和解决工作;
- 负责Android平台新技术的研究,构建高效率、高性能、可扩展的组件,完善开发框架。
技能要求:
- 深度理解Android平台架构、主要组成和工作模式;
- 有linux内核、framework和jni、虚拟机、安全逆向等底层技术经验;
- 深入理解设计模式,能够设计出高內聚,低耦合的系统框架,提升开发效率;
- 具有比较强的客户端系统架构设计能力,在通用性、跨平台和复用性方面有深刻的理解;
- 有大型软件架构设计和重构经验。
架构师要学习哪些知识呢?
希望以下的学习路线能对你有帮助
内部调优
- 高效文件IO与网络IO
- 微信全面调优
- 内存与网络
- 贴近实战之问题优化
- 编程优化
高级音视频
- C/C++基础
- 交叉编译
- NDK进阶面试
- 增量更新与Gif渲染
- H264视频编码
- MediaCodec
- 视频编辑之剪影实战
- FFmpeg万能播放器
- 直播推流
- 图形渲染与识别
- Webrtc音视频
架构师必备
- 架构筑基技能
- 手淘组架构设计
- 开源架构手写实现
- 一线大厂架构核心进阶
鸿蒙系统
- Ability组件
- Ability组件
- 分布式任务
- 事件总线
- 鸿蒙线程
- 鸿蒙UI自定义控件
- 鸿蒙实战之新闻客户端
Kotlin技术
项目开发必备底层知识
- Android虚拟机内存原理
- Android10.0虚拟机源码分析
- 高级并发原理
- 线程实战
- 编译时高阶技术
- JDK高级动态代理
- 高级数据结构与算法
Android Q FrameWork源码与UI新技术
- 自定义控件进阶
- UI绘制与新技术
- AndroidR新技术
- Android Q下的FrameWork源码(SDK 29)
- 深入虚拟机源码
- 微信核心技术掌握
Gradle
- Groovy语言学习
- Gradle Android插件配置
- Apk优化之图片压缩(编译器自动将图片转换webp)
- Gradle自动化加密
- 手写Gradle实现自动化打包
小程序
以上都是现在Android高级开发需掌握的必备技能,在上面几个技术点中有音视频和华为的鸿蒙技术开发到时现目前比较热门的技能,音视频开发现在是市场人才比较缺少,所以导致音视频开发岗位的薪资基本都是在25K起步。