-
讀了多少書?怎麼讀書?
——請問大家最近讀書了嗎?一年大概讀了多少本書。 有超過20本,超過30本,超過50本嗎?
在7月14日由長沙網際網路活動基地和長沙.NET技術社群組織的小型社群活動,《開發者愛讀書•線下讀書會》上,長沙.NET技術社群的專家、資深Java開發者、架構師郭德強問了大家這樣一系列問題。
讀書會其實對我們技術社群來說,是一種比較獨特的形式,作為一個以“不搭訕,不閒聊,不吹水,只討論技術”為口號的線上社群,在長沙這樣的城市,本身就有點“奇葩”,因為願意靜下心來學習新技術、讀書的開發者,或許並沒有那麼多,更何況是讀書會這種奇怪的形式。
所以活動通知發出去之後,報名人數並不多,計劃20人,實際上只報名了12人,但是出席率看起來還不錯,來了十一位,接近百分之百。
事實上,讀書在現代人的生活節奏中,也越來越成為最奇怪的一種學習方式,尤其是對於享受996福報的開發者來說,更是如此。沉迷於工作不可自拔的開發者們,下班回家之後已經十點了,大概很少有時間讀書,而且碎片時間也被各類app充分發掘,是頭條系應用們的業務增長點,所以能在炎炎夏日之下,這麼多開發者來到現場,實屬一股清流。
回到那個問題,顯然不太可能真的讀過這麼多書的人,大家普遍回答說一年大概一兩本,基本上也很難能夠讀這麼多的書。
---德強哥說他一年大概能讀三十到五十本,這是一個非常厲害的成績,溪源認為今年看了不少書,也才7本書,他為什麼能讀下這麼多書?
德強哥分享了他的經驗,他說讀書本身就需要一些方法,並非每一本書都值得精讀,他推薦了一本書《如何閱讀一本書》,他說讀書首先應該從閱讀序開始,體會作者寫書的背景和心境,然後在根據目錄再按章節先略讀一遍,有的書,看一遍就會體會到這些書中有價值的點,然後再結合這些點,逐步的開展劇情。
-
為什麼要讀這麼多的書?
德強哥說,作為程式設計師往往習慣於看技術書,例如教大家怎麼用工具的書和某些語言的技能書,但是有時候也應該看一些非技術的書,例如思考人性的書,心理學的書,倒也不是說一切程式皆玄學,而是因為在軟體開發的過程中,實際上依然是人與人之間溝通的過程,而每個人說的話,做的事,實際上都有其動機和想法,思考對方的想法,更有利於開發者們對功能的實現。
如果始終站在自我為中心的角度,思考在某些場景下,資料驅動行為,本身就容易陷入誤區。
既然資料驅動設計有毛病,那採用測試驅動設計?還是領域驅動設計?還是行為驅動設計?
德強哥說,其實是人性驅動設計。在看似風口迭起的IT行業,似乎大家的身邊有許多程式設計師,但實際上真正全世界範圍來看,依然只有兩千萬程式設計師,從中國範圍來看,也就兩三百萬程式設計師,所以看似原本跟計算機打交道的枯燥無味的軟體開發,依然是人類群體活動的一個環節。
所以程式設計師不是孤立存在的現代行業,閱讀一些社會心理學的書,更有利於發掘需求的意義。尤其是面向特定的行業人群,更需要站在行業人群的教育背景、人際交往、愛好等領域去思考,這更需要我們閱讀更多的書,即便是許多產品,其實是抄襲競品出來的,同樣也需要了解行業背景做出獨特的特色,才能在市場上立於不敗之地。
學習軟體架構,有時候閱讀一些建築學的書,反而能產生不錯的觸動效果,“他山之石可以攻玉”,建築業其實和軟體行業具有更多的共同性,有很多重要的架構思想,其實也是從建築架構體系中發散出來的。
閱讀管理學的書,則讓我們能夠具有同理心,想想老闆是如何將問題分下來的,或許有利於我們更好的解決問題。
如果要學習Redis這個工具的用法,單純只看Redis的書,難免會有點片面,但是如果你把其他類似的NoSql相關的技術體系,都看一遍,那反而能更加深入的瞭解redis這種技術的獨特之處了,而且還會產生附加效應,例如哪天有一個別的Nosql技術火起來了,至少知識體系是一同百通的。
-
彼得原理告訴我們要讀書
在過程中還聊到了其他內容,一些看似無關的概念,如彼得原理。彼得原理是西方管理學的一個重要理論,他說的是,在各種組織中,由於習慣於對在某個等級上稱職的人員進行晉升提拔,因而僱員總是趨向於被晉升到其不稱職的地位。
彼得原理有時也被稱為“向上爬”理論,這種現象在現實生活中無處不在。例如每個開發者的職場生涯,總有一個階段感覺進步很快,但很快就到了瓶頸期,所以需要晉升到更高階的崗位,或改變自己的學習方法,讓自己的技能進一步提升。
其實企業發展同樣受這個理論的掌控,如果一家組織如果發展得很快,那麼到了一個階段,例如兩百人的規模,就容易陷入內卷化,需要引入新的管理方法才或許能再進一步。
-
要有輸入和輸出,要用輸出倒逼輸入
到場的996的開發者們說上班太忙了,有時候想學一些新知識,都沒有足夠的時間,或者就算擠出了時間,也感覺學不進什麼,除了遺忘曲線本身外,還有其他原因麼?
溪源說大概是因為有輸入沒輸出造成的,例如,最常見的一種輸出,就是做專案,通過做專案能夠快速的沉澱我們的技能,讓我們快速成長,這也是我們在參加工作的前三年感覺技能突飛猛進的一個原因。但是隨著我們的技能逐漸成長,原來做專案的模式帶來的成長效果其實也越來越差。其主要原因是專案中使用的技術雖然很多,為了解決眼前問題,我們往往更傾向於越快越好,這就讓我們可能掌握了許多技術,但是都不精通。所以隨著經驗的增長,需要一些其他的方式來進一步沉澱我們的技能。
寫部落格其實是一種方式,寫書也是一種方式。 還有一種方式是做技術分享。優秀開發者都善於用輸出倒逼輸入。
周尹老師說,優秀開發者都善於用輸出倒逼輸入。哪怕你是一個自律的人,有時候也難免會陷入自以為是的怪圈,這時候,通過外力來逼迫,促使你沉下心來認真的學習,反而能讓輸入產生更好的效果。
溪源深有同感。曾經跟咕泡學院創始人、校長蔣孟枝蔣總有過交流,他曾在大眾點評擔任高階架構師。他說他最大的愛好不僅僅是解決問題帶來的快樂,而是把自己的知識分享出去,讓更多人瞭解這些知識,這讓他得以獲得更大的滿足。通過分享知識,也促使他學習更多的新技術;在這個過程中,他又能認識許多朋友,這也是他得以成功創立咕泡學院的一個很重要的因素。
-
鑽研技術有用嗎?
現場還有人提出了一個問題:
不要妄想用技術改變世界,技術是沒什麼用的,因為我們學的技術都在被新技術取代。
必須承認,在長沙的軟體公司,似乎大部分技術體系都沒有那麼先進,許多.NET企業,其實還是在用三層架構。但是這也只是公司當前的形態而已,大部分的IT公司都對新技術有興趣,只是限於當前的業務發展狀況,尋求穩定的技術是必然選擇。
學習新技術也正是開發者們立足於世界的根本之一,只有不斷的學習新技術,我們的技術體系才不至於落後。
雖然真正改變世界的企業,其實只有那麼幾家,但頭部玩家所引領的時代潮流,已經逐步改變了我們的生活。一切知識往往都是有用的,要麼是真的沒有用起來,要麼是我們還不夠熟練。
-
結語
這是我們第一次組織讀書會這種形式,從2點半開始,到5點20結束,持續了將近3個小時的時間,實際上交流的點非常多,當然還有更多思想碰撞,例如:
為什麼專案老是延遲?
為什麼長沙的那些老專案管理者,找工作總是很不如意?
為什麼需求總是做不完?
外包專案值不值得做?
看了那麼多書,怎麼用?有用嗎?
限於時間緣故,溪源只能記錄五點,請大家見諒(典型的撿了芝麻,丟了西瓜)。
通過這種方式,大家可以從線上走下線下,進一步開啟自己的圈子,也能跟其他開發者一起交流、效果還是非常不錯的,尤其是目前大家主要學習形式依然是藉助於自學或公司的安排,並非每家公司都有比較不錯的分享氛圍。
這樣的讀書會,能夠面對面的與比我們年長的開發者、架構師們交流,更有利於年輕開發者們對於方向的把握,所以長沙.NET技術社群計劃把這種形式固定下去(每月一次),歡迎大家持續關注。