阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

技术团队的学习方法:每天学习 100 分钟,成功写出 2 本书

  • 2019-09-06
  • 本文字数:2180 字

    阅读完需:约 7 分钟

技术团队的学习方法:每天学习100分钟,成功写出2本书


雷哥,我感觉我工作 2 年了,天天都是在用PHP写业务逻辑,CURD,CURD,CURD,虽然很努力也很累,但是感觉自己也没什么成长……”

“隔壁团队搞基础架构的兄弟好像很厉害,比我成长得快很多……”

“掌握的技术感觉很不错了,能搞定所有业务了,自我感觉良好,但是每次晋升答辩都不知道讲啥……”


成长的烦恼每个人都有,有些人选择用行动消除,有些人依然沉沦。


幸运的是,我们是前者。2016 年,我们团队开始了每天早晨 08:50—10:30 的 100 分钟早读会,主要研读工作中用到的开源软件,比如PHPRedis(Codis)NginxMySQL等。我们的规矩是团队成员自愿参加。

问题也随之而来了,五分钟热度与两天打鱼三天晒网,怎么办?

  • “重在参与”: 一个人引导,大家一起讨论;不是分享,是提问和探讨;主动思考才是正道。

  • 设立阶段性目标:每天沉淀 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 等方面的专家。

作者介绍

陈雷,学而思网校技术负责人,清华与北京邮电大学硕士,曾在百度、腾讯和滴滴等公司工作,12 年后端架构经验。合著有《PHP7 底层设计与源码实现》。


李乐,好未来 PHP 工程师,西安电子科技大学硕士,乐于钻研技术与源码研究,对 Redis 和 Nginx 有较深理解。


2019-09-06 14:397285

评论 4 条评论

发布
用户头像
看到了李乐的名字,可惜不是自己。哈哈
2021-01-04 16:00
回复
用户头像
期待参与成为其中一员
2019-09-10 05:58
回复
用户头像
🐂🐂🐂
2019-09-09 19:28
回复
用户头像
加油💪
2019-09-09 19:20
回复
没有更多了
发现更多内容

SpringBoot整合Jpa项目(含Jpa 原生sql语句介绍)

小Q

Java 架构 微服务 springboot jpa

iOS底层原理之—dyld与objc的关联

iOSer

ios ios开发 iOS Developer dyld objc

阿里云服务器搭建

时间是一个人最好的证明

阿里云 服务器 域名

从格力直播看品牌商的渠道变革

boshi

数字化转型 品牌 直播带货 优化业务

Go 语言内存管理三部曲(二)解密栈内存管理

网管

堆栈 内存管理 内存布局 Go 语言

架构师训练营第三周课后练习

薛凯

2020.10.05-2020.10.11 学习总结

icydolphin

极客大学架构师训练营

架构师训练营第一周总结

薛凯

微服务已成Java开发的面试门槛,你连SpringCloud都不会怎么涨薪

Java架构之路

Java spring 编程 程序员 面试

Redis - redis.conf - 中文翻译

小方

redis 缓存 翻译

[周末荐片]Undercover Billionaire

亚伦碎语

生活

ARTS Week13

丽子

第四周 系统架构作业

蓝黑

极客大学架构师训练营

架构师训练营第四周课后练习

薛凯

架构师训练营第一周课后练习

薛凯

spring-boot-route(十七)使用aop记录操作日志

Java旅途

Spring Boot aop

学习笔记丨数据结构与算法之贪心算法

Liuchengz.

贪心算法

十四、深入Python条件和循坏

刘润森

Python

架构师训练营第三周总结

薛凯

架构师训练营第四周总结

薛凯

轻量级业务中台开发框架,以DDD思想为基础,融合中台核心要素,赋能中台建设

高鹏

中台 业务中台 DDD 框架 中台架构

分布式系统中的CAP、ACID、BASE概念

编程 分布式

Java进阶架构师面试手册:核心框架篇整理,助我斩获65W架构师Offer!

Java架构追梦

Java 学习 架构 面试 框架

每周花6小时跟清华大牛马士兵学Java:多线程高并发、JVM调优、算法、设计模式等

Java架构之路

Java 程序员 面试 算法 编程语言

阿里大牛原创技术好文精选整理:Redis+Nginx+设计模式+Spring全家桶+SQL+Dubbo

Java架构之路

Java 程序员 面试 编程语言

一文带你轻松了解Python导入模块的各种命令

计算机与AI

Python

第四周作业

icydolphin

极客大学架构师训练营

LeetCode题解:22. 括号生成,递归先生成再过滤,JavaScript,详细注释

Lee Chen

大前端 LeetCode

COSCon'20 & Apache Roadshow 来了,数据技术专场欢迎您

代立冬

来点不一样的: 精选200个Java技术面试真题,详解应聘Java程序员常见考点,在Github上标星89.6K

996小迁

编程 程序员 架构 面试

十三、深入Python字典和集合

刘润森

Python

技术团队的学习方法:每天学习100分钟,成功写出2本书_文化 & 方法_陈雷_InfoQ精选文章