事件
去年年底,公司來了一位工作十余年的工程師,據說是個全棧,應聘的崗位是Android高工。比較巧的是,這位工程師是我上一家公司隔壁部門的同事。
我們均來自大廠,但是是國企,二線城市。所以盡管他在前公司工作十余年了,在國企這個環境下,其工資在行業內也不會太高。以我對兩家公司工資水準的了解,他跳過來的工資應該是原來的兩倍多。
所以對于這位老哥來說,這次跳槽得到的工資應該還算滿意的。但是,好景不長。。今年過年回來不久之后就被裁了。。所以他從我的前同事變成了現同事,又變成了前前同事。。。
起初我還以為是他嫌工資太低了自己離職,畢竟十年工作經驗應該不只這個價。當時我挺羨慕他的,因為我覺得有十年工作經驗就可以這樣為所欲為,想來就來想走就走。
后來,我錯了,從同事的小道消息得知,他是被裁的,試用期沒過。他去年年底過來,過年回來正好干滿試用期3個月,試用期沒過只能走人了。
這個現實給我敲了一次警鐘:在程序員這個行業,三十五歲就算是“老人”了。這是必須承認的一個事實,可以多看一些公司的招聘要求。
這位十年經驗工程師被裁的事引發了我的思考:為何被裁?
我覺得有些事情能早點想清楚就該早點想清楚,早點想對策。防止一些糟糕的事情降臨打我們個措手不及。
至于為何被裁?有朋友可能會覺得是受疫情的影響導致公司經營不善才會被裁的。
應該不是這個原因,因為公司各個崗位都在不停的招人,而且招進來的能進入試用期的員工基本都可以轉正,除了極少數的要求真的達不到的才會不能按時轉正。
所以大概率的原因是這位工程師的能力沒能達到上級的要求,因此被辭退。
如何防止被淘汰?下面我分享一下我的幾點看法:
思考
1、學習能力
隨著行業的發展,技術都在不斷地進步,我們只能不斷地學習來提高自己的核心競爭力。
在保證已熟練掌握現有知識、技術的前提之下,可以多涉獵其它方面地相關技術。既要保證自己的知識深度,也要保證自己的知識廣度,橫、縱同時發展。
與此同時,不斷積累行業經驗,“努力做到擁有n年工作經驗的工程師,而不是一年經驗用了n年的工程師?!?/p>
上級招十年工作經驗工程師應該是想著招過來可以起到技術指導性、領導性的作用,而這位工程師并沒有能起到這樣子的作用,沒有表現出一些十年工作經驗工程師該表現出來的東西。
2、自律、思考能力
在這個比較浮躁的社會里,我們可能需要多一份自律,多一點地思考。
我上一份工作的環境算是比較安逸的,每天上班8個小時、住小區(需付少量網費、電費)、每天公司班車接送,加班極少,除了極少數技術骨干常常自愿加班之外,其他人基本上五點半到點下班,我就是屬于這一類人。。。
待在這種安逸的環境之下(溫水煮青蛙),很容易讓人失去了斗志。
在這種環境下,靠的就是自己的自律了,自己有沒有額外地進行充電,還是把閑暇下來的時光都給揮霍掉了。
那位老哥在這樣的環境下工作了十年,如果只是靠工作環境來推動自己,那這十年工作經驗估計就得大打折扣了。
總之,“我們就是要不斷地學習、不斷地思考,思考行業、思考方向,保持著一顆前進地心。如果我們可以踏踏實實地走好每一步,我相信我們一定可以很好地越過35歲這道坎?!蔽乙策€在起步期,不知未來如何,但我覺得我35歲時應該還在做著技術。
分享
說句實話,如果我選擇在上一家國企待著,是完全不用擔心所謂的35歲的危機的,工資雖然完全比不上現在的公司,但也足夠養家糊口。之所以還是選擇了跳槽出來,說的官方點這叫“跳出舒適圈”,說簡單點就是“我覺得我可以掙的更多”。
事實也如我所愿,國企有一個非常好的好處就是,能給我足夠的學習時間,這些年的學習我都做了筆記整理,如果你也是一名Android開發者,想要做些改變而又暫時找不到一個方向的話,或許我這能給你一些啟發。
學習路線及筆記分享如下:
(需要pdf筆記文檔的同學可以私信我來要)
- 架構師筑基必備技能
目前Android APP開發主流語言就是Java語言,Java語言最大的特性就是提高了軟件的交互可能性,可以說安卓手機幾乎所有應用程序都是利用Java語言來進行編寫的。
知識要點:
1、深入理解Java泛型
2、注解深入淺出
3、并發編程
4、數據傳輸與序列化
5、Java虛擬機原理
6、高效IO
- 設計思想解讀開源框架
隨著互聯網企業的不斷發展,產品項目中的模塊越來越多,用戶體驗要求也越來越高,想實現小步快跑、快速迭代的目的越來越難,插件化技術應用而生。如果沒有插件化技術,美團、淘寶這些集成了大量“app”的應用,可能會有幾個g那么大。
所以,當今的Android移動開發,不會熱修復、插件化、組件化,80%以上的面試都過不了。
知識要點:
1、熱修復設計
2、插件化框架設計
3、組件化框架設計
4、圖片加載框架
5、網絡訪問框架設計
6、RXJava響應式編程框架設計
- 360°全方位性能調優
在不同層次的開發工程師手里,因為技術水平的參差不齊,即使很多手機在跑分軟件性能非常高,打開應用依然存在卡頓現象。
另外,隨著產品內容迭代,功能越來越復雜,UI頁面也越來越豐富,也成為流暢運行的一種阻礙。綜上所述,對APP進行性能優化已成為開發者該有的一種綜合素質,也是開發者能夠完成高質量應用程序作品的保證。
1、設計思想與代碼質量優化
2、程序性能優化
- 啟動速度與執行效率優化
- 布局檢測與優化
- 內存優化
- 耗電優化
- 網絡傳輸與數據儲存優化
- APK大小優化
3、開發效率優化
- 分布式版本控制系統Git
- 自動化構建系統Gradle
4、項目實戰
- 啟動速度
- 流暢度
- 抖音在APK包大小資源優化的實踐
- 優酷響應式布局技術全解析
- 網絡優化
- 手機淘寶雙十一性能優化項目揭秘
- 高德APP全鏈路源碼依賴分析
- 徹底干掉OOM的實戰經驗分享
- 微信Android終端內存優化實踐
- Android框架體系架構
Android框架體系架構(高級UI+FrameWork源碼) 這塊知識是現今使用者最多的,我們稱之Android2013~2016年的技術。
Android開發者也往往因為網上Copy代碼習慣了而導致對這塊經?!笆褂谩钡拇a熟悉而又陌生:熟悉的是幾乎天天在和它們打交道, 天天在復制這些代碼 ;陌生的是雖然天天和這些代碼打交道,但是并沒有深入研究過這些代碼的原理,代碼深處的內涵。
本篇知識要點:
1、高級UI晉升
2、Android內核組件
3、大型項目必備IPC
4、數據持久與序列化
5、Framework內核解析
- NDK模塊開發(音視頻系列)
NDK(Native Development Kit縮寫)一種基于原生程序接口的軟件開發工具包,可以讓您在 Android 應用中利用 C 和 C++ 代碼的工具。通過此工具開發的程序直接在本地運行,而不是虛擬機。
在Android中,NDK是一系列工具的集合,主要用于擴展Android SDK。NDK提供了一系列的工具可以幫助開發者快速的開發C或C++的動態庫,并能自動將so和Java應用一起打包成apk。
本篇知識要點:
1、NDK開發之C/C++入門
2、JNI模塊開發
3、Linux編程
4、底層圖片處理
5、音視頻開發
6、機器學習
- Flutter學習進階
2019 年無疑是 Flutter 技術如火如荼發展的一年。
每一個移動開發者都在為 Flutter 帶來的“快速開發、富有表現力和靈活的 UI、原生性能”的特色和理念而癡狂,從超級 App 到獨立應用,從純 Flutter 到混合棧,開發者們在不同的場景下樂此不疲的探索和應用著 Flutter 技術,也在面臨著各種各樣不同的挑戰。
本篇知識要點:
1、Flutter跨平臺開發概述
2、Windows中Flutter開發環境搭建
3、編寫你的第一個Flutter APP
4、Flutter Dart語言系統入門
......
- 微信小程序開發
微信小程序作為現在比較火的編程開發應用場景之一,深受市場的青睞,這讓不少開發者眼饞不已。但是對于初學者來說,就完全摸不著頭腦了,不知道微信小程序開發制作需要學習那些知識,有需要的朋友可以參考本篇。
本篇知識要點:
1、小程序概述及入門
2、小程序UI開發
3、API操作
4、購物商場項目實戰
-
Android相關源碼解讀
只要是程序員,不管是Java還是Android,如果不去閱讀源碼,只看API文檔,那就只是停留于皮毛,這對我們知識體系的建立和完備以及實戰技術的提升都是不利的。