程式設計師最大的底氣來自於自身的技術,不想被淘汰就一起來進階 Android吧!
文章中只是單純的分析個人對 Android 工程師成長的看法和認知。
1、背景 - 迷茫
工作 2-3 年之後,你會發現自己會迷茫,這種狀態就是好像現在的工作我好像都會做了,好像沒有意思了。這種迷茫源自你對現有的階段的認識不夠全面,我自認為我也在這個一階段,很多時候覺得 Android 就那麼回事。總是會有覺得 Android 窮途末路的意思。如果你真的對這個行業沒有了興致了的話,那確實不是我這麼一段話能夠改變你的想法的。但是我個人相信一句話:
如果你能當前的行業做的不錯,那麼你去到其他的行業也不會差。
我總是相信成功的人的特性總是有那麼一些相似。如果你能在這個行業能夠做的好好的,我是有理由相信你去到其他領域肯定也是 OK 的。
在我看來,2-3 年經驗的我們能夠應付一般的工作需求。也能夠比較快完成工作上的東西,此刻更是我們去搭建我們自己的個人知識體系的最好的年限了。
2、市場需求分析(個人分析)
從目前市場需求反饋來看:
-
Android 的人才需求確實在減少,而且人才需求的減少的速度確實是小於人才供給速度的,現在不管是高校還是線下培訓機構基本上不再輸出 Android 初級工程師,有一些個人會提供中高階進階培訓。無疑是把進入這個行業的人入口減少了很多。
-
Android 的發展越來越領域化和多元化。現在的 Android 的應用到很多不同領域,比如車聯網、機器人、人工智慧語音助手等。方向越來越細。就當前應用層都可以分為兩個大方向:大前端和多媒體。
-
現在市場對 Android 的人才需求也越來越高,不再是以前會四大元件、五大布局就可以做事的那種狀態。隨便翻翻招聘簡歷,都是需要設計模式、資料結構、網路程式設計、framework等要求。
-
肯定有更多我個人沒有了解的東西...
3.面對這樣的情況我們如何們面對?
貌似所有的人都在說今年的大環境不好,很多大公司在裁員。面對各種市場資訊和需求,做為大浪中的我們,如何面對當前的狀況。哈哈哈....我只是想說學,往死裡學,只要學不死就往死裡學。所以這裡我給大家分享一下我個人推薦的一些資料及學習資料(僅供參考)
1. 網路程式設計
網路程式設計其實對於我們應用端的工程師貌似用的不多,但是其實我覺得學習之後,你會對協議這個東西的概念以及相關協議的設計有一個新的認識。而且會給你思考 很多問題的方式提供一個新的角度。而且這種協議層次的東西,不會存在太快的技術更新的。
推薦書籍:
基礎-《網路是怎樣連線的》
進階《TCP/IP詳解》
2. 設計模式
設計模式的重要性我想大家應該都知道。目前應該是隻要是面嚮物件語言,都會有設計模式,不分語言的。這是一種程式設計的思維的高度。但是我之前聽了一個大牛說過,不要為了模式去程式設計,最好的狀態應該是程式設計的時候,自然而然的就直接是在運用設計模式, 關於設計模式網上的資料蠻多的,所以直接去找,這裡我推薦兩本比較好懂的一點書.
《大話設計模式》
《Head First設計模式》
《Android 原始碼設計模式解析與實戰》
3. 資料結構與演算法
關於資料結構,其實倒也沒有特別多推薦,瞭解的不是那麼多,但是我覺得如果是基礎入門的話可以考慮,本人都是在看這本書入門的。
《大話資料結構》
《演算法導論》 - 聽說這本書很厲害,但是沒有拜讀過。
4. Java 基礎
Java 基礎是我們做 Android 的命根子,哪怕你以後想做後端那也是必須要好好學的東西。這裡我覺得不需要說什麼了,有幾本書必須推薦的。
《Head First Java》 很基礎,比較詳細
《Java 程式設計思想》(Thinking in Java)超級詳細。IO、執行緒、網路程式設計等全部有而且很細,但是很厚
《Effective Java》 這是一本深入到 Java 細節講解的東西
5. JVM虛擬機器
虛擬機器的部分主要是作為個人的技術看法和深度去研究吧。但是也是推薦一本
《深入理解 Java 虛擬機器》
6. Android 進階
Android 這邊我就比較常規的推薦了。基礎類的兩本書本人都是有拜讀過的,真的很好。也許你也讀過,底層進階的確實還沒有來得及去看。
A. 基礎補充
《Andorid 進階之光》
《Andorid 開發藝術與探索》
B. 底層進階
《Andoird 進階解密》-針對高階 Android 程式設計師面試的知識點書,比較有深度了
《深入理解Android核心設計思想》 這是兩本很牛逼的書,暫時沒有時間和能力去拜讀。
除了以上的書籍針對技術進階之外,個人還推薦一些粗略讀過的書。
接下來來看看有一些進階學習的方向:
鑽研技術
首先來看看 Android 有哪些方向,列舉幾個常見的:
- 應用層開發,日常業務開發,主要還是原生開發,就業方向基本飽和,大部分只招高階工程師;
- 遊戲開發,相比應用開發更吃香,有 Unity-3D 等遊戲引擎;
- 跨平臺,比如 Flutter、RN,從成本上考慮,跨平臺是個不錯的選擇,我們 Android 有必要密切關注下;
- 安全開發,一些對安全性很高,比如銀行專案,熟悉 Https、支付密碼安全、應用加固等;
- SDK 開發,將應用裡的部分功能獨立了出來,封裝成 SDK 提供給合作伙伴使用;
- 音視訊開發,比如音視訊直播/點播功能,則需要了解音視訊編解碼的傳輸協議,編解碼方式等;
- 圖形開發,比如美圖、天天P圖,對圖形處理要求十分高;
Framework 開發,手機廠商定製手機為主,比如小米、魅族等; - 驅動開發,同上,更多是在和 Linux 打交道;
- 如果你對技術感興趣,想做到專家級別,可以在以上這些方面深究下去,總之,勞資有技術,不怕沒飯吃。
如果你不知道怎麼學習,我給大家提供一個方向,進行體系化的學習!
除了上面的學習路線,還給大家整理了一份Android進階學習資料,主要為安卓相關知識點及面試資料為主,在這個PDF中,通過詳解各大網際網路公司的 Android 常見面試題為主線,從面試的角度帶你介紹必備知識點,以及該知識點在專案中的實際應用。
幫你在現在的基礎上,重新梳理和建立 Android 開發的知識體系。無論是你短期內想提升 Android 內功實力,突破自己工作中的能力瓶頸,還是準備參加 Android 面試,都會在這個PDF中有所收穫。一些基礎不好的,這裡也有一份安卓基礎資料包,幫助鞏固基礎。
以下是這份PDF主要內容:
- Android 核心技術:介紹 Android 開發中常用的核心技術,比如自定義 View、Handler,以及一些開源框架的原理實現,來夯實你的底層能力。只有底層能力足夠出色,之後的進階之路才會更加輕鬆。
- 常見問題剖析:介紹一些專案中常見的疑難問題,使你能夠對現有專案做出合理的重構優化。
知識梳理完之後,就需要進行查漏補缺,所以針對這些知識點,我手頭上也準備了不少的電子書和筆記,這些筆記將各個知識點進行了完美的總結:
通過原始碼來系統性地學習
只要是程式設計師,不管是Java還是Android,如果不去閱讀原始碼,只看API文件,那就只是停留於皮毛,這對我們知識體系的建立和完備以及實戰技術的提升都是不利的。
真正最能鍛鍊能力的便是直接去閱讀原始碼,不僅限於閱讀各大系統原始碼,還包括各種優秀的開源庫。
閱讀前輩的一些技術筆記
刷題備戰,直通大廠
歷時半年,我們整理了這份市面上最全面的安卓面試題解析大全。
1.可以通過目錄索引直接翻看需要的知識點,查漏補缺。
2.五角星數表示面試問到的頻率,代表重要推薦指數
以上文章中的資料,均可以免費分享給大家來學習,無論你是零基礎還是工作多年,現在開始就不會晚。
以上內容均放在了開源專案:【github】 中已收錄,裡面包含不同方向的自學Android路線、面試題集合/面經、及系列技術文章等,資源持續更新中...
學習技術是一條慢長而艱苦的道路,不能靠一時激情,也不是熬幾天幾夜就能學好的,必須養成平時努力學習的習慣。所以:貴在堅持!
心裡話
隨著年齡的增長意味著我們的時間也越來越少了,所以我們自己心裡要明白自己該做什麼?
渾渾噩噩,最後自己只會被淘汰。
當然,我們程式設計師,最大的底氣就是技術!
所以,如果你只想在技術這條路上越走越遠,一定要進階,邁上一個高的臺階!
希望我們在開發的路上越走越遠,一起來進階吧。
偏執的我們可能不一定能夠總是被理解,但是我們總是能夠創造我們的價值。
相關文章
- 程式設計師高薪盛宴背後:未來有哪些程式設計師會被淘汰?程式設計師高薪
- IT行業高薪的背後:未來9成的程式設計師會被淘汰?行業高薪程式設計師
- 一個程式設計師的技術進階之路程式設計師
- 傳統的程式設計師將會被淘汰程式設計師
- 程式設計師技術進階手冊(一)程式設計師
- 野生程式設計師們長點心吧,致那些寫出來就會被開除的程式碼集錦程式設計師
- 程式設計師能被淘汰嗎? | Journal程式設計師
- 程式設計師快放棄 Android 9.0 吧,10.0 正在來的路上!程式設計師Android
- 前端程式設計師的趣事,一起來看看吧前端程式設計師
- 同學們,一起來視覺化程式設計吧視覺化程式設計
- 程式設計師的進階之路程式設計師
- 程式設計師的未來程式設計師
- 震驚!居然還有人不懂二叉樹!99%的程式設計師都會了,不會就點進來吧!二叉樹程式設計師
- 來自一個程式設計師的內心世界程式設計師
- 來自阿里的P7高階程式設計師教你如何成為一名合格的Java程式設計師阿里程式設計師Java
- 程式設計師不會SQL?骨灰級工程師:全等著被淘汰吧!這是必會技能!程式設計師SQL工程師
- 程式設計師生活之路--來自程式設計師爸爸的一封信程式設計師
- 我的書單 一個進階的Android程式設計師Android程式設計師
- 程式設計師迷茫的未來程式設計師
- 進階MAC大神,只差這一步之遙!一起來學吧!Mac
- 來自地獄的客戶:設計師和程式設計師的各種奇葩遭遇程式設計師
- 真的要做一輩子的程式設計師嗎?來自10年程式設計師的心聲程式設計師
- java程式設計師進階:Redis分散式技術問題集錦Java程式設計師Redis分散式
- 【同行說技術】Java程式設計師進階資料彙總(二)Java程式設計師
- 程式設計師的脾氣程式設計師
- 技術變化那麼快,程式設計師如何做到不被淘汰?程式設計師
- 一份來自28歲老程式設計師的自白程式設計師
- 我不想成為真正的程式設計師程式設計師
- 網際網路“寒冬”不想被辭退,Android程式設計師該如何應對?Android程式設計師
- 程式設計師的技術遺產程式設計師
- 自動化來勢洶洶,未來的程式設計師該何去何從?程式設計師
- 程式設計師週刊(第3期):識別未來新技術的趨勢程式設計師
- 新手程式設計師進技術團隊一定要做的7件事,趕快學起來!程式設計師
- 技術變化那麼快,Java程式設計師如何做到不被淘汰?Java程式設計師
- 程式設計師的春天來了?能抓住嗎?高階工程師速成指南!程式設計師工程師
- 來自Java程式設計師的Python新手入門小結Java程式設計師Python
- 驅動力來自哪裡——獻給迷茫的程式設計師程式設計師
- 聖誕節快樂:來自程式設計師們的問候程式設計師