歡迎光臨
每天分享高質量文章

二本畢業,我是如何成為BAT安卓高級開發工程師?

過往的點點滴滴,

會在你未來的生命里,

以某種方式串聯起來,

讓你遠離平凡,變得與眾不同。

—喬布斯

坐標:杭州

現任職位:BAT某公司資深開發工程師

畢業院校:普通二本(化工專業)

 

13年,我從一個二本學院的化學專業畢業。許多同學畢業後都是在製藥工廠上班,朝九晚六,拿著微薄的工資。那個時候的自己很迷茫,總覺得未來不該如此淡然無味。一波波得招聘信息裡面,最熱門也最誘人的是互聯網/IT領域。

順勢而為勇者勝。當機立斷,我決定轉戰互聯網行業。

 

不過,那時的我僅僅會一些C語言,投了幾十份簡歷都石沉大海——就我這專業,就我這經驗,想要很好的offer應該有點天方夜譚吧,現實也的確給了我響亮的一巴掌。

 

不服輸,我堵上了所有的勇氣立志從頭開始全面學習IT互聯網相關的知識。

生活總是會眷顧有準備的人,不久我還是拿到了一個offer,雖然公司不大,但總算也是對自己努力的彙報。

Part.1

對基礎原理不斷挖掘

進入公司,我的職位是Linux應用開發工程師,做App網絡傳輸模塊,本質上就是把本地的資料通過socket傳輸到服務端。用到的技術是C語言,網絡編程,多執行緒編程。

 

那時是最痛苦的幾個月,因為非計算機出生,很多東西都不會,經常程式段錯誤,都不能定位到問題代碼。

當時處於試用期間,秉承著不成功則成仁的心態開始惡補相關的基礎知識以及代碼規範。那時網絡上沒有現成的視頻資料,艱難地把計算機專業的書籍自學了一遍。例如,資料結構與演算法,計算機網絡,操作系統原理,計算機體系結構……

熬過了試用期,產品也上線了,第一次體會到成就感爆棚的感覺。

現在回頭看,經驗就5個字:原理很重要。很多看起來沒用的原理,其實是重要基礎。比如:

你能講清楚函式的呼叫過程嗎?是怎麼呼叫的?怎麼傳回的?引數是怎麼傳遞的?函式的記憶體佈局是怎麼樣的?

如果瞭解這些原理,就可以快速使用各種開源庫。可以更快地熟悉各種中間件sdk的使用方法。剛入行技術不求多,熟練掌握一項技術,能把原理講清楚,拿得出手才有基本競爭力。

Part.2

專註方向

瞭解技術全貌,做合格架構師

 

基礎僅僅是開始,技術要有應用場景,轉化為產品才能最大化地產出價值。

後來,我自學了Android開發,比如UI開發,網絡開發。當時也是夜郎自大得以為UI開發就是Android的全部。投遞了很多大廠的Android崗位,卻沒有收到面試邀請。回過頭來再做分析崗位需求時,才發現自己技術棧背景確實不匹配,就算進了面試,好多問題也都答不上。比如:

1. 動態化混合渲染技術架構是怎麼樣?怎麼提高開發效能?

2. 產品的DAU有多少,如何保證穩定性高且可用的?

3. 如何跟蹤用戶行為,利用大資料完善產品功能,降低運營成本?

這些問題讓我意識到,語言、UI和原理只是程式員的基本技能而已。

 

想要進一步發展,不光只考慮個人技術,必須在整個產品生命周期、開發、運維、能效上有合理的架構,進而滿足行業的發展需求。你不光需要考慮業務需求如何實現,更多的重心需要關註開發提效,大團隊並行開發協作,大流量穩定性保障。

(文末掃碼獲取能力圖譜)

學習Weex技術,Rn技術後,顛覆了我對移動APP開發的認識。如果寫native頁面,可能一天一個頁面,Android iOS就需要2個人日,Weex是跨平臺渲染,一份代碼可以在Android iOS兩個平臺使用。那開發一個頁面就只需要原來一半的資源。通過新技術合理架構提升研發效能,動態化技術提升發佈成本。

無論程式多麼完美,Bug永遠存在。對於線上故障,如果不能提前預防以及快速解決,損失可能不堪設想。所以線上運維,異常監控,性能監控,資料埋點是優秀架構師的必備技能。

自學的過程是痛苦的,移動端的技術日新月異,很多前沿的技術還沒有體系化的書籍,只能在論壇,博客等看零碎的文章,學習效率比較慢。要想高效的學習一線技術,網絡課程是一種新的選擇。有老司機指導方向,避免走彎路,事半功倍。

Part.3

沉澱經驗

適應發展,做技術的領頭羊

 

有良好的技術基礎,學會了行業流行的框架,可能只是獲得了進入大廠的敲門磚。多少人努力進入大廠,最終默默無聞地進去,悄無聲息地出來。沒錯,平臺很重要,但更重要的是你能在這個平臺上發展到什麼程度。

這個日異月新的時代,不光需要Follow一線技術,更重要的是要引領時代,才能在技術快速發展的階段不被淘汰,或者才能在下一次技術革命中抓住機會。

如果僅僅只掌握Android本身的技術是不夠的,比如說在iot時代有這樣一個需求: 做一個APP完成智慧硬體的一鍵WiFi配網。這個就需要對TCP/IP協議棧,WiFi加密,網絡抓包等有深入的理解。

 

所以最重要的是突破當前崗位需求的設限,對各種技術融會貫通,創造新的技術框架,做技術的領頭羊,適應時代發展。

技術人成長不能再單打獨鬥,要學會與人交流,學會將別人的知識為自己所用。如果你依然覺得有些茫然,不如跟有多年Android開發經驗的資深工程師聊一聊。

1月22日-1月28日,網易雲課堂將會開展為期一周的Android進階免費系列直播課。

 

網易資深工程師帶你突破Android開發技術瓶頸,向你傳道UI/NDK開發 · 性能優化 · 架構設計 · Flutter開發,每天2小時,密集輸入Android開發相關知識及經驗,幫你快速實現技術和職業成長上的突破。

 

福利1  免費直播課程

網易雲課堂Android進階免費系列直播課

適聽人群:Android初、中級開發工程師

 

1.22-1.28  連續7天每晚8點準時直播

1月22日:不用改寫安裝,靜默修複bug。安卓頂尖技術:熱修複

1月23日:餓了麽跨行程通信架構分析-帶你手寫最優異的行程通信架構

1月24日:事件分發機制完全解析,帶你從原始碼的角度徹底理解

1月25日:Android人工智慧離你並不遙遠,OpenCV實現人臉識別

1月26日:RecyclerView你還沒觸及的架構秘密, 今天帶你從零手寫RecyclerView

1月27日:安卓組件間通信非常麻煩?事件總線框架讓你不再糾結

1月28日:安卓黑科技:圖片終極壓縮,支持自定義配置、不失真和批量處理

 

    赞(0)

    分享創造快樂