Android開發初級中級高級資深及專家怎麼劃分?

作者:xiangzhihong

博客:https://segmentfault.com/a/1190000020196564?utm_source=tag-newest

移動研發在最近兩年可以說越來越趨於穩定,因爲越來越多人開始學習Android開發,造成市場參差不齊。正所謂入門容易成長很難,對未來比較迷茫,不知道自己技能該怎麼提升,並且對於初級中級高級需要怎麼進行成才,很多人都比較迷惑。


爲了方便大家成才,我把初級、中級、高級和資深四個常見的崗位需要掌握的一些知識進行如下整理。

初級

初級研發工程師的定義是掌握基礎的Android知識,能夠獨立完成一個功能,工作年限大概在1-2年,這個層級大部分人通過看一些資料書籍再經過項目練習很快可以達到。這個級別的人往往需要掌握如下一些技能:


掌握Android 四大組件知識,深入瞭解相關生命週期,對於Application、Fragment、Intent常見的開發知識也必須掌握。


掌握Android 基本佈局和控件的屬性和使用,常用佈局有LinearLayout、RelativeLayout、ConstraintLayout等,控件有TextView、ImageView、RecyclerView、ScrollView等。


對Android的資源訪問使用有基本瞭解,瞭解Android針對不同國家、語言、屏幕、API的適配原理。


掌握android系統服務和工具類的使用,對網絡訪問和數據庫操作有基本認知。


熟練掌握研發工具,如IDE、模擬器、網絡代理、日誌等。

中級

我對中級工程師的定義是能夠熟練完成功能研發外,還需要掌握常見開源庫的一些原理,並仿照開源庫去造輪子練習。這個階段的人大多工作3-5年,業務開發能力熟練,碰到任何一個問題都能夠得到解決,這個級別的人往往需要具備如下技能:


熟悉SOLID基礎設計原則,掌握23種設計模式。


對於研發語言特性java/kotlin有深入理解,如反射、動態代理、apt等。


對Android架構有基礎瞭解,對apk結構和打包原理有深入瞭解。


對於Android各個版本特性有基本瞭解,如MD設計、權限管理、doze模式等。


熟練掌握各種研發調試工具,如git、gradle、mat、layout inspector等。


掌握HandlerAsyncTask原理,熟悉多線程開發。


對繪頁面制原理有初步理解,能夠實現一個複雜自定義控件。


能夠熟練掌握開源庫的使用,如圖片庫(GlideFresco)、網絡庫(VolleyokhttpRetrofit)、工具(DaggerRxJavaEventBus)等,能夠對這些常用的庫進行二次封裝。


熟悉應用常見的優化方法,避免編寫內存泄漏的代碼。

高級

對於高級,就不僅限於功能和業務開發,還需要深入理解Android系統的運行原理,達到融會貫通,部分可夠作爲Android端架構師。這一階段的人大多工作5-8年,具備開源庫設計能力,同時對於Android系統的運行原理也比較瞭解。


掌握java高級特性,如JUC、線程池、NIOBIO等;掌握jvm虛擬機知識,如內存模型、GC原理、類加載機制、線程模型等。


對Android運行環境有深入理解,理解Android沙盒機制,掌握AIDL原理及Binder通信原理,瞭解app和activity啓動原理。


掌握熱修復原理,各大廠商方案的優缺點。


對於Android事件分發有深入理解,重點掌握觸摸事件機制。


深入理解Android繪製原理,理解VSYNC和surface機制和窗口原理。


深入理解Android動畫原理,包括補間動畫和屬性動畫。


對於Android安全機制有基本認知,理解Android安全原理。


深入理解端上設計範式思想,如mvcmvpmvvmclean-arch等。


理解架構演進,有良好的分層和拆分思路,掌握模塊化、插件化、動態部署等。


對新技術敏感(,理解掌握下一代架構dynamic feature等。


如果達到這一水平,恭喜你,你已經超過70%左右的人,但是如果要再進一步,比如架構中/開發專家,那麼除了理解Android的一些核心原理外,還需要具有架構設計能力,能夠從更高層面看待問題,理解整個系統的設計。

專家

作爲開發專家,那麼除了理解Android的一些核心原理外,還需要具有架構設計能力,能夠從更高層面看待問題,理解整個系統的設計。


理解微服務、SOA思想,對於後端開發有一定涉獵。


瞭解前端研發工具和思想,知道vue react等研發框架。
深入理解跨端技術,如phonegap、weex/RN flutter、小程序快應用等。

親,點這漲工資 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章