职业随想(四)

职业随想·三画了饼,这一篇谈谈如何实现它。目前想到的是两个计划。

TiDB计划

这本质上是一个挖掘“深度”的计划。

TiDB是PingCAP公司开源的一个NewSQL数据库,它的出现是为了解决过往的RDMS、NoSQL所固有的一些问题。其背后是一套复杂的工程系统,包含但不限于,

  • MySQL协议支持
  • SQL Layer
  • 分布式事务
  • 数据库MVCC
  • Raft协议
  • RocksDB(从Google的LevelDB演变而来)
  • Spanner、F1、Raft等学术论文作为理论支持
  • 对时下潮流的云原生技术的良好支持
  • 支持动态scale以及自动容灾
  • ……

这个神秘的黑盒子到底是怎么造成的?对此,我非常感兴趣,这算是我工作至今最感兴趣的一项技术了。拆解此黑盒子定能让我在以下几方面的技术能力上升到一个高度,

  • Go和Rust语言
  • 分布式系统
  • 数据库系统
  • 大型系统架构
  • 专业英语(技术论文)阅读能力
  • ……

而且能让我有更多技术外的收获,

  • 结识更多牛人
  • 遇到更多工作所遇不到的问题场景
  • 收获成就感
  • 可能会打造出有自主品牌的博客
  • 成为自己非常重要的一项履历
  • ……

对于如何拆解它,我的初步想法是,

  • 结合它的创始人的几篇布道的博客制定一个技术roadmap,map中的每个项是它的feature或者说解决的问题
  • 深入研究上面的roadmap中的每个feature,包括但不限于:读源码、解决issue、解决Stack Overflow的相关问题、针对此写一系列的技术博客

能做到以上描述的工程师,便是我心目中的一流的五级工程师了,这也绝对是各大一流公司所非常需要的人。

ARTS计划

不同于上面的“深度”计划,这其实是一个“广度”计划。ARTS这个词来自于耗子叔,它包括以下四方面的内容:

  • Algorithm。主要是为了编程训练和学习。每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard)。进行编程训练,如果不训练你看再多的算法书,你依然不会做算法题,看完书后,你需要训练。关于做Leetcode的的优势,你可以看一下我在coolshell上的文章 Leetcode 编程训练 - 酷 壳 - CoolShell(一个小时);
  • Review:主要是为了学习英文,如果你的英文不行,你基本上无缘技术高手。所以,需要你阅读并点评至少一篇英文技术文章,我个人最喜欢去的地方是 Medium(需要梯子,其他的可以社区的官方文档以及论文学习)以及各个公司的技术blog,如Netflix的(30min);
  • Tip:主要是为了总结和归纳你在日常工作中所遇到的知识点。学习至少一个技术技巧。你在工作中遇到的问题,踩过的坑,学习的点滴知识(也可以学习【极客时间】上的实用课程);
  • Share:主要是为了建立你的影响力,能够输出价值观。分享一篇有观点和思考的技术文章,也可以是技术总结的文章。

对此,我的理解是,

  • A是训练自己的算法能力,这是进顶尖科技公司的敲门砖,需要长久的刻意练习。
  • R是训练自己的英文专业资料阅读能力,无障碍阅读英文博客和论文亦是一项基本能力,需要点滴积累。
  • T是从过往的工作中总结知识点,或是将摄入的知识总结为知识点。这个知识点的呈现方式为一遍技术文章,也就说耗子叔说的S了。

然而,这仍不够,既然是“深度”计划,那你得有目的的去review、tip和share。我建议你最好用XMind之类的工具给自己建立一个待“征服”的技术版图,然后用ARTS中的RTS去徐徐图之。如何建立自己的版图,耗子叔在极客时间App的专栏会给你一个不错的指引。


上一篇:职业随想·四

你可能感兴趣的:(职业随想(四))