昨天在知乎發了這篇文章之後;十投九掛,現在Android面試太難了…
後臺私信收到了一個小夥伴的經歷,很狗血;
“在現在這個公司都工作了3年了,9K薪資,一毛錢工資都沒有漲過…”“最奇葩噁心的是,老闆嫌我工資高,把我優化了! 然後因為疫情,現在都還沒有找到合適的工作,想起每個月的房貸就腦殼痛,凌晨都睡不著”
我聽了後倒也算是長見識了。開公司的人多了後確實什麼奇葩都有。裁員還能接受,但是非得找這種奇葩的理由。工作3年拿9K的工資還算高麼?
今年年初因為疫情的影響,明顯感覺到整個行業都焦慮得多了。比如平時一些讀者朋友私信我吐槽;
“剛找到一個工作,這工資還沒我現在的高,但是個創業公司,跟我說做起來還能分到期權。我挺心動的就是怕被畫餅...”
“懷疑自己幹這個技術沒有出路啊,我該怎麼搞,換行業嗎,還是去找副業好點?”
“2019年技術方面毫無提升,我今年想強迫自己體系化學習提升一下,能幫忙給點指導和建議不?(瘋狂暗示;給我發了一個小紅包嘿嘿)?”
至少半數Android開發的朋友都對自己的職業和未來感覺迷茫。
說白了,就是技術水平和發展方向的問題。實力不夠強,也沒啥方向和規劃,不迷茫才怪。
道理很簡單,但是實行起來困難卻很大。如果想逼著自己去讀源碼,學習一些主流的技術。但是受到小公司的技術棧和視野格局的束縛,根本不知道應該學什麼!或者不知道學了有啥用。
更多情況是這樣子;CV就完事了,為什麼要花那麼多時間精力去讀源碼弄懂原理?組件化開發,NDK開發,插件化等,我們公司又用不到,學了也用不上
站在第三方視角,你是不是看明白了為什麼大多數Android開發只能待在小公司上不去了呢?
Android開發者該如何提升自己?
說說我的兩點建議:
1、橫向發展:(適合有自己專精技術的人)
在自己擅長領域深入鑽研的同時,會Hybrid開發(Flutter,RN,H5)之外,會web開發、微信小程序等,再過5年你也完全不用擔心找工作。但是,這確實比較難,全棧容易發展成全菜,就是啥都知道,啥都不精!
2、縱向發展:(適合大多數人)
如果做應用開發,就往應用架構方向發展;如果做系統層開發,就鑽研底層驅動。
可以從以下這些方面進行學習:
移動架構:
架構展示層:MVC、MVP、MVVM、Android Architecture Components;
架構層:模塊化->組件化->插件化->沙盒/雙開技術;
基礎進階:
比如高級自定義View、Android Framework層原理, App 管理機制等等;
JNI 和 NDK 開發也是比較常見,5G來了,招聘單位都在給自己公司規劃小視頻功能,然而我們卻連NDK都不懂;
學習開發語言:
比如Kotlin,做底層C/C++是必不可少的,還有一個最容易忽略的 Java語言本身的高級面向對象思想;
源碼:
看懂並且熟悉源碼,熟悉其實現原理,爭取做到能自己二次封裝三方庫。
學習方向很容易規劃,但是如果只通過碎片化的學習,對自己的提升是很慢的。
Android進階需要學習哪些技術?
我搜集整理過這幾年阿里,以及騰訊,字節跳動,華為,小米等公司的面試題,把面試的要求和技術點梳理成一份大而全的“ Android架構師”面試 Xmind(實際上比預期多花了不少精力),包含知識脈絡 + 分支細節。
Java語言與原理;
高級UI;
性能調優;
NDK開發;
前沿技術;
從我搜集整理中瞭解的信息,這些技術熟練掌握的開發者,國內任何一個大城市到手薪資都在40W以上。
而對於在職阿里,騰訊這種巨頭公司,除了技術過關,還具備管理能力,並且職稱不低的(比如阿里P7),年薪更是在百萬以上!
網上學習 Android的資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那麼很難做到真正的技術提升。建議你先制定學習計劃,根據學習計劃把知識點關聯起來,形成一個系統化的知識體系。
我在搭建這些技術框架的時候,還整理了系統的高級進階教程,會比自己碎片化學習效果強太多;
高級UI整理;
NDK開發整理;
進階教程免費分享;
轉發+關注,然後私信我關鍵詞【視頻教程】,前往免費領取吧
過濾掉伸手黨,需要轉發+關注才會分享,謝謝支持!
搭建知識框架很重要
我們在學技術的時候,如果沒有注重搭建知識框架的話,學到後期的話你就會遇到一個問題,就是會感覺到自己之前學習的知識很亂,不成系統,再加上行業技術更新很快,越往後自己學習的知識會越來越多,而之前的學習又是零散的自己沒有整理的,你就會感覺自己所掌握的這些知識是散亂的。
就好像很多點,線可能已經連接成了,但是就是組不成一個面。當我們做一個大一點的項目,需要熟練用到很多相關技術面,甚至會用到組件化技術。如果你長期只使用一些常用的技術點,那麼你可能還有很長一段時間要待在小公司搬運代碼了。
怎麼樣搭建知識框架呢?
這裡分享的方式是看視頻教程來搭建知識框架,很多技術大佬總結出來的非常好的方式。
這是個通用的方式,可能更加適合那些技術處於初級到中高級階段的朋友,當然,這裡我說一點,我發現在很多看視頻學習的朋友經常會犯這樣的一個錯誤,就是對視頻教程的慾望很強導致的松鼠病 ,什麼意思呢?就是很多朋友到處找視頻教程,然後各種囤積,頂多是這個看看,那個看看,感覺這個也好那個也好,於是這個也想看,那個也想看,導致的最終結果就是,視頻教程倒是收集了不少,可是沒有一個真正的看完過,你說,你是不是就是這樣的?
其實這就是學習技術的一大禁忌,它會嚴重的欺騙你,讓你覺得自己學的很多,實則不僅學的很少,而且還拖慢了你的提升的進度!我告訴你啊,關於視頻教程,找一套差不多的就行,就這市面上流傳的一些培訓班的視頻教程,其實都大差不差,只要不是年久失修的那種都行,要知道這就是培訓班的啊,所以用來搭建知識框架很合適,找一套就行了,多了沒任何好處,現在聽我的,看看你收藏的資料裡面是不是有好幾套同類型的視頻教程,聽我的,留一套,其他的都刪除吧!
記住,只留一套用來搭建知識框架,只留一套,一套,就一套(如果你沒有的話,就用我上面分享你的那一套很不錯)
然後你就靠這套視頻教程來搭建知識框架,那麼有了這麼一套視頻教程之後,又該如何去做呢?
這個你要知道,一般這些視頻教程都是按照知識點的從前到後,從淺到深的按階段講解的,所以你完全可以按照這個視頻教程裡講解的順序去搭建這個知識框架,在搭建知識框架這塊,我看到很多人使用思維導圖來搭建,我上面也是這種方式,把各個知識點都整理到思維導圖上。
找到配套的學習教程,把每個技術點都填上,效率就會特別高。這樣你的知識框架才算真正的搭建完成!至此,你向高級工程師邁出了最重要的一步。
最後
回到開頭的事情;“三十年河東,三十年河西。等我技術能力上去了,那個傻x老闆加薪我也不會回去了!”
“那個時候,你也看不上那麼小的公司了吧?”
閱讀更多 架構師的搖籃 的文章