我在我的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技术人的知识体系的概念,如何通过 点-线-面 理论来构建自己的知识体系,最后给出了一个后端技术人知识体系的示例,你可以根据自己的需求进行完善。

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

作者:周旭龙

出处:https://edisonchou.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

聊聊IT技术人的知识体系的更多相关文章

  1. web服务器架构演化及所其技术知识体系(分布式的由来)

    文章标题是我自己取的,内容来着百度百科k5665219的一篇回答,觉得讲的很不错就转载过来了. 最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们 ...

  2. 终于有人把Android技术面试知识体系整理出来了,这些学习手册让你的面试稳如泰山

    前言 年年寒冬,年年也挡不住一个安卓程序员追求大厂的决心.想要进入大厂,我们需要掌握哪些知识点呢?这里,我为大家梳理了一个整体的知识架构.整体包括Java.Android.算法.计算机基础等等,相应的 ...

  3. 精简的言语讲述技术人,必须掌握基础性IT知识技能,第一篇

    前言 此系列将以精简的言语讲述技术人,必须掌握基础性IT知识技能,请持续关注,希望给大家都是一些精简的干货. 第一部分:必须掌握的设计模式的6大基本原则 23个设计模式,都是从这六大设计模式中演化而来 ...

  4. Linux运维学习笔记-网络技术知识体系总结

    传统网络知识体系 未来网络SND模型架构

  5. web前端知识体系总结

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

  6. 自己总结的web前端知识体系大全【欢迎补充】

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

  7. github上最全的资源教程-前端涉及的所有知识体系

    前面分享了前端入门资源汇总,今天分享下前端所有的知识体系. 个人站长对个人综合素质要求还是比较高的,要想打造多拉斯自媒体网站,不花点心血是很难成功的,学习前端是必不可少的一个环节, 当然你不一定要成为 ...

  8. web前端知识体系大全

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

  9. web前端知识体系小结(转)

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

随机推荐

  1. 2015ACM/ICPC亚洲区沈阳站-重现赛 M - Meeting (特殊建边,最短路)

    题意:有\(n\)个点,\(m\)个集合,集合\(E_i\)中的点都与集合中的其它点有一条边权为\(t_i\)的边,现在问第\(1\)个点和第\(n\)个点到某个点的路径最短,输出最短路径和目标点,如 ...

  2. Entity Framework (EF) Core学习笔记 1

    1. Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台的数据访问技术,它还是一 种对象关系映射器 (ORM),它使 .NET 开发人员能够使用面向对象的思想处理数据 ...

  3. WSL安装

    默认的我们可以看到并没有安装任何发行版本: 访问:https://aka.ms/wslstore 安装后我们如何进入linux系统呢,我们使用windows terminal

  4. CF1475-C. Ball in Berland

    CF1475-C. Ball in Berland 题意: 一个班级有\(a\)个男生和\(b\)个女生,现在这个班级有\(k\)对男女愿意一起出席毕业典礼,这里注意\(k\)对男女中可能会有某个男生 ...

  5. windows cmd 查看远程连接端口

    查看远程端口号 Cmd tasklist  /svc 在输出的内容中查找svchost.exe进程下termservice服务对应的PID,在此查看的PID为:276 然后输入命令:netstat   ...

  6. google firebase in action

    google firebase in action firebase https://console.firebase.google.com/project/_/overview?purchaseBi ...

  7. Taro 框架实现原理

    Taro 框架实现原理 小程序 H5 RN Web 多端框架 Taro 1.x & Taro 2.x 编译型架构, 语法编译转换 Taro 1/2 属于编译型架构,主要通过对类 React 代 ...

  8. GitHub & Hacker & MicroSoft

    GitHub & Hacker & MicroSoft GitHub源码被黑客洗劫和勒索事件 微软也未能幸免 https://www.cnbeta.com/articles/tech/ ...

  9. 前端 & 技术团队 TL & 如何面试 & 如何带人

    前端 & 技术团队 TL & 如何面试 & 如何带人 面试 带人 作为 TL,深度了解你的团队非常重要,要去了解每个人的想法是什么,他的诉求是什么,他目前的状态怎么样,以及对他 ...

  10. how to close macos eject icon from menu bar

    how to close macOS eject icon from the menu bar close eject https://apple.stackexchange.com/question ...