My Github

聊聊IT技术人的知识体系

我在我的2020年终总结中提到技术人需要建立自己的知识体系,那么怎么建立自己的知识体系呢?技术人的知识体系又是什么样的呢?今天,和你一一分享。

1 关于我的12字方针

我在我的《2020年终回顾》一文中提到了一个12字方针,以应对IT技术人的中年危机,它是“抓主线、建体系、有侧重、多复盘”。

其中,“建体系”三个字最为重要。

那么,是建什么体系呢?

答曰:建立我们IT技术人的知识体系。

接下来,我们就来聊聊如何建立我们自己的知识体系。

2 刻意构筑 点-线-面

我们可以借助 点-线-面 的方法论来构筑知识体系,即我们在工作中用到的往往是一个知识面的某条主线的某个点,只有当你用了多个点之后才会将它们升维到某条主线,最终多条主线再次升维形成一个知识面。

这里我们以Redis为例来说说如何构筑Redis的点-线-面。

Redis应该是我们做后端开发的技术人大概率都会用到的一个中间件,不管你用到了哪种程度,只要你是做后端开发,那么你的知识体系中必然有它的位置。

这里我们借助某位老师总结的一个Redis的知识结构图来聊聊,如下图所示:

我们可以从上图中看到,该老师将Redis这个知识面分为了两大维度 和 三大主线,两大维度分别是 应用维度 和 系统维度,三大主线分别是 高性能主线、高可靠主线 和 高可扩展主线。

作为一个对自己有追求 又 渴望成长 的IT技术人来说,往往都是在工作中在了解和实践Redis的一个又一个零散的知识点,却很少将它们整理和归纳,使这些点能够串联起一条主线脉络在心中。比如,我们常常使用Redis做缓存,用了很多相关的get/set接口,也用了k/v、string、set等数据结构,有的还使用到了新增的SET接口实现了分布式锁去应对秒杀抢购的业务场景,但却很少将它们归纳分类提升维度,进而构筑知识体系,因此在面试中的回答往往不够完整(这也是我的经历,错失一些offer的感悟)。

如果我们都能有这样的整理和归纳,对每个知识面都有像上图一样的脉络在心中,是不是也会增加我们的自信程度,减少不必要的中年焦虑?

画外音:骚年,平日里多多归纳总结,刻意练习,必有收获。技术如此,业务知识也如此,心中有一条公司整体业务的主线 以及 自己项目团队所负责的业务线的详细脉络,就是一个合格的IT技术人,因为技术是为业务服务的,没有交付业务价值的技术也是不合格的。

那么,跳出Redis这个知识面,我们后端技术人的知识体系的全貌又是怎么样的?这里我整理了一棵树,它列出重要的知识面 和 主线,仅供参考。

当然,这还只是一棵较为粗糙的树,我会持续对它进行完善,因为我的技术认知和业务认知也在不断地更新,乐观接受新认知,勇于放弃旧认知,只要自己不断地在进步,就是值得高兴的事。

此外,金三银四已经到来,Edison也在整理一棵开发面试的知识体系,目前整理到了v0.5版本,关注EdisonTalk公众号的童鞋可以在后台回复“面试知识树”获取。这个pdf的全貌如下图所示:

在EdisonTalk交流群里(欢迎加群交流),很多童鞋都表达了自己的焦虑,认为自己多年所学的知识可能会在今后的日子越来越得不到市场。我承认,在国内的互联网和IT大环境市场下,面向职位和工资编程,.NET在互联网大厂的平均使用份额的确不高,但是也需要承认.NET在数字化转型、工业制造、3D游戏(Unity)、BIM设计、医疗信息化等行业领域还是占有一席之地(护城河)。此外,作为一个程序员,掌握两门及以上的开发语言也不是什么坏事儿,如果我们将自己的知识体系进行一个抽象和升维,你会发现.NET技术栈在你的知识体系中只是其中的一个面,其他的很多面其实都是后端开发通用的技术能力,你不必担心这些通用的技术能力在其他企业用不上。

画外音:讲到这里,细心的读者应该可以发现,抽象归纳和顶层设计的能力对于程序员来说,是个需要逐步练习的技能,可以帮助我们看到全局,而只有看到全局,你才能做到胸有全局脉络,又能聚焦局部重点。

3 其他想说的

关于硬技能和软技能

在职场中,硬技能是我们安身立命的基础,它是硬核的,即我们所掌握的开发语言、框架、中间件 和 项目经验。软技能是我们扩展边界的条件,它是加分项,可以在我们达到开发角色边界的时候帮助我们跨上一个新台阶,比如Team Leader或Project Manager等。

技术人职场打怪升级路线

在职场中,我们首先是做事,通过硬核技能写好代码做好服务,等到一定时机,我们有机会管事(比如Team Leader),再管人(比如Manager),最后管心(比如Director或CIO/CTO)。

为什么技术人越成长晋升,关注点都会慢慢聚焦到人和人心上面?

因为人心比系统复杂,架构师处理的是多个系统之间的连接关系,而管理者处理的其实是多个人心之间的连接关系。

我的一点成长经验

我在职场中也没有做到什么高级管理者的位置,但我现在逐步养成了拔高自己的视角去看待一些问题,我也有了一些自己的成长经验,我觉得以下几点对初入职场和初中级开发工程师都是有用的(如果你也认可)。

第一点,积极主动做事。职场中积极主动做事的人,运气都不会太差,机会一定都是会留给积极做事有准备的人。

第二点,努力扩展边界。任何成长阶段都有自己的边界,而渴望成长的人总是希望在几年或多年的时间里上一个新台阶。

第三点,及时总结复盘。当你努力踏上一个新的台阶时,你总是不习惯或者不适应的,你会踩很多很多的坑,这时你需要及时对踩过的坑进行总结复盘,避免下次再犯。

这三点其实是有一个顺序关系的,你只有积极主动做事,才会在大概率的情况下得到拓展边界(踏上新的成长台阶)的机会,而当你踏上新台阶时,一定会碰到各种各样的问题(因为要处理问题的复杂度提升了)进而踩很多坑,这时你就需要及时总结复盘,避免多次犯同样的错误。如此,这就是一轮成长的闭环,而技术人的职场进阶路线就是一个又一个这样的闭环。

4 小结

本文介绍了IT技术人的知识体系的概念,如何通过 点-线-面 理论来构建自己的知识体系,最后给出了一个后端技术人知识体系的示例,你可以根据自己的需求进行完善。

那么,你有没有开始计划去整理你的知识体系呢?欢迎留言,一起交流!

 

posted @ 2021-03-08 10:06  EdisonZhou  阅读(3076)  评论(4编辑  收藏  举报