紙上淺談-2019 多媒體開發學習之路 | 掘金年度徵文

glumes發表於2019-12-23

前言

時光荏苒,歲月如梭。

又到了回顧過去,展望未來的(chui)高(niu)光(bi)時刻了~~

職業回顧

去年年底準備跑路,然後年前面試,拿了頭條的 offer,年後就入職了~~~

應聘的崗位是 Android-多媒體開發工程師,具體招聘崗位見官網:多媒體平臺研發工程師-Android — 抖音火山

工作內容簡單說就是做音視訊 SDK,支援頭條的一些業務。

實際上早先我也不是做音視訊的。

16 年從西電本科畢業後主要是做 Android 應用開發,那時候熱衷於使用 RxJava、Retrofit、Glide 等優秀的開源庫,寫著拿手的 MVP、MVVM 架構程式碼,同時研究研究 Android 系統原始碼,深入學習 Android 外掛化和元件化,到後來又上手了 Kotlin ,掌握 JetPack 系列套件,極大地提高了應用開發效率,正是戰鬥力爆表的時候,這是多麼單純而又美好的時代~~~

然而遺憾的是,直到現在也沒上車 Flutter,話說現在來還來得及嘛...

再後來,畫風突變,入了音視訊的坑,也算是漸漸開始轉型了,畢竟上面提到的技能都很少用到了,主要是在寫 C++ 程式碼,當然寫的也不怎麼樣。

不少人都說想學習音視訊開發,但是不知道怎麼入門,那麼我又是怎麼轉型的呢?

因為前司工作分配,獨自做了個相機應用專案,後來又參與了一款畫板應用,填了不少坑,但是通過這兩個專案也點亮了 OpenGL 和音視訊相關的技能樹。

事實上在上面專案開發之前,我也是幹著打雜的活,做著應用業務的開發。不過當時短視訊應用開始有點火熱,就對這方面的技術關注多了點,看過不少相關的開源專案程式碼和部落格文章,比如 GPUImage、grafika、cameraview 等,以至於後來有機會去做相關的開發時,果斷就接下來了,這才有了後面的故事~~~

由此可見,如果你想做某一方面的事情,可能它與你現在做的事情毫無關係,你也要默默地行動,不能只有心動而無行動,等著哪一天有機會來了,便是厚積薄發的時刻。

這種雞湯是不是很熟悉,雞湯喝多了,反而覺得是另外一種味道。

技術其實這東西也是講究風口的,更準確的應該說是業務講究風口,技術只是工具,為業務服務的。

短視訊風口來了,市場很大,各大公司都想從中分一杯羹,那麼就難免對技術人才的需求量更大了。而短視訊業務涉及到的音視訊技術,要麼公司內部已經有了相應的技術沉澱,要麼就從零開始積累打造,趕時間的話就去外面招聘,或者花錢用別人提供的服務。但總之,就是需要人了。

因此,技術人員作為整個產業鏈中的重要一環,也可以在此之前做好相應的學習,畢竟機會是留給有準備的人,前提你得準備呀。

這個思想和炒股買基金有點類似,在支付寶和一些基金軟體上,經常能看到說提前佈局 5G ,然後推薦買入各種股票和基金。

買股票基金,或者抄幣,都算是做價值投資,也是講究在低估時買入,在高估時丟擲。做技術道理也差不多,前期猥瑣發育,後面一波帶走。

說的有點誇張了,其實是後來運氣好,趕上了頭條深圳招聘,正好團隊在擴招,招聘名額多,需求量大,不知道放了多少水,我這小小菜雞才得以入坑。

所以呀,如果你看到一些公司靠譜專案也在擴招,別猶豫,簡歷投它。

說回正題,提到音視訊開發,但實際上,我所做的既不是視訊開發,也不是音訊開發。音視訊包含的範圍太廣了,每個點又可以細分,有音訊組也有視訊組,專門研究各種音訊玩法,各種視訊演算法,高大上的內容反正看不懂就對了。

但是作為一個完整系統,總還是需要各個環節銜接的。除了高大上的研究,工程化落地、效能優化、介面對接、日常測試等等環節,都是需要的,就看你處於哪個環節了。

這年頭想要一個人單打獨鬥,從上到下,掌握所有環節難度很高了。看著茫茫程式碼,擰著手裡的螺絲,有種覺得個人太過於渺小了。

對此,還是要保持興趣,多一點探索。

個人發展

今年開始運營了公眾號 【紙上淺談】,不過也是佛系運營,一直沒有太多時間投入到這個上面去。

還有個部落格網站:glumes.com/,一般技術文章都會先發在部落格上。

網站的日均訪問量週一到週五都在幾百以上了,到了週末就暴跌,可見放假大家技術文章都看得少了。

通過谷歌搜尋 YUV、CameraX、Vulkan 等關鍵字,都能直接搜尋到部落格文章,而且部落格閱讀體驗也會比較好,實現了全站 HTTPS 純淨無廣告。當然,不是我不想掛廣告,而且申請了無數次 Google AdSenese 皆以失敗告終,最後懶得折騰,棄療了(感覺錯過了幾個億)...

其實折騰部落格是一件很費神的事情,從早期搞獨立主機,WordPress 建站,折騰 WP 模板,域名購買解析,到 GitHub Pages 建站,VPS 自建圖床,全站 HTTPS,這一路走來,滿是心酸與妥協。

每一位部落格站長都不容易呀,體驗過的人都會懂,基本不會有太大的訪問流量,但還是在堅持寫作的,這應該就是一種 Geek 精神的體現了吧~~~

同時還維護了一個比較純淨的技術交流群【OpenGL ES 技術交流群】,從早先的一兩個人,到目前已經有 300+ 了,裡面不少頭條、騰訊大佬。除了交流 OpenGL 相關內容,也會談及音視訊相關的開發。

群聊比較抵制廣告連結,做純粹的技術交流。有人會問頭條 XXX 功能是怎麼實現的,抖音 XXX 效果是怎麼實現的,這特麼我哪知道呀,就算知道我也不能說呀,畢竟飯碗要緊,好在還有很多熱心大佬,總還是能夠答疑解惑的。

另外,早期寫了很多 OpenGL 方面的部落格,許多人就是因為這方面才關注了掘金和公眾號,列舉一下 OpenGL 的系列文章:

其實後來還寫過 Vulkan 的系列文集,只是感覺這方面的開發者略少,不太受關注,就沒有繼續寫下去了。

不過,學會的技能還是沒有忘的,都存在了腦海和筆記本里,化身為一行行程式碼,伴我行走江湖。

最近還嘗試了錄製視訊課程,在慕課上錄製了一套 Android NDK 開發的免費技術視訊。

慕課網錄製的視訊上線啦~~~

以前都是寫文章,現在開始錄製技術視訊,兩者的表現形式不一樣,但共同點都是需要提前把相關的知識掌握好,並且在錄製、寫作的過程中還需要不斷查漏補缺,對個人能力的提升都是很有幫助的。

至於後續是否繼續錄製視訊,現在還只是嘗試,不斷探索中,主要還是太耗時間了,而且收益不高。

什麼時候技術視訊可以不是隻講枯燥的程式碼,而是像華農兄弟、美食家王剛、手工耿那樣豐富有趣,普及一些計算機基礎知識並且展示手工小專案,就好比參加專案比賽做出來的成品給大家演示。要是真能那樣,寫程式碼可能會更有趣一些吧。

最後就是在掘金上的成就啦,截至目前都有 4500+ 的關注了,而且還在不斷增長中。

回想當年,能有一兩百都開心不已了,自從開始寫 OpenGL 相關內容後,就在不斷增長,並且掘金上關於 OpenGL、音視訊的內容也越來越多,這是個好的跡象呀,學習資源越多,說明這門手藝需求量也在增多,對於打工仔來說總是利大於弊的。

都看到這了,不關注一波公眾號嘛,你的關注才是我不斷更新的動力...

程式人生

馬上就要是新的一年了,該立新的 Flag 了。

話說工作三年,跳槽兩次,在珠三角這個地方算是通關了,珠海、廣州、深圳都留下足跡。總的來說珠海是最宜居了,海邊生活過得特別愜意,適合養老,反觀現在生活質量隨著薪資的上漲而直線下降了。

接下來幾年總是要寫程式碼的,為什麼不把它經營地更好一點呢。抱著這樣的念頭和想法,也不會有學不動了的念頭,只是有沒有時間了,不過來日方長,慢慢搞唄...

前段時間還做了一兩個 iOS 的需求,因此特意看了一下 OC 和 Swift ,不得不說 Swift 的語法和 Kotlin 好相近,入門的門檻大大降低了。

音視訊畢竟是跨平臺的,學習一波 iOS ,瞭解一下雙端的實現思路總還是不錯的。除此之外,寫文章講究首尾呼應,Flutter 抽時間也要了解一波。

另外還有好多好多有意思的事情可以去做,希望接下來會寫更多音視訊、影像渲染方面的文章部落格,除了基礎的理論介紹、程式碼分析,最好再帶上一些實踐項,做點好玩的東西~~

具體做哪些就不先說了,預知後事如何,持續關注一波吧~~~

紙上淺談-2019 多媒體開發學習之路 | 掘金年度徵文

掘金年度徵文 | 2019 與我的技術之路 徵文活動正在進行中......

相關文章