本週 沸點,掘金團隊請來了掘金小冊《Redis 深度歷險》、《深入理解 RPC》的作者 -- 老錢做了為期三天的 Ask Me Anything (AMA) 活動(已結束)。
我們在此精選了一些來自使用者的提問及老錢的回答。
關於老錢:
- 掘金小冊《Redis 深度歷險》、《深入理解 RPC》的作者
- 網際網路分散式高併發技術十年老兵,目前任掌閱科技資深後端工程師。熟練使用 Java、Python、Golang 等多種計算機語言,開發過遊戲,製作過網站,寫過訊息推送系統和 MySQL 中介軟體,實現過開源的 ORM 框架、Web 框架、RPC 框架等
- 掘金專欄:juejin.im/user/5a9c4a…
- 知乎專欄:zhuanlan.zhihu.com/codehole
- 微信公眾號「碼洞」原創作者;
- Github 地址: github.com/pyloque
社群小夥伴提問
想知道老錢是如何源源不斷做出好文章的輸出的?不斷堅持下去的動力是什麼?如何平衡工作和學習? ─ @每天曬白牙
老錢,你好,不知道從哪個機緣巧合關注了公眾號,看老錢的文章,收穫很大,最近在讀redis小冊,對我做業務開發的幫助挺大的。我也買了好多書,看了很多部落格,開了公眾號和部落格,寫過幾篇,但現在市面上有好多作者寫了不錯的系列部落格,自己寫的很難突破他們的範圍。而且也不能通俗易懂的把原理闡述清楚,可能是一種為了寫而寫。所以大多在中途放棄了。我也工作幾年了,但只比老錢小3歲,老錢現在很多粉絲,我想知道老錢是如何源源不斷做出好文章的輸出的?不斷堅持下去的動力是什麼?如何平衡工作和學習?尤其是加班較多的情況,希望老錢指導一下
我寫作的目的更大程度上是為了提升自己的知識水平,因為寫作能讓我發現個人知識的缺陷。為了寫一篇文章需要花很多時間去了解相關的知識點,需要看原始碼,查stackoverflow,畫圖,寫程式碼等。我會將每一篇文章看成自己的一個小作品來認真對待。當這個作品完成的時候我會體驗到成就感,這大概就是促使我繼續寫下去的動力所在。
軟體行業有一個除錯技能叫著「小黃鴨除錯法」,我覺得寫作跟這個有點類似,就好比你眼前有一隻小黃鴨,你在嘗試將知識一步一步介紹給它聽,力圖讓它聽懂理解。自己懂和讓別人也懂真的不是一回事,要將寫作的心態從炫技轉變為讓讀者看懂。如果能讓讀者看懂,再稍微炫技一點那就是錦上添花的東西了。
將粉絲數量看淡一點,努力提升作品的質量,粉絲讀者自然就會過來,這是一個水到渠成的過程。很多技術文章市面上確實都有,但是用自己的語言講出來,用自己的圖花出來,用自己的程式碼寫出來,那就是一個不同的作品。就好比市面上已經有了那麼多Redis書籍的情況下,我還是寫了自己的Redis小冊,因為我相信用自己的方式講出來肯定可以給讀者帶來不一樣的體驗。
您寫小冊的初衷是什麼?以及對小冊產品的評價是怎樣的?什麼地方需要優化? ─ @陰明
在掘金寫了兩本小冊,銷量都很不錯,內容也很贊。您寫小冊的初衷是什麼?以及對小冊產品的評價是怎樣的?什麼地方需要優化?
我寫小冊的初衷是因為我看了掘金的小冊後覺得自己也能寫出這樣高質量的內容。能夠寫出一本書,雖然很薄,那也是可以給自己的職業生涯添彩的事。另外我發現技術寫作並不只是在奉獻知識,寫作能讓自己看到自己知識掌握的不足之處,促使我去進一步查閱資料解決自己給自己提出的很多問題,這樣可以能讓自己的技術知識更加系統化全面化。每次寫完一節都會有成就感,就好比我輸出的這些知識再也不會被大腦遺忘了。
我很喜歡小冊這個產品,當我第一眼看到小冊首頁的書籍列表時我就充滿了好感。它比紙書便宜,更重要的是內容精簡,是介於碎片化和系統化之間的一種閱讀品種,可以讓我們將很多零散的時間積聚起來進行系統化的知識學習。它的閱讀體驗也很好,我平時幾乎從來不用手機來看電子書,但是小冊給我的感覺很不一樣,只要內容裡面沒有充斥大量的程式碼,讀起來還是非常不錯的。
小冊的生產效率高,從開始寫作到上線,整個流程也就2~3個月。內容上有錯別字的話,可以實時線上修改,關於這一點我要感謝廣大小冊讀者們,你們幫我糾正了好多錯別字^_^。如果是紙書的話,可能要接近一年作者才能看到自己的作品出版發表。內容上出現了錯誤,你都沒辦法撤回了。相比寫小冊而言,寫紙書似乎是一種折磨。
小冊的另一個好處就是粉絲與讀者的實時互動,能夠看到幾千個讀者和你一起交流真是一件很有成就感的事,當然前提是內容要好,讀者對作者的評價是正向的。如果寫的不好,可能會遭遇讀者的口水,你也要有心理準備。有人問我為什麼能夠寫出這樣高質量的作品出來,我想可能是因為我人比較脆弱,太害怕讀者罵我了^_^。
要說小冊的缺點,那就是它還年輕,還不夠成熟,需要摸著石頭過河,有很多經驗教訓需要吸取。我相信小冊這個模式是極好的,是非常有價值的。也希望更多的技術作家也能加入到小冊製作的隊伍,讓我們一起打造一本有一本高質量的技術作品來。
最後要感謝掘金平臺,我在寫第一本小冊之前我只能說自己是個寫公眾號的,才寫了幾個月。寫完第一本《深入理解RPC》後,我給自己掛上了一個「實習技術作家」的稱號。等到第二本《Redis 深度歷險》上線後,我開始覺得自己是一個職業的技術作家了。^_^
如何高效工作和高效學習的祕訣?─ @蔣海博
老錢,您好,既然您有孩子,請問如何平衡陪伴孩子和工作的時間?我看您又工作又寫出,應該很忙吧。還有是否能分享下如何高效工作和高效學習的祕訣。謝謝。
我在掌閱的工作本身不是太忙,至少近期時間上還有不少閒魚。所以我才會有時間來做一些技術寫作的事。白天家裡有老人幫我看孩子,每天下班回家,孩子睡得也早。到了週末,我總會花一些時間帶著孩子去逛商場,這也就是平時最主要的親子活動了。我本人比較宅,社交活動很少,所以剩下的時間就可以專心做自己喜歡的事,如果一個人整天到處跑,除了沒時間之外,估計心態也會比較浮躁。
市面上所有的程式設計書籍都有一個規律,那就是越基礎的書越多,越高階的書越少。隨著自己知識的漸長,市面上的書籍大多已經不能滿足我的需要,所以平時的學習知識來源還是主要靠網路分享、靠原始碼、靠google、靠stackoverflow。除非是對某個新的領域感興趣,我會買一些基礎的書來了解入門。工作上當我做一件事的時候,我會非常專心地去做,我會帶著耳機希望自己不被打擾,安靜的狀態平和的心境就會帶來效率的提升。
老錢年輕有為,可以分享下你在業餘時間是如何提高自己技術的嗎?─ @Lanwy
老錢年輕有為,可以分享下你在業餘時間是如何提高自己技術的嗎
我看過很多技術的書,絕大多數都會走馬觀花的看了,雖然理解不深,但是見識較廣。而真正提升自己技術的還是要靠自己寫程式碼,通過寫程式碼才能意識到原來有那麼多的細節需要考慮,有那麼多的知識漏點需要我用google用stackoverflow來解決。另外和同事們相互交流討論也是很重要的,前提是有一個好的技術氛圍,如果沒有,那就需要領導們帶頭建設。如果你在學習一門技術時非常枯燥,有一種觸頂的感覺,那可以考慮旁敲側擊,通過學習周邊的另外一門稍有關係的技術知識,也許你會有很多新的發現。
在時間方面,我投入的是很多的。記得多年之前我在醫院做手術的時候,你知道醫院是一個非常無聊的地方,那個時候我還在拿著自己的ipad閱讀技術電子書。
如何選擇自己的技術路?─ @RonyRen
兩個小冊都已經入手,但靜不下去看,很懶惰。 我想問:1. 是該找合適自己技術方向的工作,還是找與技術稍微有點有關的工作?
如果你要持久走技術路線,沉下心來積累技術是很有必要的。即使你要去找「與技術稍微有點關係」的工作,技術知識知道的也是越多越好。剛開始學習技術可能略顯枯燥無味,但是隨著你做出了一個又一次作品出來,成就感與日俱增,你對技術的態度有可能從一門單純的工作上升為一種愛好,但是這需要時間,要有耐心。人生的選擇猶如小馬過河,還需要自己來決定。
如何選擇後端程式語言?─ @DiDiQi
您好,我是一個前端,現在想學一些後端語言,不知道您是否能就Python、Java、Go對新手的友好程度談一談看法呢?都說Python 3天就能學會,是真的嗎?
建議Python,入門簡單,只是效能弱一些,不過在大城市這門語言還是非常熱的。Go也很不錯,它比較適合會C語言或者Python語言的人上手,如果學javascript的突然要來學Go恐怕會遇到不少障礙,Go語言是一門新興語言,對它的需求日益上漲,雖然現在招聘需求還不是很旺盛,但是未來幾年可能還會繼續上漲。Java語言個人認為可能是最難學的了,雖然也許很多讀者不會這樣認為。但是不可否認的是Java語言應用最為廣泛,找工作最容易,生態圈最為豐富,雖然這門語言被很多人詬病「老」、「重」、「笨」,但是要拿來掙工資那還是非常不錯的,阿里系90%不都是java語言麼。
最後任何一門語言想學深,都不是容易的事,需要下苦功夫。
如何平衡多門程式語言?─ @趙加興
您是如何學習與掌握多種語言的呢?目前我正在使用 PHP Python Java ,感覺很難去深入, 每個語言需要的精力都很多,您是如何平衡的?
我所掌握的這多門語言,每一種都花了3年以上的時間。而且我在學習一門語言時,那就專心的積累這門語言的知識和經驗,腳踏多隻船會讓人心浮氣躁。當你自我感覺這門語言已經掌握的比較深入,做的專案也比較豐富的時候,很多本質的東西已經看清,也就可以嘗試去吃點其它的零食了。
學習一門語言不只是它的語法,還有它的運作機理,周邊的生態,優秀的開源專案,這些都是需要深入瞭解的,要用一種刨根問底堅持不懈的研究態度來對待它。以前我聽說程式設計師應該一年學習一門程式語言,現在發現這個錯誤的,一年的時間搞定一個程式語言是不可能的,至少對於我這種資質的程式設計師來說根本做不到,我需要的時間至少是三年。
有哪些高效工作和高效學習的祕訣?─ @蔣海博
老錢,您好,既然您有孩子,請問如何平衡陪伴孩子和工作的時間?我看您又工作又寫出,應該很忙吧。還有是否能分享下如何高效工作和高效學習的祕訣。謝謝。
我在掌閱的工作本身不是太忙,至少近期時間上還有不少閒魚。所以我才會有時間來做一些技術寫作的事。白天家裡有老人幫我看孩子,每天下班回家,孩子睡得也早。到了週末,我總會花一些時間帶著孩子去逛商場,這也就是平時最主要的親子活動了。我本人比較宅,社交活動很少,所以剩下的時間就可以專心做自己喜歡的事,如果一個人整天到處跑,除了沒時間之外,估計心態也會比較浮躁。
市面上所有的程式設計書籍都有一個規律,那就是越基礎的書越多,越高階的書越少。隨著自己知識的漸長,市面上的書籍大多已經不能滿足我的需要,所以平時的學習知識來源還是主要靠網路分享、靠原始碼、靠google、靠stackoverflow。除非是對某個新的領域感興趣,我會買一些基礎的書來了解入門。工作上當我做一件事的時候,我會非常專心地去做,我會帶著耳機希望自己不被打擾,安靜的狀態平和的心境就會帶來效率的提升。
本期 AMA 社群小夥伴提了許多實用問題,感謝老錢 認真地為掘金小夥伴解答了不少疑問。瀏覽更多的問答,可以到老錢的 AMA 進行閱讀和討論。
老錢 AMA 福利:掘金小冊免費碼
老錢從所有提問中選擇一個他覺得最有價值的 3 個問題贈送對應的提問者一枚小冊免費碼,同樣,掘金社群根據問題獲得的點贊數贈送對應的提問著一枚小冊免費碼。拿到免費碼的小夥伴記得查收郵件喲~