一名工作七年安卓開發的 2022 總結
theme: smartblue
「回顧2022,展望2023,我正在參與2022年終總結徵文大賽活動」
大家好,我是 shixin。
一轉眼到了 2022 的最後一天,今年發生了很多事,這篇文章來總結一下。
長短期目標達成情況
和去年一樣,我的長期目標是成為具備創業能力的人,包括商業思維和全棧技術能力。總的來說,今年是朝著這方面前進的:技術能力上按照“一專多能”的規劃在提升;商業思維也有慢慢提升,暫時還沒有成果。
去年買房時借了一些錢,所以今年的短期目標就是多還些債務。這個小目標今年達成的還可以,主要歸功於老婆離職後自己幹,其實她的這個選擇我一開始是否定的,因為我覺得大環境不好單幹很難賺錢,還好老婆有大智慧堅持了下來,最終的結果讓我大受震撼,也讓我認識到自己的眼界問題。
今年有什麼有意義的事
今年基本保持了兩個月總結一次,記錄內容如下: - # 九十月小結 - # 七八月小結 - # 五六月小結 - # 三四月小結 - # 一二月小結
一年裡大概有這些事值得被記住: 1. 收到一筆小稿費 2. 完成六年工作總結 3. 嘗試了三次直播 4. 系統整理 Linux 程式設計 5. 系統學習 Go 語言 6. 隔離、封閉、陽性 7. 親人離世 8. 換工作 9. 完成書稿 10. 在朋友幫助下補上求婚表白 11. 國慶回內蒙古 12. 黑客馬拉松得獎 13. 面試別人
收到一筆小稿費
今年初為某時間網站提供了兩篇稿子,收到了一點報酬,高興之餘記錄下了當時的想法:# 收入稿費後的一點思考。
錢雖然不多,但意義很不一樣,它代表了我能夠靠其他能力獲得報酬。寫稿子雖是體力勞動,但等寫作能力提升上來後,是可以達到一勞永逸的,值得長期投入。
目前我擅長的領域只有 Android 技術和職業發展,希望 2023 可以多瞭解一些領域,增加寫資。
完成六年工作總結
二月份花了些時間整理了這幾年的 Android 開發經歷:# 六年安卓開發的技術回顧和展望,在各個平臺的閱讀量和互動資料都還不錯,很多人反饋看完有幫助,讓我很高興。
越是艱難的時候越要沉住氣多思考多行動。移動開發的市場需求的確不如往年火熱,在市場迴歸理智後,我們更要常常思考自己的優勢、競爭力和價值,不斷修煉內功。
同時也不必過於悲觀,根據 QuestMobile 的資料,目前國內移動裝置還是最大的流量入口(活躍裝置量約 12 億),每天還是有很多人在通過手機軟體解決生活需求。我們需要清楚公司業務面對的挑戰,在其中找到自己能夠解決的問題,然後在具體的方向上不斷深入,以此獲得自己的一席之地。
嘗試了三次直播
為了提升自己的表達能力,今年嘗試了幾次直播,第一次是分享上面提到的六年開發經歷和對技術價值的思考;第二次是和大家一起讀英文版的《安卓傳奇》(當時中文版還沒有翻譯完);第三次是實驗性的直播學習。
總的來說這幾次直播我都收穫不少,一方面是表達的條理性、表情動作和互動方式,另一方面是在表達的同時會考慮到聽眾的感受,一定程度上減少了自說自話、無腦輸出的壞習慣。
衡量自己對某話題的理解程度,很有效的方式就是做分享,看看自己能講多少。2022 我的技術直播比較少,希望 2023 能多一些。
系統整理 Linux 程式設計
工作裡經常用到 Linux 相關,之前都是零碎的學習,二、三月系統性的整理了一下,輸出了五篇文章(包括異常、程序等,還有幾篇記憶體、檔案的沒寫完😭):
要成為有深度的 Android 開發,必須掌握 Linux 程式設計。無論分析穩定性問題,還是做效能優化,都會用到 Linux 的程序管理、記憶體管理、檔案管理等知識。
目前這方面知識我處於會用的程度,再往下核心的原理還需要結合原始碼研究,考慮到投入產出比(短時間內工作裡沒有這方面需求),2023 暫時不會有這方面計劃。
今年面試了不少人,還沒有遇到一個懂 Linux 程式設計的,足以證明深度安卓的稀缺性。
系統學習 Go 語言
年初工作裡使用 Go 開發了一些介面,花了些時間系統的學習了 Go 基礎和 Go Web 程式設計,輸出了四篇文章:
Go 除了可以開發介面,還可以開發工具、指令碼什麼的,編譯後直接執行,效率很高。
今年勉強算是入了門,掌握了 Go 語言基礎和 Go 常用的框架,開發的專案屬於簡單級別。2023 還需要通過多動手提升 Go Web 問題的處理能力和技術熟練度。
為什麼覺得 Go 值得長期投入呢?目前來看,Go 的技術生命週期還處在早期大眾階段,市場上有很多 Go 的需求,但同時會開發 Go 的人沒那麼多,所以還有紅利。
隔離、封閉、陽性
今年親身經歷了 yiqing 管理的從鬆到嚴再到鬆。
三月由於公司有密接,在公司隔離了兩天三夜。感謝位元組行政,隔離的體驗很好,有吃有喝有用,睡的也比較舒服。
三月多到五六月由於 shanghai 的政策,在家裡封閉隔離了幾個月,有了搶菜、團購、以物易物等難忘的經歷,還好都結束了。多虧了老婆的照顧,我才得以順利度過。
封閉在家這段時間,讓我有了這樣的經驗教訓:長期用的東西一定要買好的,比如人體工學椅、顯示器、洗碗機等等。
以前我總是捨不得買貴的,想的是能省則省,老婆的價值觀和我完全不同,她的觀念就是一分錢一分貨。在家辦公幾個月,幸虧我早內購了公司的好椅子,才讓在家辦公和公司體驗一樣,真香。
之前老婆一直要買洗碗機都被我婉拒掉,封閉期間每天洗碗把我洗吐了,臉都打腫了,於是封閉結束我們立馬就買了洗碗機。
十二月突然宣佈不再查驗綠碼,在歡呼雀躍的同時,我們也迎來了病毒的泛濫。在照顧老婆兩天後,我也不幸成為了“中隊長”(兩道槓),在咳嗽中度過了今年的尾巴。
陽了以後,最大的感受是覺得身體似乎沒以前那麼硬實。看到很多楊康後突然去世的小道訊息,感覺自己心跳都變快了。再也不敢熬夜、劇烈活動了。2022 經常一兩點睡七八點起,2023 可要好好休息才行,小命要緊。
親戚離世
今年很難受的是有兩個親戚永遠的離開了我,小時候沒少受他們關照和陪伴,怎麼突然一下就再也見不著了呢,唉。
年輕的時候似乎一直都在得到,不斷的遇到新朋友、建立新的關係。年紀大了以後,新的關係建立的沒那麼多,老的關係卻越來越少。
沒想到我這麼快就到了這個年紀,距離死亡感覺越來越近了。
2023 需要更加努力,才能在未來幾年裡做到時間自由,從而和家人、親戚有更多的互動聯絡。
換工作
今年五月出於長期目標考慮,決定離開位元組,回到喜馬拉雅。
在位元組的兩年裡我成長很多,技術深度和視野比之前開闊不少。做技術“見過豬跑”很重要,知道天花板在哪裡成長的更快。在位元組的時候我所在的團隊技術水平可以說是國內一流,領導技術深不見底、團隊裡底層技術大牛雲集、還有前谷歌/Facebook 大佬,隨便選一個都吊打我哈哈。好在我臉皮厚也算努力,經過兩年左右時間,個人感覺技術水平從團隊的腳部前進到了腿部哈哈。
在這兩年裡我主要是在做效能優化和工具鏈,在解決實際問題過程中填補了不少 ART/Linux 知識。做著做著,逐漸發現這個領域的水太深了,可能需要至少三五年才能達到真正的“精通”。我開始逐漸迷茫,究竟是繼續在這個方向埋頭努力,還是堅持我的長期目標:成為“全棧工程師”,具備獨立負責複雜商業系統的技術能力和商業思維。換句話說,究竟是要做專還是做廣。
結合一些朋友的建議和位元組的客戶端 Leader 招聘要求,我覺得對於工作七年左右的我來說,可能多一些管理經驗和跨端/動態化經驗路會更廣一些,也有助於我達到長期目標。因此糾結再三後,還是決定選後者。
2022 後半年我在這兩點有了一些實踐,其中管理方面經驗還很少,需要一邊補充理論一邊在實際工作中歷練學習;跨端/動態化上實踐比較多,主要圍繞 DSL 和 ReactNative 進行了一些優化和需求開發,熟悉了公司內部的相關開發框架和釋出流程,在解決問題的過程中對 RN 的原理有了基本的認識。
完成書稿
我平時有記錄的習慣,工作裡遇到問題時會建立一個文件記錄解決思路和結果、收穫。在位元組工作期間斷斷續續建立了數十個文件,有一天看著這些文件,突然生出一個想法:為什麼不把它們整合起來出一本書呢?
考慮到這幾年主要在做效能優化,市場上的安卓效能優化書又都比較老,感覺這是個不錯的方向。正好有個朋友出過書,在人民郵電出版社有熟悉的編輯,一番溝通後對方對我的話題和內容比較看好,就簽訂了合同。
寫書是場馬拉松,除了開始時的振奮和期待,剩下的就是長期的忍耐和堅持。雖然之前有一些存貨,但真正寫的時候還是花了很多精力。一方面需要設計好書的大綱、章節、側重點,另一方面還需要保證讀者看完有收穫,同時還得表達的邏輯清晰。完成書稿前前後後花了我兩個多月的空餘時間,中間幾度想放棄,還好最終堅持了下來。
這段經歷讓我對自己更有信心了,以前寫書對於我來說是件很難做到的事,今年通過親身經歷證明了再複雜的事只要合理拆解,還是可以實現的。我想這一定不會是我的最後一本書。
受疫情影響,估計這本效能優化的書得 2023 年初出版,到時候再和大家詳細介紹。
在朋友幫助下補上求婚表白
今年七月份,在朋友們的幫助下,補上了求婚表白。為什麼說是“補上”呢?是因為去年領證前老婆一直說想要一個儀式感,但我因為種種原因沒做到,心裡一直覺得過意不去。今年趁週年紀念日補上了,雖然中間有些小缺陷,但心意到了老婆開心最重要。
說起“儀式感”,歲數越大越覺得重要,每一天平凡也是過,有儀式的過也是過,為什麼不留一些美好的回憶呢。
國慶回內蒙古
今年過年沒回內蒙古,始終很想家,終於在國慶放假的時候回去了一趟。
我的成長途徑了內蒙古、西安和上海,如果說西安是我培養獨立能力的地方、上海是我靠能力謀生的地方,那內蒙古就是我意識懵懂快樂成長的地方。
內蒙老家有很多親人和朋友,也有很多美好的回憶。這些人和事是我內心最底層的力量來源,在心煩意亂走不動的時候我常常會想到他們,然後就有了力量。
內蒙古最讓我牽掛的就是父母。養了兒子二三十年,到現在每年只能見幾次,唉。有的時候真的很矛盾,在追求自己的生活和陪伴父母兩者之間該如何平衡。馬上到了要孩子的年紀,說實在的我更想讓孩子在上海讀書,而不是在內蒙古老家,這樣的結果就是老人只能過來投奔我,那以前的社交圈子都沒了,唉。
很多問題歸根結底都是錢的問題,或許錢多些這些問題就不存在了。還得更加努力才行啊!
黑客馬拉松得獎
今年偶然報名參加了公司的黑客馬拉松比賽,然後很偶然的就拿到了第一名,整個過程都很神奇,# 具體來龍去脈記錄在了這裡。
這件事給我的感觸是:要保持嘗試的勇氣,要具備完成的堅持。
或許是“無知者無畏”吧,我對一些嘗試的機會總會有意識的抓住,大多時候這些選擇並沒有什麼代價,反而會給平凡的生活裡添一些色彩。比如大學裡做生意、公司年會表演舞蹈,這些我都是零基礎,但懷著“好像挺好玩的,試試看吧”的想法就去做了,最後結果也還不錯。
用“因果論”來說,當做出選擇的時候,就已經種下了因,果隨後就會來。積極的選擇越多,最終善果就越多。
除了要勇於開始,更重要的是堅持做完。這點我是缺乏的,經常在一件事開始時豪氣凌雲,但做一段時間沒有成果後,就開始洩氣了,心裡就開始糾結要不要放棄。好在今年的比賽、寫書這幾件事我都堅持了下來,內心的韌性有所提升,2023 還需要做更多長久的事磨鍊韌勁!
面試別人
十一十二月面試了不少人,從三四年經驗到十來年經驗的都有,面試下來有這些感受:
- 簡歷上的技術點不求多,只求精
- 寫部落格的真的很少,能寫的說明有技術好奇心,技術不會很差
- 頻繁跳槽又沒中大廠經驗的,基礎都不太紮實
- 很多人的問題是專案經歷太簡單(都是介面操作),沒有做過更復雜的事
- 工作越久越要思考一個問題:我比剛畢業的有什麼優勢
面試是一個雙方不斷了解的過程。在一個小時左右的面試中,面試官需要判斷一個人究竟是否滿足崗位要求、在當前團隊的位置、引入團隊後會讓團隊更好還是更差。而面試者需要儘可能地多提供資訊,讓對方有更多判斷依據。
在拿到一個簡歷後,我會先看工作年限,從而喚起對應的期待值;然後看工作經歷,如果有知名公司/產品的經歷會加分不少;然後看專案經歷裡提到什麼技術和複雜點;最後看專業技能裡提到的知識點;工作不久的再看看學歷。
好的簡歷該是怎樣的?在我看來,好的簡歷可以讓別人知道你究竟做過什麼。看著好像很簡單,但很多簡歷其實都沒達到這個要求,能寫清楚在各個公司的專案裡擔任過什麼角色、用了什麼技術、解決了什麼問題、有什麼思考,就很好了。有的簡歷裡不寫自己的事,光介紹專案功能介紹半頁紙,讓人看著著急;還有的簡歷裡有很多牛逼哄哄的數字但和技術沒什麼關係,比如“XXX 專案提升日活 XX 萬”,一問怎麼做到的,回答“產品設計的好”😓。這種我建議乾脆就別寫了。
面試時,即使已經看過簡歷,我還是會先讓面試者先自我介紹一下,通過這段介紹看看他的表達,也看看有沒有說到簡歷以外的東西。
好的自我介紹該是怎樣的?在我看來,好的介紹應該說清楚自己處理過的複雜問題,激起面試官的好奇心。比如說清楚在某段工作經歷裡花了很久解決的問題,這個問題為什麼這麼難。有的人自我介紹就是讀一遍簡歷,為什麼不抓住機會多展現下自己呢?還有的人說著說著就進入了細節,不打斷的話可能要說十幾分鍾。
剩下的就是聊專案經歷和技術點。一般專案經歷比較複雜的會有很多話題可以展開,這種的就不會問八股文。但有時候專案經歷過於簡單,只能問一些基本問題看看你基礎如何。以前面試我很害怕對方問我“你最擅長的是什麼”,現在明白了,問這個問題說明你的簡歷和自我介紹裡沒說出什麼複雜點,面試官是為了挖掘你的優勢才這樣問。
有什麼收穫
今年有不少零碎的總結和收穫,彙總起來,主要在這幾個方面收穫較多: 1. 為什麼要沒事找事 2. 學習方法還有問題 3. 人生商業模式
為什麼要沒事找事
回顧今年發生的這些事,現在讓我覺得有價值的事,在當時都讓我很頭疼,這些事其實不做也可以,何必呢。
# 六年安卓開發的技術回顧和展望 從構思到寫完大概花了兩週,其中花時間最多的是集中精力坐下來思考“技術的價值”這個話題。一開始我也是比較迷茫的,技術的價值是什麼,不就是完成產品的需求嗎?但這是全部嗎?這是優秀的技術人的價值嗎?我帶著問題去查了很多前輩的分享,結合自己工作裡遇到的優秀人的行為,最後總算是給出了自己的答案。
做直播也是一樣。在生出直播的想法,有無數個壞的想法冒出來打擊我,萬一說的磕磕巴巴怎麼辦,萬一沒人看怎麼辦,萬一被同事看到怎麼辦...... 好在我把這些負面情緒遏制住,抱著最差被人噴的態度,做好了大綱和排練,最後結果也還不錯。
寫書的過程真的痛苦。和寫部落格不一樣,寫書既要有體系又要嚴謹,要寫清楚一個知識點,需要作者對這個知識點的來龍去脈都非常清楚,非常耗費心力和精力。在有天寫到凌晨三點左右的時候,我突然迷茫了,我這是何必呢,為什麼要這樣苦自己。
現在我可以回答當時的這些疑問了,為什麼要折騰自己,為什麼要沒事找事?
就像肯尼迪的登月計劃演講裡說的那樣,之所以做這些事,不是因為它們簡單,而是因為它們難。這些困難可以讓我變得更強大,可以讓我多思考技術的意義,可以讓我多鍛鍊思考表達能力,可以讓我磨練自己的心境。我想要取得超人的成就,那就必須不斷在困難的事上練自己,每次耐下性子做一件沒那麼容易的事,都是在成長。這樣長此以往,等到將來那個機會到來的時候,我可以坦然的說:我,準備好了。
學習方法還有問題
2022 雖然有一些輸出,但距離我內心的要求還有差距,究其原因,主要是存在這幾點問題: 1. 興趣太氾濫,沒有體系化學習 2. 看的多,做的少
不數不知道,一數嚇一跳。前幾天數了下淘寶、京東的購物記錄,發現我 2022 年居然買了四十多本書!買了這麼多,看完的只有不到十本,真的是“買書如山倒,讀書如抽絲”。
為什麼會買這麼多書呢?這是因為我的興趣太廣泛,對前端、後端、哲學、小說、經管、心理這些話題都很有興趣,加上現在書價這麼便宜,看到不錯的書就想擁有。買的時候腦子裡會想象自己看完了會有怎樣的收穫,興奮的下了單。等快遞到了我的熱情可能已經消去了一大半,翻開封面看幾眼,就丟在一邊打開了手機。今年發現這個問題後,已經囤了很多書,2023 年要選取其中某個方向系統化的學習,限制購買頻率,看完一本才能再買一本。
除了興趣氾濫,還有一個學習方法問題是輸出過少。以前的學習方式中,用來輸入的時間遠遠大於輸出。比如學習前端,2018 年就通過視訊、百度前端技術學院和 w3cschool 學過一波 HTML/CSS/JS,但因為學完沒有及時整理輸出,導致沒多久就忘差不多了。學後端也是,2019 年看了一本 SpringMVC 的書,看完跟著書敲了一個簡單的管理系統,然後就沒有然後了。導致現在腦子裡只有些 Mybatis 配置,其他都忘差不多了。2022 從書上、極客時間和其他平臺也看了不少內容,但基本只停留在看的階段,沒有做什麼專案。2023 年要改掉這個問題,改成輸出為主的方式,跟著書籍、課程學完後要花兩倍以上的時間實踐、整理輸出,在這個過程中不斷加深理解,避免東學一點西學一點,樣樣稀鬆。
人生商業模式
《原則》說一個人就是一個系統,值得不斷的去迭代、優化。我花了很多時間記錄自己的計劃、行動和結果,試圖通過這些記錄發現自己的思維方式並進行糾正。
除了當作系統,我們也可以把自己的一生當做一個商業產品來經營,商業產品需要有自己的定位、價值和市場,也需要藉助一定的推廣費用來增加銷量。
對於沒有資源的人來說,需要花三十年甚至更久的時間來打造自己的產品(也就是能提供的服務),當產品打造好(具備了特定的能力)後,接下來就要考慮如何把自己產品提供給更多人使用。
工資是最穩定的一種,公司為你提供穩定的收入和工作環境,你為公司提供所需的技術服務。其他可選項有這些:1. 做獨立產品,以產品提供服務 2. 做付費課程/出書,提供教育服務 3. 做職業諮詢,提供職業成長服務。無論哪種方式,都需要藉助槓桿的力量,把服務輻射給更多人。
2022 我還處在打造自己這個產品的階段,正如上一點所說,效率還有一定問題,需要藉助一些工具來提升生產效率。2023 年除了繼續打磨自己,我還會努力做一些作品出來,創造更多價值。
總結
好了,這篇文章到這裡就結束了。在這篇文章裡我回顧了 2022 年發生的一些值得記憶的事,通過回顧,我發現自己還是做了一些事的,雖然週末總是貪玩,但好歹交出了一份及格的答卷。
明年我就要邁入三十歲了,希望在三十歲時的這年,可以有更多的成就,達成一些更難的事情。
感謝你的閱讀,祝你平安順遂。
- 一名七年老安卓的一二月小結
- 一名工作七年安卓開發的 2022 總結
- Android 資深開發需要掌握的常用框架原理
- 從兩位前阿里 P10 身上,我學到了這些
- 你不知道的 Git 技巧:如何實現核心程式碼保護
- 一名工作七年老安卓的九十月小結
- 一名七年老安卓的七八月小結
- Golang 基礎:原生併發 goroutine channel 和 select 常見使用場景
- Golang 基礎:Go Module, for range, slice, map, struct 等使用和實現
- Golang 基礎:介面使用、實現原理(eface iface)和設計模式
- Golang 基礎:底層併發原語 Mutex RWMutex Cond WaitGroup Once等使用和基本實現
- 六年安卓開發的技術回顧和展望
- 今天收入 160000 稿費