技术成长
这一讲想画两张图,来简单讲讲职场的技术沉淀曲线,以及一个人在这个过程中的心理图。成功人士走的大多数都是曲线,而我们习惯去直线的去看。
他们的痛苦挣扎被我们主观的忽略,只为了突出他们成功的难得以及他们的本事。
我们喜欢侥幸化的分析成功的故事,然后说服了自己,否定了自己可以成功,给自己的平凡找理由。而我这一讲想说的是,你只要有目标在前行,你就会迎接你的成功。
成功不是一定要丰功伟业,成功可以很简单。从简单的加班领到薪资,吃了一次海底捞,从简单的接活,赚了一个手机钱。我们总是把成功看的比较远,也只是给自己够不着的理由。
我想用这两张图,来反映一下真实的状态,一个技术人成长起来需要的时间投入,以及心理建设。
每个平凡的人都值得成功,当我们把时间拉长,就能看到,技术成长起来是经过了太多的波折,每个人都不是轻松赢得成功。
第一张图
以下是这一讲的第一张图:
这里我标记了 1,2,3,4,5,6. 正常情况我们刚进入职场,是 1,2,3的某个状态,在职场积累了几年后,会进入重叠区域。这里我按照自己的职场经验,将其按照三年一个阶段来分。
三个三年,九年,一般职场就进入到自己的天花板的状态,这时候还没有走到职场的巅峰(比如管理公司,创业,或者是合作),有了自己的人脉关系,以及生意网,能够从容的面对职场风险。
从上图我们能看到,前三年的技术积累,不管是平凡的2,还是进入职场冲劲十足的1,以及慢悠悠工作的3,会在某个点重合,重合后才是决定你后期职场的走向。
而往后走向是4,5,还是6,这个就是在重合点这个时间,你前三年的工作,到底给你沉淀了什么,什么是技,什么是术?想起之前做的 C trace32 分析,以及 MASM 汇编,反编译,perl 脚本, lua 脚本,bootloader 分析,ARM汇编,OBJDUMP工具。
这些都是工具,都属于术的范畴。我不知道大家怎么去看一个新的语言,对于我来讲,学习这些新的语言,都有一些标准的套路,看下大概写法,看看数据结构,看看实战项目,然后运用即可。
因为这些东西,都会变成以 ELF 可执行文件,或者是解析器的框架,在我这里所有的都归为 数据结构+算法。语言只是表征而已,不会触及到本质。
当你把这些东西理解透彻,从细枝末节进入到架构思维里面去,就发生了迁移能力。类比是我们常用的技巧,而要迁移过去,就是要去掉那些枝叶,而提携主干。
比如我从 C 语言项目,移植到 JAVA ,JAVA 移植到 js 。或者是 C 编译成 so 库,或者是 C使用 ARM GCC编译成嵌入式汇编,等等。一套源码,如果你不能把语言忽略掉,去理解它的设计模型,那么你会困在表象里面,技术做不到巅峰。
你有没有发现一点,那些技术牛人,吸收新的知识也非常快,他能够精准的用几个提问,就把你所做的东西,快速的梳理出来。因为世界整个逻辑,都是在 MVC 这个逻辑里面。
这个叫 输入,输出,控制。IOC,你现在想想,你所做的东西,都是由这几部分组成,而控制这里,是 数据结构和算法。
当你三年工作之后,能够脱离本身的技术语言,沉淀出来商城的设计框架,它的数据库以及并发访问。把这个流程熟悉之后,什么语言都是表象而已,它不是阻力,用什么表示不影响你总结出来的实现理念,设计流程。
我希望我们能够在重叠的地方,能够多思考,多输出,把这个基础拉长,沉淀出来。然后走向6的这个曲线。
在讲完这个之后,大家会出现一个问题,我又没这个本事,你说的这个对,但是我做不到。于是我画了如下的另一张图,来说这个疑问。
第二张图
在大学时候,想进入计算机行业,就是想赚钱。而我是一帆风顺的吗?也不是。
那个时候可以用走火入魔来描述,梦里能够想着问题,地址总线,中断,这些一个个谜团,搞得我一度怀疑自己可以不?
我学习技术的过程,可以说就是上面这个曲线,学习 C51 ,从先学习概念,感觉自己懂了(成长区),然后也可以做项目了,觉得沾沾自喜(稳定区),然后我翻到了操作系统,以及 UNIX 系统开发,这个直接摧毁了我的自信,进入了焦虑区,焦虑区持续一段时间,就开始进入下一个阶段,成长区,稳定区。
我觉得这个就是上面第一张图上面直线,或者曲线放大的细节化,我们都不是平坦的起飞,都是经历了不断地成长,坍塌,变成一个个核(可迁移的本领,比如理解操作系统,理解了数据结构)。
当你进入焦虑区的时候,其实你已经开始了第二次的觉醒,这个过程看似痛苦,其实走出来就是涅槃。
退缩只是让问题暂时藏了起来,而没有解决掉。**这个就如同我们解决问题,一直使用补丁的方式,最终的结果就是,后面的人看到代码,不知道为什么这么写,一堆已经注掉的注释,以及乱七八糟的人,补进来的变量。
这个在公司里面叫做技术负债,你越往后用,越没法修复,但崩掉的几率越大,最终没法修复,而把项目做死。
提前预知出现的问题,在使用中不断更新,迭代修正,同时迎难而上,系统化的解决掉问题,才是我们应该去做的。
总结
回到个人成长曲线,你会发觉一个问题,就是你看到别人的辉煌,其实也是由这些曲线叠加而成的,你需要的是设定自己的目标,知道自己也会迎来焦虑区,去克服它,解决它。
为什么伟人的故事都精彩纷呈,其实也是因为曲折而已。你只有最终走出困境,你之前的曲折,才有了承载的意义。
这一讲核心就是让大家了解,成长过程大都一样,只是我们以为的不对而已,当你知道牛人也是这样出来的,你就有了榜样和目标。
建立信念很重要,而这个我们每个人都可以做到的。希望看完这一讲,大家能够了解,一个人成长的曲线样子,然后再从自身出发,制定可执行的目标。
Android学习路线资源分享
要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
道理其实大家都知道,但是实施起来就遇到了问题,所以这里我推荐最简单的方式:
这里先给大家一完整的安卓晋升路线,话不多说,直接上干货:
Java语言进阶
- 泛型与注解在Retrofit中的应用
- 多线程与Java File IO操作应用实战
- Rxjava原理分析
- JVM与内存泄漏原理解析
- ClassLioader与反射在Hook中应用
- 动态代理机制在源码中的应用
高级UI与FrameWork
- UI绘制原理
- 动画原理
- 事件响应机制
- 屏幕适配
- FrameWork源码解析
- 相机适配
360° Android app全方位性能调优
- 从事件
- 从内存
- 卡顿调优
- APP保活
- 内存优化
- 高性能编程实战
- OOM原理解析
Android前沿技术
- 热修复/热更新
- 组件化/插件化
- RxJava深入研究
- 图片与网络架构
- Google I/O大会技术
- Kotlin项目实操
NDK 模块开发
- C/C++基础
- JINI编程基础
- 图像处理与热修复应用
- 音视频开发
- OpenCV人工智能
- OpenCL 图像绘制
微信小程序
- 小程序架构介绍
- UI界面开发
- 高级API实操
- 微信对接实战
- 任务清单项目
- 电影榜单项目
混合开发
- Dart语法
- Flutter线程运行模型
- Flutter与Native通信架构
- Flutter内存调优
- Flutter项目实战
最后,我再重复一次,如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
最后想要拿高薪实现技术提升薪水得到质的飞跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。(以下是一小部分,获取更多其他精讲进阶架构视频资料可以关注【我的主页】或者【简信我】获取免费领取方式)
当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。
以下是今天给大家分享的一些独家干货:
【Android开发核心知识点笔记】
【Android思维脑图(技能树)】
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
【Android高级架构视频学习资源】
Android精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!
【Android进阶学习视频】、【全套Android面试秘籍】关注我【主页简介】或者【简信我】查看免费领取方式!
最后送大家一句话,人生每个阶段都有每个阶段该干的事,你当下能做的就是踏踏实实做好现在的事,最好你能比你身边的人更努力些,不用太着急,你想要的,岁月都会给你!