這三個終極問題是:
學什麼?2015年時還沒有flutter,RN我記得剛起。不知道在那個時候意氣風發的Android紅人們現在是不是會有點感觸了。過了4年了,現在該學什麼?Flutter?AI、區塊鏈?是為了興趣愛好而學,還是為了保家衛國光宗耀祖揚眉吐氣世界更美好而學?
怎麼學?這是在你剛千思萬考解決第一個問題的時候接下來的另一個大難題。是ALL IN新知識?還是新舊知識兩手都要抓?不論哪種選擇,你都很難和長江後浪比精力,比速度。對待新知識、新技術,長江後浪是光腳不怕穿鞋的,靠試錯來成長。
學到什麼程度為止?最後,你開始學了,也知道怎麼學了。然後呢?鑽研技術是無止境的,你要學到什麼程度為止?夠用就行嗎?夠用是在哪個範圍夠用?我自學完寫個demo叫夠用嗎?還是說學完後要給公司創造多少多少價值才行?我公眾號的首篇文章「深入理解的目標是什麼?」和這個問題有一點關聯。
很多時候,很多人並不會意識到學個知識還有什麼三個終極問題。比如,周圍人都學某某技術,所以我要學。或者,學某某技術有前途和錢途,那我也學。坦白來講,我很羨慕這些人。在和平、穩定的年代,隨大流是穩妥的選擇。我很後悔讀研的最後不該聽了中科院某老師的授課。2007年,他「深度思考」了中國經濟,得出了一個結論,說咱們的經濟列車高速開了這麼久了,肯定會下降的,然後房價會跌。所以,工作後的前3年我看著房價飛漲的時候依然堅信這個結論。幸好父母親果斷,舉債買房。當時我加班夜裡回來後聽說自己背負了100多萬的房貸還很不開心。沒想再過幾年我發現自己居然少背了幾百萬的房貸。
所以,要是你沒有意識到有這三個問題,你是幸福和幸運的——如果環境沒有發生變化,你也無須改變。
上面三個問題是我自己在學習問題上的反思——反思的潛意思是我也沒有答案。我覺得也很少有人能給出明確的、普適的答案。我有一種強烈的預感,在關於學習的這三個終極問題上,每個人一定都是在自己的無人區裡探索。
承認無人區的存在是有百利而無一害的。我以前每次換工作都要找機工的楊總編等朋友請教,但發現他們的意見總是不理想。終於有一天我明白了,原來我在自己的無人區中,裡邊只有我一個人。我的家人,朋友都不能真正理解我,他們解決不了我的困惑。 不過,當在無人區裡掙扎的我知道還有那麼多親人、朋友是支持我的,勇氣就會更足。堅信總會有一天,我會短暫得從無人區出來,然後再走入下一個更高級的,更有挑戰的無人區。
對了,去年我才發現溫伯格原來早在《技術領導之路》一書裡就曾提到過類似的情況,那一章的中文名叫「領導的成長」。
接下來,我要把這幾年從事Android開發相關工作中看到的東西結合自己的認識講一講。我覺得它們一定能幫助到在Android技術領域裡謀生的一些兄弟姐妹們。
關於Android學習方面的一些探討
根據我的經歷和認識,Android技術領域劃分按從下到上可分為三個大的層次:
Android底層開發。這個領域的開發工作主要集中在設備廠商(比如華米OV)、晶片廠商(華為高通)等。最近這兩年,伴隨IoT技術的發展,一些有能力的網際網路公司也需要這方面的人才。
Android系統層開發。這個領域的開發也是集中在設備廠商。但我最近發現頭條這樣的網際網路公司也大量招聘懂Android Framework的工程師。另外,新興的車聯網、車企也對這方面人才有大量需求。
Android應用層開發。這個就不用說了,競爭非常激烈,技術迭代的速度飛快。
接下來,我會從知識範圍和主要工作內容、學習路線以及需要注意培養的專業素養這三個方面來考察下上述三個Android技術領域。
Android底層開發
Android底層開發涉及到的知識範圍和主要工作內容如下: