技術團隊的學習方法:天天學習 100 分鐘,成功寫出 2 本書

做者:李樂html

  • 「雷哥,我感受我工做 2 年了,每天都是在用 PHP 寫業務邏輯,CURD,CURD,CURD,雖然很努力也很累,可是感受本身也沒什麼成長……」
  • 「隔壁團隊搞基礎架構的兄弟好像很厲害,比我成長得快不少……」
  • 「掌握的技術感受很不錯了,能搞定全部業務了,自我感受良好,可是每次晉升答辯都不知道講啥……」

成長的煩惱每一個人都有,有些人選擇用行動消除,有些人依然沉淪。前端

幸運的是,咱們是前者。2016 年,咱們團隊開始了天天早晨 08:50—10:30 的 100 分鐘早讀會,主要研讀工做中用到的開源軟件,好比 PHP 、 Redis(Codis)、 Nginx 和 MySQL 等。咱們的規矩是團隊成員自願參加。編程

問題也隨之而來了,五分鐘熱度與兩天打魚三天曬網,怎麼辦?
「重在參與」: 一我的引導,你們一塊兒討論;不是分享,是提問和探討;主動思考纔是正道segmentfault

設立階段性目標:天天沉澱 wiki,有了大量的學習筆記;設立一段時間的目標,好比將來 2 周弄懂 PHP 基本變量;長遠目標,寫一本書(2017 年咱們的第一本書《PHP 7 底層設計與源碼實現》已上架)。後端

組織者以身做則:「以身做則」,天天按時到公司;前一天晚上用 2 個小時準備次日要講的內容;一我的帶動三我的,三我的帶動整個團隊;團隊其餘成員在成長,本身不成長就是「退步」。微信

21 天養成一個好習慣:4 個星期後,參加者會持續參加,養成了習慣;想偷懶,或者其餘緣由不參加,心裏會「焦慮」。網絡

2018 年 3 月份,咱們開始了 Redis 源碼的學習。從數據結構學到命令解析,再到應用與實踐;從第一遍的抓主流程脈絡,到第二遍的扣源碼細節,到第三遍的提高實戰高度。前端工程師

一些好的學習方法分享給你們數據結構

  • 打破砂鍋問到底:凡事多問幾個爲何,任何方案、任何決策都有其背後的邏輯存在。好比,SDS 結構爲何這麼設計?爲何要採用漸進式 Rehash?過時健刪除策略怎麼決策?epoll 爲何這麼受歡迎?
  • 總結與沉澱:積硅步以致千里,積怠惰以至深淵;記錄天天的學習筆記,多輸出優秀的博客文章;天天學一點,一年大不一樣。
  • 觸類旁通:之內存管理爲例,對比 PHP/ malloc/Redis/Nginx 內存管理各自的特色,思考 PHP Chunk 爲何須要 2MB 字節對齊;學習網絡編程,對比 Nginx、Redis、Swoole 網絡模型以及定時事件模型。
  • 學以至用:源碼學習不是純粹的理論,設計、思惟、應用都很值得咱們細細品味;好比學習這些源碼後,在平常工做中,團隊夥伴的問題處理能力提高了不少——日誌切分致使 fpm 延遲上漲問題;PHP 日誌打印混亂問題;Nginx 502 和 504 問題定位;線上 fpm idle 掉底緣由定位。

2018 年 8 月咱們開始了《Redis5 設計與源碼分析》一書的編寫。團隊總共 9 位成員,陳雷、方波、黃桃、李樂、施洪寶、熊浩含、閆昌、張仕華、周生政。有些人是已是第二次寫做了,有些人是第一次寫做。架構

第一次寫老是煎熬的,寫一行,不理想,刪了重寫,再寫仍是不理想。將近一個月過去了,有些人僅僅寫了半頁。沒有目標的前行果真是緩慢的。咱們再次的確立了目標,10 月初每一個人完成各自第一章的編寫,11 月初完成各自第二章的編寫,11 月底到 1 月初全員參與校稿,與出版社簽定合約 1 月底向出版社提交初版書籍。有了目標,效率確實提高了;週末甚至是國慶假期都能看到你們來公司寫書。有小夥伴說,10 月 4 號國慶假期去公司寫書,完成了一章,一看時間都晚上 11 點多了。

寫書的過程是煎熬的,校稿的過程更是煎熬的。週末須要全體成員來公司,大屏幕投屏,每一章節、每一句話都須要一塊兒審覈,表達是否正確、是否清楚、是否有語法錯誤。不少時候可能由於一句話你們討論很久。

理工科學生每每是不善於寫做的,寫完書校完稿後,有夥伴都打趣說寫做能力提高了很多。

2019 年 8 月份,《Redis5 設計與源碼分析》書籍正式上架,這也是咱們團隊的第二本書。在此感謝幾位兄弟在學習和研究過程當中的陪伴與合做,本書是幾位兄弟共同合做的結晶。

早讀會也持續了三年時間了,時間不會虧待努力的人:

  • 聽衆變成了講師,菜鳥變成了大神;
  • 思否(segmentfault)上發表了 101 篇文章,收穫了 5000 聲望,4000 粉絲;
  • 創建了 LNMPR 源碼交流的微信羣,從最初的二三十人的討論羣,到如今的將近 500 人的大羣;
  • 早讀會從 10 我的到 20 我的,再到 50 我的;從滴滴到學而思網校;從後端到前端工程師;從雲平臺團隊到基礎架構團隊;

……

有人問我,學習源碼對平時工做有什麼幫助呢,在這裏我以團隊成員黃桃爲例。入職時只是 D5 的初級工程師,只會作模塊的開發,對於線上問題不知如何下手定位,方法論不足。堅持不到兩年的學習後成長爲 D7 的資深工程師,不只能快速定位問題,更能從原理源碼層面解釋清楚,已經成長爲團隊的技術標杆。

我想告訴你們的是:

  • 天天一點成長,積聚起來就是巨大的收穫;
  • 永遠都要有學習的習慣,把成長做爲最重要的事;
  • 對於技術問題,要打破沙鍋問到底,越問會發現本身不知道的越多;
  • 人類對事物的認知是從無知→知道→瞭解→熟悉→掌握→精通 6 個階段,堅持學習是惟一的道路;
  • 但願更多的人一塊兒來堅持學習,一塊兒來堅持成長。

將來的咱們計劃:

  • 明年出版《Swoole 5 應用與原理》;
  • 明年出版《Nginx 源碼分析》;
  • 培養幾位精通 PHP、Redis、Nginx 等方面的專家。

附上兩本書的照片和連接:

clipboard.png
《Redis5 設計與源碼分析》https://item.jd.com/12566383....
《PHP7底層設計與源碼實現》https://item.jd.com/12355605....

相關文章
相關標籤/搜索