**Android框架体系架构(高级UI+FrameWork源码)**这块知识是现今使用者最多的,我们称之Android2013~2016年的技术,但是,即使是这样的技术,Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码 **熟悉而又陌生:**熟悉的是几乎天天在和它们打交道,天天在复制这些代码;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。
所以我们需要从新的角度去分析这些知识点,深入研究他们,要学习源码,模仿源码,然后再hook源码,这样才能说自己懂这块的知识。这些都是做Android开发,更是做高级工程师的基础。
正文
**那么程序员该如何度过中年危机呢?**下面就分享一下我总结的一些面对方法,希望对正在这个阶段的程序员朋友有些帮助。
1、专注本业,做深做强
程序员这个职业和律师、医生、运营等职业不同,它要求从业人员有更好的新技术学习能力,反而对于从业人员的经验要求不高。从程序语言来说,2000 年初 JAVA 才刚刚起来,不到 10 几年的时间已经代替 C++ 成为使用最多的技术语言。而 GO,Groovy,Python 等后起之秀也快速发展,大有赶超之势。这就要求这个行业的从业人员需要具备快速的技术学习能力。如果你是一个技术狂人,能够快速的学习新的技术语言,并对枯燥的 IT 技术甘之如饴,那么持续沿着技术这条路走下去也是一种选择。毕竟每一个行业,总需要能够钻研最底层技术的人。
因此首先要对自己的专注力、持续力、技术能力有一个非常客观的判断。
2、走架构 / 管理路线
这个路线某种程度上是程序员这个行当中吃“经验”饭的路线。架构 / 管理需要的不仅仅是了解技术,还要具备丰富的行业经验,良好的沟通能力,全面的管理手段。这些都可以在一个程序员日常的工作中进行积累,从而完成一名程序员的转型。
总的来说走这条路线某种程度上已经脱离了技术背景,更像是走企业管理路线了。但是这样的机会并不多,因此要好好珍惜!!
3、转行到关联行业
IT 开发和语言一样,只是一项工具。必须要和其它业务行业结合才能够产生价值。这就给了技术人员一个选择,可以结合自己之前服务的行业进行转型。
基于自己已有的优势,再学一门手艺,从而跨门槛的跳到一个重视经验的行业中。这简直就是当前互联网最喜欢的“降维打击”嘛。如果你足够努力,而且学习和沟通能力不错,这也是一条挺好的道路,机会多,空间大,值得推荐。
给中年程序员的话
无论如何选择,只要你始终保持开放的学习心态,不断积累知识和经验,构建个人的知识体系,磨练自己的思考能力,并且时常自省,中年对你来说完全不是危机,而是巅峰。希望每个中年程序员朋友都能渡过自己的中年危机!
最后笔者收集整理了一份Flutter高级入门进阶资料PDF
作者2013年从java开发,转做Android开发,在小厂待过,也去过华为,OPPO等大厂待过,18年四月份进了阿里一直到现在。
参与过不少面试,也当面试官 面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!
我整理了一份阿里P7级别的最系统的Android开发主流技术,特别适合有3-5年以上经验的小伙伴深入学习提升。
主要包括阿里,以及字节跳动,腾讯,华为,小米,等一线互联网公司主流架构技术。如果你想深入系统学习Android开发,成为一名合格的高级工程师,可以收藏一下这些Android进阶技术选型
我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。
Java语言与原理; 大厂,小厂。Android面试先看你熟不熟悉Java语言
高级UI与自定义view; 自定义view,Android开发的基本功。
性能调优; 数据结构算法,设计模式。都是这里面的关键基础和重点需要熟练的。
NDK开发; 未来的方向,高薪必会。
前沿技术; 组件化,热升级,热修复,框架设计
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
我在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多,GitHub可见;《Android架构视频+学习笔记》
当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。
不出半年,你就能看出变化!