技术高手锤炼记

在职场混迹多年,见过菜鸟,遇过大神,不同的段位,不同的格局。

每个小蓝孩都有想成为英雄的梦想,同理,每个技术小白都希望跃迁为技术大牛。但凡事不可一蹴而就,在这成长的过程中,需要努力、汗水、专注度。我也是众多小白之一,偶然间读到一篇文章,颇有感触,遂拿出来与诸君分享,若有不当之处,还望斧正。

第一阶段:认真构建完整的知识体系

现在是最好的时代,同时也是最坏的时代。好在信息的获取唾手可得,坏在干扰信息远比重要信息多得多。我们很多时候看到和听到的都是别人咀嚼消化的东西,而能真正拿到一手资料进行认真分析解读,构建属于自己的知识大厦,才是立足于这个时代的不二法门。

何为知识体系?前支付宝架构师姚建东曾经做过技术人员如何规划自己的分享讲座,我转化为了思维导图:

技术高手锤炼记

以上其实就是一份从业基础知识清单,你可以按图索骥,阅读相关书籍。而关于阅读技术书籍这块,我们常遇到的几个问题有:

书看不懂,容易放弃,怎么办?

不要一开始选择困难模式,也就是不要一开始选择大而全的书,这类书一般不适合入门学习。

我们先要找新手村级别的书来入门,新手村的书一般很快就看完的,看完后我们大概就知道这类书籍的重点知识,然后再通过查阅这些大而全的书的目录来学习对应章节的内容。

看书的效率很低,怎么办?

其实书并不一定要全部从头看完的,而且也不要固执到一直只看一本书。

最好在学习某个知识点的时候,通过看多本书来一层层的学习这个知识点,这样你学起来的知识点会比较全面,也更加深入。

按这种方式学,你会发现很多书都被你不经意间看了 7788 的。

做了很多笔记,依然过会就忘记,怎么办?

做笔记建议使用思维导图,把思维导图当作一课自己的知识树,每深入学一个知识点的时候,就开一个分支去记录。

在记录笔记的时候,尽量少 copy 书上的内容,最好还是经过自己思考后用自己的话输出的笔记,而且可以搭配生活场景来加深记忆点。

第二阶段:顺着一个Topic钻进去,锻炼自己的预研能力

无论公司业务还是自己喜欢做的事,都可以抽象出通用性课题,然后以做论文的方式杀进去。这个事情得反复操且有意识地操练:

  1. 抽象出 Topic——如分布式锁,分布式并行计算引擎,防CSRF的FormToken自动生成框架,定时任务管理与调度平台,分布式跟踪,等等
  2. 向功课好的学生学习——有针对性地深入了解业界其他公司是如何分析问题和解决问题的,汇总各种方案,站在巨人的肩膀上
  3. 分析特定应用场景,技术选型
  4. 兼顾高可用性和可伸缩,做设计评审
  5. 做测试自证靠谱,梳理知识点,开技术分享会
  6. 上线商用,总结经验教训,开经验分享会

这里为什么要做分享,因为我们学习有个遗忘曲线:

技术高手锤炼记

我们读过的事情能够记住学习内容的10%,

我们听过的事情能够记住20%,

我们看过的事情能够记住30%,

我们听过和看过的事情能够记住50%——如看影像/看展览/看演示/现场观摩,

我们说过的事情能够记住70%——如参与讨论/发言,

我们说过和做过的事情能够记住90%——如做报告,给别人讲,亲身体验,动手做。

第三阶段:疯狂回答技术问题

知识体系要慢慢构建,与业务相关的抽象 Topic 也会有个探索的过程。

而我们亲身接触到的世界又太小,可能不足以构成挑战,所以绝大多数时候,你可能意识不到自己缺多少知识和技能,不利于你分析问题、提出问题和解决问题的能力培养。所以,要主动出击:疯狂回答问题

刚开始可以先在自己的专业领域找几个好的论坛回答问题, 把解决问题的过程整理成文;然后,在自己感兴趣的相关领域也试着进行回答,一来二去,你的知识面会更广且更深。

你学过的每一样东西,你遭受的每一次苦难,都会在你一生中的某个时候派上用场。

——佩内洛普·菲兹杰拉德 《离岸》

Everything that you’ve learnt and all the hardships you’ve suffered will all come in handy at some point in your life.

第四阶段:RCA/总结

现在是你把经验教训变为财富的时刻了。

什么是好的技术 Leader?

随便一个业务需求或业务场景讲出来,你立刻把它抽象为几个模块/系统/Topic,然后侃侃而谈:

  • 业界都是怎么解决的;
  • 我们以前又是怎么分析怎么解决的;
  • 现在咱们这种情况下应该如何设计;
  • 可能会遇到什么问题;
  • 我们应该做哪些预防设计等等

那么怎么做到这一点?

第一,写 RCA 报告

『坚持每错必查、错了又错就整改、每错必写,用身体力行告诉每一个新员工直面错误、公开技术细节、分享给所有人,长此以往,每一次事故和线上漏测都会变为我们的财富。』

RCA 报告格式为:

  1. 背景知识(Optional)
  2. 问题现象
  3. 影响范围
  4. 问题原因
  5. 问题分析过程(Optional)
  6. 解决办法
  7. 后续处理措施:如线上脏数据如何修复,如对用户造成的影响如何弥补等(Optional)
  8. 经验教训
  9. RCA类型:如代码问题、实施问题、配置问题、设计问题、测试问题

这样,作为一名合格的老兵,你见过了足够多的血,并且把它们变成了你的人生财富。

第二,写总结。

要经常拉清单。侃侃而谈得有资料,这些都得是你自己写才能印象深刻,关键时刻想得起来。

每个武林高手成为高手的途径都会有所不同,选择一个适合自己的就好。

-EOF-

上一篇:【消息中间件JMS java message service】RocketMQ


下一篇:25Django-实现文章详情页的留言和回复功能