出身最奇葩的程序员:360 行,行行转 IT,细节爆炸
没有办法从产出知道 Jelena Jensen 的技术水平如何,但是,据了解,Jelena Jensen 不仅精通 PHP、MySQL 等后端技术,而且个人网站的前端部分,也全部由自己一个人完成,这意味着,HTML、CSS、JavaScript 等前端技术,她也都掌握了。
人家不仅会,而且还会的很多,还挺强!
一个外行零基础入门都能做到这么好,“专业”的你还要靠这行技术吃饭,你又能做到什么程度呢?一起来看看吧。
(写给咱们 Android 的,非专业就撤了吧,下面不用看了)
初级
我对初级研发攻城狮的定义是掌握基础的 android 知识,能够独立完成一个功能。这个层级大部分人通过看一些资料书籍再经过项目练习很快可以达到。
需要的技能有:
1.掌握 android 四大组件知识,深入了解相关生命周期;对于 Application、Fragment、Intent 也必须掌握。
2.掌握 android 基本布局和控件的属性和使用,常用布局有 LinearLayout\RelativeLayout\ConstraintLayout 等,控件有
TextView\ImageView\RecyclerView\ScrollView 等。
3.对 android 的资源访问使用有基本了解,了解 android 针对不同国家、语言、屏幕、API 的适配原理。
4.掌握 android 系统服务和工具类的使用,对网络访问和数据库操作有基本认知。
5.熟练掌握研发工具,如 IDE、模拟器、网络代理、日志等。
####【不要告诉我,你连初级都达不到……下面要开始放大招了】
![](https://upload-images.jianshu.io/upload_images/14735202-4ef8ad1f9d75588c
.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
中级
而到达中级就需要付出一些努力了,需要了解更多知识,可以仿照开源库去造轮子练习。中级工程师要能够熟练完成功能研发。
需要的技能有:
1.熟悉 SOLID 基础设计原则,掌握 23 种设计模式。
2.对于研发语言特性 java/kotlin 有深入理解,如反射、动态代理、apt 等。
3.对 android 架构有基础了解,对 apk 结构和打包原理有深入了解。
4.对于 android 各个版本特性有基本了解,如 MD 设计、权限管理、doze 模式等。
5.熟练掌握各种研发调试工具,如 git、gradle、mat、layout inspector 等。6. 掌握 Handler\AsyncTask 原理,熟悉多线程开发。
6.对绘页面制原理有初步理解,能够实现一个复杂自定义控件。
7.能够熟练掌握开源库的使用,如图片库(Glide\Fresco)、网络库(Volley\okhttp\Retrofit)、工具(Dagger\RxJava\EventBus)等。
8.熟悉图片优化常用方法,避免编写内存泄漏的代码。
高级
如果到达中级,那么恭喜你已经可以应付大部分情况了。但要能更进一步,就需要深入理解 android 系统的运行原理,达到融会贯通,可以作为 android 端上的架构师。
1.掌握 java 高级特性,如 JUC、线程池、NIO\BIO 等;掌握 jvm 虚拟机知识,如内存模型、GC 原理、类加载机制、线程模型等。
2.对 android 运行环境有深入理解,理解 android 沙盒机制,掌握 AIDL 原理及 Binder 通信原理,了解 app 和 activity 启动原理。
3.掌握热修复原理,各大厂商方案的优缺点。
4.对于 android 事件分发有深入理解,重点掌握触摸事件机制。
5.深入理解 android 绘制原理,理解 VSYNC 和 surface 机制和窗口原理。
6.深入理解 android 动画原理,包括补间动画和属性动画。
7.对于 android 安全机制有基本认知,理解 android 安全原理。
8.深入理解端上设计范式思想,如 mvc\mvp\mvvm\clean-arch 等。
9.理解架构演进,有良好的分层和拆分思路,掌握模块化、插件化、动态部署等。
10.对新技术敏感,理解掌握下一代架构 dynamic feature 等。
至此,android 端研发你已经炉火纯青,能够面对各种情况,达到泰山崩于前而色不变的境界。如果还想继续前进,就需要突破技术栈,从更高架构层次考虑问题。
资深
而到了资深层次,技术栈已经不再是阻碍。能够从更高层面看待问题,理解整个系统的设计,作为系统架构师的角色存在。
1.理解微服务、SOA 思想,对于后端开发有一定涉猎。
2.了解前端研发工具和思想,知道 vue react 等研发框架。
3.深入理解跨端技术,如 phonegap、weex/RN flutter、小程序快应用等。
总结
年轻人,你的饭碗要被抢走啦!现在的局势已经不是以前会个四大组件就能端起饭碗愉快吃香喝辣的时代了。
醒醒吧,你的技术已经快要被淘汰了,5G 时代已经到来了,NDK 音视频开发这些热起来了,该学起来了。
当初,你凭借自己的努力,赶在时代的前沿进入了 IT 这个行业,现在,越来越多的新鲜血液进入了这个市场,你已经不再是紧俏货了。
评论