想了很久怎么樣可以讓文章的標題不那么悲觀舔腾,但是各種文案都在我腦海里面不斷的被否定岛杀,要么是不那么抓眼球,要么是立意不匹配壶唤。最后想了想雳灵,這個標題是真的符合我最近的感悟。加上已經(jīng)四個月沒有更新闸盔,就寫一篇我自己的感想悯辙。不過在開始正文之前,我想先聲明一下迎吵,這篇文章絕對絕對不是一個負能量的文章躲撰,而是作為一個小小的安卓開發(fā),這四五年來的一些思考击费,和這種思考給我個人帶來的升華拢蛋。希望看過文章,能有同感的朋友也能多思考一下蔫巩。
最近因為疫情的關系谆棱,相信很多國內(nèi)的小伙伴都逐漸開始了解到在家上班的體驗。在美國基本上work from home在IT公司里面算是比較常見的現(xiàn)象了圆仔。一般大廠每個周都會有一天被劃為No Meeting Day垃瞧,說只是不開會日,但通常都會被大家當成在家辦公日坪郭。不開會嘛个从,那我在家和在辦公室也沒區(qū)別不是??????????????。
也正是因為閑的時間多了截粗,看文章的時間也多了信姓。我是個不喜歡看書鸵隧,更傾向于看碎片化文章的人绸罗,沒事翻翻掘金,翻翻Android Weekly豆瘫,是我上廁所蹲坑時候的首選項珊蟀。。外驱。
但是讓我感到悲傷的是育灸,好多安卓技術(shù)博主,就在這么一個月兩個月之間消失了昵宇。點擊他們的個人主頁磅崭,你會發(fā)現(xiàn)上次更新可能都是好幾個月,甚至是一年前的事情了瓦哎。粗糙的以為是因為疫情砸喻,其實想一下柔逼,這個事情符合技術(shù)這行的發(fā)展規(guī)律。
我是從15年末正式開始做安卓開發(fā)的割岛,當時安卓開發(fā)界比較出名的像Trinea, 任玉剛等等愉适。尤其是Trinea當時的安卓源碼分析項目,給了還是一個安卓小白的我一個非常好的學習機會癣漆,那個Volley 源碼分析维咸,讓我知道如此短小精煉的代碼可以把那么復雜的邏輯組織的如此的有條理。說實話惠爽,因為現(xiàn)在公司的app還是在用volley做最底層的網(wǎng)絡庫癌蓖,因為熟讀源碼的原因讓我在出現(xiàn)網(wǎng)絡問題的時候debug的速度比其他組員快很多(畢竟知道哪里打斷點。婚肆。)
當時還加了Trinea大神的qq费坊,發(fā)了簡歷給他還得到了大神對我簡歷上的指點,清晰的記得Trinea把我簡歷上的IOS改成了iOS旬痹。附井。。還說我這樣寫非常不專業(yè)两残。永毅。。
但是自從Trinea大神在跳槽到滴滴之后人弓,就漸漸開始忙了起來沼死,我和他最后的一次通信停留在了2016年,我告訴他我有機會去參加當年的GoogleIO大會了崔赌,他微笑的點了個贊意蛀。。健芭。也自此之后县钥,他的個人博客主頁更新的更多的是滴滴的職位內(nèi)推等等。慈迈。
16年之后若贮,RxJava開始火了起來,在這個神奇的框架還沒被大部分人吃透的時候痒留,扔物線出現(xiàn)了谴麦,這位江湖人稱凱哥的人在中文資料都還不是很齊全的時候,寫出了這篇給android開發(fā)者的RxJava詳解, 時光荏苒伸头,馬上RxJava 3.0都出來了匾效,但現(xiàn)在再回頭看這篇中文的RxJava文章,還是有許多讓人感慨的地方恤磷,凱哥在那個時候?qū)xJava的理解是超前的面哼,雖然之后陸續(xù)有很多更棒的RxJava的文章雪侥,比如這個RxJava 沉思錄系列-> RxJava 沉思錄(一):你認為 RxJava 真的好用嗎?
精绎,但是凱哥的那篇文章還是對我產(chǎn)生了很大的影響速缨,不只是對RxJava的理解,讓我力排眾議在當時的小公司開始實現(xiàn)RxJava代乃,還有他詼諧的行文風格旬牲,促使我也開始寫技術(shù)博客。一年多以前凱哥開始辭職創(chuàng)辦自己的安卓進階培訓班搁吓,博客的更新速度就慢慢開始直線下降了(小聲逼逼一句原茅,他的Coroutine教程還是很不錯的),雖然心里覺得很遺憾堕仔,但是也能理解擂橘,畢竟大家都是要賺錢養(yǎng)家的。
16-17年算是安卓技術(shù)社區(qū)熱度跌下高峰前的夕陽紅時刻摩骨,加上國內(nèi)的熱更新技術(shù)的發(fā)揚光大通贞,那一年安卓技術(shù)線上線下的交流也達到了前所未有的熱度。我個人也或作為聽眾或作為演講者參加了好幾場國內(nèi)國外的技術(shù)交流會
也正是這一年我在博客上的持續(xù)輸出恼五,得到了當時西瓜視頻負責人的關注昌罩,還在簡書上私信了我,可惜當時已經(jīng)有了亞麻和facebook的offer灾馒,還是沒加入現(xiàn)在已經(jīng)已經(jīng)如日中天的頭條茎用。
不過奇怪的是,那一年開始睬罗,好像除了一直以來比較高產(chǎn)的 鴻洋_之外轨功,沒有什么特別突出的后起之秀了。新出現(xiàn)的博主大多是更了兩三篇文章就消失了容达。貌似是官方也察覺到了這個趨勢古涧,以前關注的InfoQ的安卓技術(shù)公眾號直接改名成了前端之巔,把iOS董饰,安卓蒿褂,web 合并在了大前端這個技術(shù)領域里面圆米。這個信號對很多剛剛?cè)胄械陌沧啃“讉兙拖裨趧裢艘粯印?9年初卒暂,InfoQ官方的小編還寫出了這樣一篇文章,開頭是這樣的:
寫在前面
今天娄帖,我想給大家講一段故事也祠,這個故事里包含有黑科技、天才少年近速,有意氣風發(fā)的豪情和壯志未酬的遺憾诈嘿。更重要的是堪旧,這是一段真實的故事,是我人生中的一段重要經(jīng)歷奖亚。
-----> 移動開發(fā)的羅曼蒂克消亡史
這開頭就定了一個暗黑系的調(diào)淳梦,果不其然,末了昔字,作者還來了一個《萌芽》里面小說家族板塊式的結(jié)尾:
插件化熱潮注定成為技術(shù)發(fā)展的一段小插曲爆袍,也許再過幾年,不會有人記得了作郭。那段激情飛揚的歲月陨囊,終將成為 The Wasted Times。
做過什么夹攒,發(fā)生什么蜘醋,到末尾一切都不值一提,然而我終究還是拿起筆咏尝,記下那些為了忘卻的紀念压语。
也正是自2019年起,好像的確沒有什么特別火爆的安卓技術(shù)可供大家討論了编检。倒是面試這個話題无蜂,成了很多安卓技術(shù)博客的爆款。
To go to 大廠or not蒙谓,this is a question....
我記得以前有句話斥季,叫
書是越讀越薄,然后再越讀越厚
我一向不是個悲觀主義者累驮,我喜歡思考事情發(fā)展背后的真實酣倾。一開始在看到安卓技術(shù)社區(qū)不再像以前那么繁榮的時候,我也感到很失落過谤专。直到去年開始躁锡,我才真正了解到那些消失的技術(shù)大佬們不再更新的原因,不是他們干得不好置侍,恰恰相反映之,是他們干的太好了。
19年我接了一個大項目蜡坊,而且重點是杠输,我開始帶人了。不是轉(zhuǎn)做管理秕衙,而是作為項目的tech lead蠢甲。從19年6月份開始,從項目的前后端通氣据忘,設計客戶端架構(gòu)鹦牛,技術(shù)選型的調(diào)研搞糕,再到設計審核,到開發(fā)曼追,最后到項目交付的War Room窍仰,我從頭到尾每個環(huán)節(jié)都參與,并且負責礼殊。也是這一個項目讓我切身體會到了一個項目從開始到落地每一個環(huán)節(jié)辈赋,作為一個負責人要做些什么。
一個團隊的Lead膏燕,要做你帶領團隊大部分人做不了的事情钥屈。技術(shù)上,怎么搭架構(gòu)坝辫,做技術(shù)選型篷就,讓團隊的開發(fā)們可以順利的完成他們每天的開發(fā)任務。管理上近忙,對下怎么劃分任務竭业,鼓勵團隊的開發(fā)對自己做的"一畝三分地"保持熱情,不會感到枯燥乏味及舍,對上未辆,怎么及時匯報項目進度,溝通需要上級的幫助锯玛。
這是我在lead完這個項目之后的感想咐柜。在項目開始的前兩個月,我沒有寫一行代碼攘残,大部分時間在寫文檔拙友,做技術(shù)調(diào)研,解決開發(fā)前期的環(huán)境配置(大廠的依賴真tm復雜歼郭。遗契。。)病曾。雖然不算是真正的做開發(fā)工作牍蜂,但是這一個項目給我思維上的提升卻遠遠大于之前我做的任何feature。
再這之后泰涂,可能是老板覺得我還算靠譜鲫竞,也希望我再自己不熟悉的領域多成長,就沒有再讓我進行過多的業(yè)務邏輯的開發(fā)负敏,而是鼓勵我參與更多解決團隊痛點的項目贡茅。在這些過程中,我接觸到了JNI其做,均衡器(音頻底層開發(fā))顶考,團隊代碼規(guī)范工具等等。這些小項目都在不斷的挑戰(zhàn)我自己的知識面妖泄。
回到開頭的那一句話驹沿,
書是越讀越薄,然后再越讀越厚
我現(xiàn)在算是充分的理解了蹈胡。一開始大家總說安卓開發(fā)安卓開發(fā)渊季,學習重點在于一些安卓的具體實現(xiàn)細節(jié),這是一個書越讀越薄的過程罚渐。但是當項目變的越來越大却汉,越來越廣的時候,就不是安卓不安卓的問題了荷并,而是一個寬泛的軟件開發(fā)合砂,管理的過程。當產(chǎn)品足夠大的時候源织,一個團隊所需要考慮的不僅僅是業(yè)務邏輯的開發(fā)了翩伪,作為一個Lead,需要的知識也就越來越需要向廣度來發(fā)展谈息,做均衡器缘屹,你要了解線性代數(shù),濾波器侠仇,做代碼規(guī)范檢查轻姿,你需要了解編譯原理的詞法分析,語法分析逻炊,這又是一個書越讀越厚的過程踢代。安卓開發(fā)到最后,需要超脫于安卓本身嗅骄。
當那些技術(shù)博主們胳挎,不再拘泥于一些安卓的小技術(shù)細節(jié),而是升到了一個更高層次的Tech Lead溺森,或者是Manager的崗位慕爬,自然也就不會再發(fā)一些技術(shù)細節(jié)的文章,因為這不是他們該思考的問題了屏积。
我記得之前有段時間很多人在知乎上抱怨医窿,說像任玉剛,stormzhang這樣的“大佬”開始不務正業(yè)炊林,整天在公眾號上分享一些心得體會姥卢,都沒有技術(shù)“干貨”了。其實如果真的能理解我上面說的,也就不難理解他們?yōu)楹螘@樣了独榴。站在一個更高的維度去看軟件的開發(fā)僧叉,會更加注重于開發(fā)的方法論,的確不會再像以前一樣發(fā)技術(shù)細節(jié)的文章了棺榔,再者瓶堕,如果干了4-5年安卓開發(fā),還需要每天看諸如Java 線程池源實現(xiàn)原理這種文章症歇,不覺得是不是太晚了點郎笆?
書越讀越厚,同樣也體現(xiàn)再溫故而知新上忘晤。
我最近關注了一個博主:卻把清梅嗅
他寫了一個反思系列的文章宛蚓,我覺得非常好,他把我們之前很多一些感到理所當然的一些安卓開發(fā)的方法論做了一個簡單易懂的總結(jié)
比如很多文章都在寫事件分發(fā)原理设塔,但是大部分都是源碼復制粘貼凄吏,跟蹤代碼,說實話壹置,沒有總結(jié)的分析都是耍流氓竞思,分析了等于沒分析。很少有人能一針見血的指出安卓的事件分發(fā)就是深度優(yōu)先遞歸的一個實現(xiàn)钞护,有沒有人能思考一下不DFS行不行盖喷?BFS廣度優(yōu)先能不能一樣實現(xiàn)事件的攔截?
對已有知識進行反思难咕,同樣也可以得到進步课梳,而不是需要一昧的追求所謂的“新”知識。
最后余佃,我想說暮刃,尤其是對于那些剛剛?cè)胄邪沧康呐笥褌儯μ嵘约罕粒M一個更大更好的平臺椭懊,比自己躲在被窩里面死命鉆研所謂的“技術(shù)”要有用的多。只有在接觸到更大的平臺步势,你才能發(fā)現(xiàn)氧猬,原來還有這么多自己不懂的東西。任何技術(shù)都有消失的時候坏瘩,相聚離開總有時候盅抚,沒有什么會永垂不朽。唯有經(jīng)驗與思維永存倔矾。
大家五一快樂妄均!
共勉