其实,在很多小伙伴的想法中,是希望通过跳槽实现薪酬涨幅,可是跳槽不是冲动后决定,应该谨慎啊~
01
我的学弟,最近向我吐槽,2020 年上半年入职一家公司,当时是高薪挖走的他,所谓钱到位,工作也是充满干劲,不到一年的时间,参与了不少项目。
可是疲于应对工作,填了不少的技术“坑”,根本没时间去提升。
导致后期在完成公司给的工作时比较吃力,耽误项目的进程,竟被劝退了!
离职的时候约我一起撸串,颇有感慨地跟我说,还是要从坑里边爬出来不断学习的,之前虽然一直忙着填坑没闲着,但领导觉得你能力不行只会填坑,现在被劝退,下一步该怎么走都不知道。
我们总是寄希望于跳槽实现涨薪,可是也要不断地更新自己的核心竞争力,不然,被公司压榨完最后的价值,面临的则是被“淘汰”的风险!
02
因为常年混迹于 IT 圈,遇到很多程序员朋友,其中一位是一家互联网公司的程序员,做客户端4 年了,每年加薪也就 500 块钱,一次偶然的机会看到了新入职的同事的工资单,发现同事的工作居然比他高了 75%,
当下他就很不能接受,干的活一样,凭什么薪资待遇比他高那么多,于是心决定跳槽。
可是在重新求职的过程中,阿里的一场面试给了他重重一击……
“一面的时候就被面试官问的哑口无言,发现我所掌握的技术知识和能力只不过是Android领域里的冰山一角,自己有太多需要学习的专业知识和提升的能力。”
他告诉我,在走出阿里园区的时候,暗暗下定决心要系统地学习,来应对面试以及未来的岗位要求。
03
在互联网行业,大家逐渐都会有这种共识,要想工资涨得快,还是得跳槽……
公司的老员工想要涨工资真的很难,而被新人倒挂薪资更是常事……
那么怎么才能跳得好,薪资满意呢?我的几点建议:
- 多看看机会。
- 跳槽不是瞎跳的,尤其是不建议看在高薪的诱惑上跨行业跨方向的跳槽。
- 提升自身核心竞争力。
那说到核心竞争力,怎么才能提高呢?
成年人想要改变生活、逆转状态时,会不约而同做一件事,那就是系统学习。
04
做为一名Android开发者,接下来我想分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名Android高级开发者需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到黑的朋友!
一、架构师筑基必备技能
安卓手机的开发语言是Java(Kotlin也是对java的封装),Android Framework 也是默认使用Java 语言,熟练掌握Java 语言是Android 开发者的必备技能。
本篇包含知识点:
1.深入 Java 泛型
2.注解深入浅出
3.并发编程
4.数据传输与序列化
5.Java 虚拟机原理
6.反射与类加载
7.高效 IO
二、高级UI
UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。
不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!
三、Framework精编内核解析
众所周知,Android是一个基于Linux实现的操作系统。但对于Linux内核来说,Android也仅仅只是一个运行在内核之上的应用程序,与其他运行在内核之上的应用程序没有任何区别。
所以Android也需要运行环境,需要Linux内核在启动完成后加载Android Framework运行所需要的资源。当Framework完成初始化后才能继续启动相应的APK应用程序。
主要内容包含:
- 深入解析Binder
- 深入解析Handler
- Dalvik VM 进程系统
- 深入解析 WMS
- PackagerManagerService
四、360°全方面性能调优
在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。
另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。
主要内容:
- 1.设计思想与代码质量优化
- 2.程序性能优化
启动速度与执行效率优化
布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK大小优化 - 3.开发效率优化
分布式版本控制系统Git
自动化构建系统Gradle - 4.项目实战
启动速度
流畅度
抖音在APK包大小资源优化的实践
优酷响应式布局技术全解析
网络优化
手机淘宝双十一性能优化项目揭秘
高德APP全链路源码依赖分析
彻底干掉OOM的实战经验分享
微信Android终端内存优化实践
五、Android第三方框架
随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,还有应用之间的互相调用等等问题,插件化技术应用而生。
当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
本篇内容要点(1042页)
- 热修复设计
- 插件化
- 组件化框架设计
- 图片加载框架
- 网络请求框架
- RXJava 响应式编程框架设计
- IOC 架构设计
- Android架构组件Jetpack
六、NDK模块开发
NDK是原生开发工具包,这套工具允许Android使用C/C++代码,并提供了众多的平台库。
主要内容包含:
- NDK 模块开发
- JNI 模块
- Native 开发工具
- Linux 编程
- 底层图片处理
- 音视频开发
- 机器学习
七、Flutter学习进阶
2019 年无疑是 Flutter 技术如火如荼发展的一年。
每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。
本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门
…
八、Android相关源码解读
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。