- 本文為 Marno 原創,轉載必須保留出處!
- 公眾號【 aMarno 】,關注後回覆 RN 加入交流群
- React Native 優秀開源專案大全:www.marno.cn
寫在前面的話:
為什麼會寫這篇文章,我個搞開發的是不是跑題了?姑且可以認為是跑題吧,但是確實忍不住想和大家聊聊這個話題!
每次來公司面試的人我都會問他一個問題:“你是如何提升自己的技術水平的?”。大部分人都說自己每天會去閱讀一些技術文章,偶爾也有說自己會買書來看。問這個問題主要有兩個原因,第一是看下這個人是不是會去提升自己的技術,第二個是想了解一下這個人對自己想鑽研的技術方向有沒有一個明確的規劃。但是當我得到的回答大部分都是說通過閱讀技術文章的時候,我確實有一些詫異!
身處程式設計師這個行業,“學習”可以說是伴隨著整個職業生涯,如果一旦學習停滯,可能面臨的就是逐漸被行業淘汰。而且開發技術進步之快,按照摩爾定律,這種速度也只會越來越快,導致淘汰速度也會越來越快。因此只有不斷提升個人技術水平,才能在這個行業裡保持良好的發展。當然我們今天所討論的並不是以何種方式提升技術,而是想弄明白閱讀技術文章,究竟能否提升一個人的技術水平呢?
可能大部分程式設計師都會有每天閱讀一些技術文章的習慣,當然也包括我自己,每天基本都會有0.5~1小時用來瀏覽各類技術部落格,而且剛入行那會經常能看到晚上1點鐘左右。久而久之也就形成了一種習慣,每天都必須要看看技術文章才能去安心睡覺,那感覺放佛是在害怕睡一覺起來就被技術拋棄了一樣,當然這只是一句玩笑話。和我有同樣習慣的人肯定有很不少,而且有一些人每天花費在閱讀技術文章上的時間可能比我多的多!
但是,閱讀技術文章,真的可以提升技術嗎?
肯定很多人想說,如果不能提升技術,那你還看個什麼勁兒啊?其實我最近也在深刻的思考這個問題,如果我的技術水平真的沒有因為看這些技術文章而有所提升,那為什麼我每天仍然願意每天去花那麼多的時間在這上呢?是不是就像是上文中所說的,已經形成了習慣了難以改掉呢?
先來談談閱讀這件事。閱讀作為人類獲取知識最重要的渠道之一,我們幾乎每天都會進行。不單單是程式設計師,包括一些其他行業的白領,即使不去閱讀技術文章,也少不了開啟今日頭條之類的資訊軟體看上一會兒新聞,或者看一些微信公眾號推薦的文章,還有就是刷刷微博,翻翻朋友圈之類的。這些所有為了利用碎片時間而誕生的工具,結果好像卻讓我們的時間碎片化的更嚴重了。
不妨回想一下,你有多久沒完整的讀完一本書了?又有多久沒能寫下一篇超過1000字的文章了?是不是最近一次寫文章都是高考時候的語文作文了?到不是因為最近沒有時間去寫,而是當你提筆想要寫下一篇文章的時候,你卻發現能寫出來的僅僅是一些幾乎沒有上下文聯絡的片段罷了。你可能想說之所以寫不出來是因為在工作中並不需要這個技能,所以就漸漸的弱化了。但我想說的是,之所以現在很多人不能完整寫出一篇文章,是因為閱讀方式的不正確!
再回到我們的話題,回到程式設計師這個行業裡來,我把閱讀方式大概分為這麼幾類:【單純性閱讀】【實踐性閱讀】【結構性閱讀】。
單純性閱讀:我身邊就有很多這樣的人,雖然每天習慣性的看一些文章(我擦,這好像也包括我),但是這些文章看了可能也僅僅就是看了,就圖看個熱鬧,並不會有任何的思考和記錄。看完後如果覺得文章還可以就點個贊,順便加入收藏,心想著以後等用到的時候再回來看。等真的遇到問題,如果情況好點你可能會有一些印象,記得好像收藏過相關的文章,可是等你開啟收藏夾後卻發現裡面收藏了太多太多的文章,已經根本沒有辦法找出你想要的那一篇了;甚至有可能你早已經忘記了自己還收藏過那樣一篇文章。最後沒辦法只能通過百度或者谷歌去搜尋解決辦法。
實踐性閱讀:有的人在閱讀一些技術文章的時候會結合文中的指導去編寫一些demo,或者在實際開發中跟著這些指導一步步的完成了功能的編寫。但是寫完也僅僅是寫完了,網頁一關,這些知識基本上是又還給了作者了,自己並沒有吸收太多,或者說僅僅只吸收了很小很小的一部分。我想這可能就是很多人覺得自己為啥寫了那麼多程式碼,技術水平卻仍然沒有沒有太大的提升一個原因吧,因為雖然平時文章看的多程式碼也敲的多,但是卻都沒有積累下來。
結構性閱讀:什麼才是結構性閱讀呢?好像學術上並沒有這麼一個詞,可以算是我拍腦殼胡謅的(我們是技術文章,要嚴謹啊!要不你給起個名字?)。所謂結構性閱讀,顧名思義就是能結構性的、針對性的去閱讀一些文章。開始閱讀的初衷一定是因為某個目的,比如學習一門新技術,或者想鑽研某個技術方向,再或者僅僅是因為專案中的一個需求而衍生出來的一些興趣。閱讀的過程肯定伴隨著記錄和實踐,自己動手也寫了一些demo,並且會把每一行陌生的程式碼都寫上註釋,方便以後再看。等學習完畢或者進行到某個階段結束後,可以結合自己的理解進行一些記錄,比如寫一些部落格,或者總結成一個開源專案公佈出去之類的。其實我們可以看一下那些經常在部落格上寫一些好文章的大牛們,好像他們也就是結構性的總結了一下自己近期的閱讀成果而已!
一直都在學習的路上從未停止,我也在不斷探索改進自己的學習方式。雖然每天都會讀很多技術文章,但那更像是維持自己的一種話題能力,為的是當一群程式設計師聚集在一起聊技術的時候能讓自己有個談資,就像我每天還會看看今日頭條一樣,也是為了保持這種話題能力,但是技術的提升通過這種方式是肯定行不通的。程式設計師算是一個比較熱愛分享的群體,不管你想學什麼技術都可以搜到一大堆相關的教程,但是如何能把這麼多的技術文章轉化成你自己知識體系中的一步分,就必須通過結構性的閱讀方式了。當然,可能適合每個人的結構都不一樣,所以這也需要我們通過不斷的學習,來優化屬於自己的結構組織方式了!
最後想問一下,作為程式設計師,你是如何提升自己的技術水平的呢?
本次徵文活動的連結: gold.xitu.io/post/587f0e…