來源:北大青鳥總部 2019年04月23日 10:27
昨天,上家公司HR問我有沒有認識的Android工程師推薦一下,薪資待遇12-20k區(qū)間,聊完之后,我差點沖動去報個培訓班,重新開始進入這個行業(yè)。最后,我被現(xiàn)實拉回了現(xiàn)實。不過我了解了一下Android工程師的薪資待遇以及未來發(fā)展方向。今天,就分享給大家!
據(jù)了解:目前Android市場上初中級的工資6K到18K不等,高級大概在20K-35K,很多朋友初中級開發(fā)者卡在20K這個門檻始終邁不過去,想要學習又不知道該怎么著手,大多從做上層應用開始,到做 Framework 層就淺嘗輒止。
這里我找來一則高級Android開發(fā)的招聘要求:
(圖片來源:網(wǎng)絡)
這是小米在拉勾上的招聘要求,相當于p5到p6級別,除開學歷的要求外,我們可以看到它在Android基礎要求之外,把JNI/NDK/Framework,甚至JS、Server端開發(fā)也作為了提升點,是全棧方向的雛形。我覺得大家可以經(jīng)常在招聘網(wǎng)站里看看現(xiàn)在的企業(yè)需要什么技術,當然也不能把企業(yè)要求的都學了。我這里大致總結了一下,Android開發(fā)人員的發(fā)展方向:
第一,橫向提升。
基于全棧發(fā)展的趨勢,在自己擅長領域深入專研的同時橫向擴展,不要關起門來閉門造車。而這里說的橫向提升就是向全前端轉型,在除了要在APP會hybrid開發(fā)(web、native、前端交互、硬件交互)之外,還要會web開發(fā),微信小程序,H5。
比如服務端開發(fā),我們做Android開發(fā)很多時候,要依賴于服務端接口返回數(shù)據(jù),可以自己試著搭建一下,至少要對服務端的結構理論、服務與服務之間通信、聚合是什么樣的流程也是需要有所耳聞。
第二,縱向重塑。
一直以來,做Android開發(fā)有這么兩個說法,如果是做應用開發(fā),往應用架構方向發(fā)展比較合適,如果是做系統(tǒng)層開發(fā),往往底層驅動比較合適。這里我是比較贊同的,那具體應該學習什么呢?
1.移動架構:架構展示層: MVC、MVP、MVVM、Clean、Flux、Android Architecture Components;架構層:模塊化->組件化->插件化->沙盒/雙開技術,比如可以雙開微信,類似Docker, 每個頁面都是插件,類似Vue.js中每個頁面都是組件。
2.基礎進階:這個方向可能比較多,比如VIEW、Android動畫機制、四大組件工作原理、多媒體技術等等。我們平常在工作中碰到的View滑動沖突問題、其實通過掌握View工作機制和Android觸摸事件體系就能輕易解決掉。還有對于需要開發(fā)絢麗的動畫效果,那么對于視圖動畫和屬性動畫一些特性必須有一定的了解。Android 中的四大組件工作機制其實底層應用的是Binder機制,我們不妨從 AIDL 這個接口來了解 Binder。
JNI 和 NDK 開發(fā)也是比較常見,特別對于一些做 SDK 項目為主的,這一塊開發(fā)流程也是需要掌握,NDK開發(fā)(含JNI)也是用人單位區(qū)分應聘者的手段之一,企業(yè)不一定要用到,但是可以通過是否掌握NDK來篩選人才。
3.語言學習開發(fā)語言:這里我要糾正一下學習語言不是跨行業(yè),比如Kotlin可以說是Android世界的頭等公民了。再有時下比較火的Python和GO,另外做底層C/C++是必不可少的。
4.源碼:要求能看懂并且熟悉源碼(自己選幾個第三方庫的也可以),要做到熟悉源碼及其實現(xiàn)原理。并且要做到能自己二次封裝(或自己貢獻三方庫)三方庫。這樣一來,你就會在維護中慢慢成為這個技術塊的專家了。我覺得輸出倒逼輸入是一個不錯的學習方式。
其實學習的方向還有很多,這里就不給大家一一羅列了,因為不同行業(yè)不同項目需要學習進階的技能都不一樣。
以上,就是小編為大家整理的Android工程師未來發(fā)展方向以及薪資待遇,希望能夠幫助到大家。
版權說明:部分內容來源于網(wǎng)絡,如有侵權,請聯(lián)系小編刪除!