如何進階一名有競爭力的程式設計師?

codeteenager發表於2019-02-23

前言

這段時間,又網際網路寒冬了,你看訊息滿天飛。一瞬間,裁員的,闢謠的,很是熱鬧。這搞得我們程式設計師很難受,本來壓力就大,還動不動有人在你耳邊煽風點火製造恐慌。我想說:難道就不能消停消停嗎?我還清楚地記得2017年的網際網路寒冬,這2018的寒冬又來了。那麼作為Android程式設計師如何過冬,如何進階一名有競爭力的程式設計師呢?

人員永遠稀缺,寒冬是相對的

這個冬天我們經常看到各個公司的裁員和優化的一種場景,可以把它定義為人才永遠稀缺,而寒冬是相對的,這句話的可以理解為公司因為經濟可能今年持續下行的一些情況,所以不論各行各業,都受到了不小的衝擊。但是對於我們來說不斷的去充電、去學習,去逆風等待時機去盤旋就可以了。當出現寒冬的時候,我們可能會面臨新的機遇和挑戰,大家可能都會有一些焦慮,這個是行業的一種現狀,但是因為有機遇,所以對大部分人來說的話是一個比較好的機會。

如何在市場飽和中脫穎而出?

對於同一個崗位,可能有很多人在競爭,那麼對於面試或者候選,面試官從哪些方面來判斷你是不是適合某個崗位呢?所以我們要有與別人與眾不同的地方,主要體現在以下四點。

  1. 練劍、沉澱 這個需要平時去多練,慢慢沉澱成自己的知識儲備,在必要的時候拿出來會讓面試官眼前一亮,但是不能僅僅侷限於說、會用,要更清楚裡面的具體細節,目前市場對這個的要求在不斷的變高。
  2. 提高自己的一些影響力 對於那些影響力有一定相關積累的人,他面試的時候會有所加分的,因為那些影響力是有一些沉澱和積累的,是大家有目共睹的。而提高自己的一些影響力的方法就是寫書、寫文章。
  3. 刷大公司背景 在競爭同一個崗位的時候,你要在眾多面試者中脫穎而出,最好要有大公司的背景,或者刷大公司的背景,這是公司對大公司人的能力的一種認可。當然,大公司也有混吃、混日子的,但是總體來說他們認可大廠出來的人。
  4. 面試前準備、刷題、複習和總結 面試前需要多去準備,對於大廠來說,資料結構和演算法比較重要,需要去多刷題,然後複習,總結一下,至少需要半個月的準備期。

如何建立領域內深挖能力?

領域內深挖能力主要是對知識點深度上所瞭解的一些東西,如果你瞭解的細節比別人多一點,那別人對你的評價和看法就會不一樣的。主要是以下五個方面的特點:

  1. 讀相關領域的原始碼、框架 我們從事一線工作的話,肯定要讀相關領域的原始碼,並瞭解裡面相關的一些內容。
  2. 總結產出文件 讀完原始碼後,自己對體會一下,理清楚裡面的邏輯和流程,然後產出一些文件。如果公司不用其他公司框架的話,要你自己寫一個,肯定要知道如何去寫,要有思路。
  3. 寫Demo求證 當我們遇到一些不太明白的地方或者看不懂的程式碼,這時候要去寫Demo,驗證一下最終的結果。
  4. 主動去學習感興趣的技術 對於自己感興趣的技術,一般都是自己主動去學習的,不需要別人逼著你來學。當你主動學習的時候,你的主觀能動性會強一些,你對某個東西不瞭解的情況下,你就會越想深入探究它,從而深入學習。
  5. 要多問為什麼? 要學會多問為什麼,例如要問自己框架為何要這樣去設計,為何要這麼寫,為什麼中間要有這樣一個流程,只有當你問為什麼的時候,你才會去找答案,才會更深入瞭解這個知識點。這樣的話,當你面試的時候,面試官問你為什麼這樣去設計,你就能夠對答如流了。

Android市場行情如何?

  1. 大有可為 首先,移動裝置的市場佔有量特別多,人工智慧或者其他方面的新技術仍然處在一個萌芽期階段,要落實的話,還需要很多的東西很多的過程,所以雖然說市場上移動飽和了,但是還是有很多東西可以做的。
  2. 高階、資深、專家崗位多 Android市場飽和了,對於高階、資深、專家級別的工程師崗位很多,而初中級的崗位會顯得非常少。因為整個行業都在往前推進,過去工作一兩年的人,到現在已經工作四五年了,起碼也是一個高階工程師了。
  3. 15-30k不等,30k以上崗位較多 薪水的話一般都是15-30k之間的樣子,因為資深和專家的崗位較多的緣故,所以30k以上的崗位比較多。
  4. 過去進大廠門檻高,現在大廠太多,放水厲害,稍微努力就可以進大廠 現在大廠的門檻沒有過去的高了,一般技術面三到四輪就可以了,不排除微信這樣的核心的重點部門,一般要面7、8輪,因為我們技術也在不斷的提升,大廠也要招很多人去幹活,做一些產品的迭代。那些資深和專家可能關注的框架和效能會多一點。
  5. 我們應該關注精益求精和新技術 對我們來說,我們要對於技術精益求精,而且要時常關注一些新的技術,因為一個新的技術的出現,一定是有它的一些歷史原因的,它可能是解決了過去的一些沒法解決的痛點問題,但是可能它不夠完善,也不夠成熟,然而我們還是要時刻保持關注。

Android開發者進階哪些方向?

  1. 應用層開發,不限於各種產品,主要還是Android或iOS原生開發,主要是各種效能優化。
  2. 嵌入式開發,不限於各種開發板,物聯網,智慧家居。
  3. 安全開發,不限於各種反逆向,反彙編,尋找安全漏洞。
  4. 音視訊開發,不限於直播、點播、音視訊通話、音視訊會議、短視訊等。
  5. 外掛化、元件化、熱修復開發,不限於自研和使用開源框架整合開發。
  6. 系統開發(Android),不限於Rom維護和Framework層定製需求
  7. 圖形影象開發,不限於OpenGL ES,EGL,GLSurfaceView,濾鏡,美顏
  8. 大前端開發,Flutter,RN,Weex,Cordova,小程式,JS

如何學習Android音視訊開發

學習清單

  • 書:《Android音視訊開發》、《新一代視訊壓縮編碼標準--h.264/avc(第二版)畢厚傑》、《H.265/HEVC--視訊編碼新標準及其擴充套件》、《C++ Primer》
  • 部落格:github.com/hejunlin201…
  • 知識儲備:C/C++(必須),Java,Objective-c
  • 不要什麼都搞,選一個方向
    • 直播(虎牙、映客、陌陌)
    • 短視訊(抖音、快手)
    • 音視訊通話(webrtc)
    • Android多媒體框架(rom)
    • 編解碼標準(H.265/H.266)

如何未雨綢繆中年危機?

技術人員職業生涯週期

  • 沉澱積累期:畢業-工作前5年,我們需要去積累、儲存知識,包括深度和廣度上都要滯留沉澱。
  • 嶄露頭角期:5-8年,獨擋一面去做一些相關的事情或獨立負責一些模組、工作。
  • 如日中天期:8-13年,對自己有一個清楚的認識,包括對職場有一些理解和看法,你覺得你這輩子還能不能做技術、要不要轉行有了清楚的認識。不再拘泥於過去的一些技術了,而是轉向做一些別的或者相關的,發揮自己的一些長處或者說做更多有價值的事情才是最重要的。
  • 穩健迴歸期:13-n年,很多人混到領導層了,沒混到領導層的也是技術專家或者其相關的,他們更多的是把過去的梳理和盤點來輸出,培養新人做事情,傳遞自己的價值。

如何去做?

  • 去大廠升級打怪,混到不錯管理層

    • 學歷
    • 職級晉升
    • 技術能力
    • 軟實力,溝通,熟悉職場隱含規則
  • 做個人IP,建立影響力,挖掘副業收入

    • 建立越早越好
    • 擴充套件多元化收入體系
  • 轉行不能從根本避免問題,只是一個領域重新開始,無論用Java,還是C/C++,這些不是本質能避免的。

最近面試總結(不要裸辭)

  • 充分準備,不要著急面試(瞭解面試特點,比如哪些公司喜歡面演算法或計算機網路協議,例如BAT、滴滴、美團、頭條、快手、獨角獸的議案公司喜歡面演算法,一般的公司都是基礎面試,例如你做過的專案,從專案中展開去問,考察你的基本功)
  • 機會較多,需要用力抓住
  • 先拿到電子Offer再說,不要嫌多
  • 價格沒談攏,不算拿到(Offer)
  • 坦誠專案和公司經歷,不要弄虛作假
  • 想清楚職業發展,不要頻繁跳槽

前期注重積累技術,後期注重積累人脈

首先,前期我們要注重一些技術的積累,至少前5年或5到8年一直這個方向都肯定是沒錯了,而後面要注意積累的就是行業當中的一些人脈,比如認識一些比你優秀的人或者比你厲害的人,說不定以後你會得到他的關注,他比較認可你,你可以直接去他那裡上班了。

簡歷注意

一到兩頁紙就夠了,把你的專案經驗寫一下,包括你做了一些成果,然後你覺得比較牛逼的地方,這個比較關鍵,因為面試官一般喜歡看亮點,有了這個亮點他就會將你篩選到入選的範圍內。

相關文章