职业程序员的知识体系

今天看到一篇文章,说人的知识分成两种,惰性知识和活性知识。那些对我们的工作,生活没有帮助的知识,称为惰性知识。惰性知识是用来装门面的,吹牛的。他不能解决我们的问题,只是填补我们生活的空虚。比如金鱼的记忆有几秒,就属于这种惰性知识。不过根据我最近的经验,我发现每天早上,当鱼儿们看见我拿起装鱼食的瓶子时,都很激动。这显然不是几秒记忆所能办到的。

为什么会有惰性知识呢?当一个知识不能与我们已有的知识体系建立关联,那么当我们遇到问题时,我们不会想到他,用到他,于是他就成了惰性知识。就好像你是一个将军,手下有个士兵,是你最好的狙击手,但是它失去了联络。当你面对敌人的时候,你联系不上它,那么你就变成了没有狙击手的将军。而那个狙击手就变成了无用的人,成了惰性知识。

由此可见,把知识管理起来,让知识之间相互关联,是多么的重要。而要做到这一点,最重要的是建立知识体系。就好像游戏里建立科技树一样,先选择某个系的魔法,练习低级魔法,慢慢的练习高级魔法,日积月累,最终成就自己的专长。修炼的方法就是如下几个阶段:

  1. 观察:发现可以改进的点
  2. 分析:考虑如何进行改进
  3. 预判:设计行动方案,判断行动收益
  4. 行动:做点儿事情
  5. 矫正:根据行动的结果纠正预判的计划
  6. 结果:总结
  7. 反馈:对观察,分析,预判,行动等几个阶段进行评判,总结经验,下次做的更好。

那么作为一个即将把写代码作为终生职业的程序员,应该怎样建立自己的知识体系呢?我觉得我们的知识应该如下所示:

知识体系

正如前面的段落所说,只有能用到的知识才会有活性。这个知识体系如何被激活,又如何被检验,并且日益增长呢?

  1. 首先我们有一定的基础,否则我们不可能有机会去解决问题;
  2. 然后我们利用结构化的决策管理分析,做出决策,选择最重要的事情;
  3. 为了做好这个事情,我们找对应的人进行沟通,这需要用到我们的沟通技巧,因为不同的人有不同的风格;
  4. 沟通过程中,这就需要我们用各种知识对问题进行解决,提出专业的解决方案,这才是我们输出价值的地方。

当然这个知识体系是不完善的,不同的人有不同的看法,以后我们会进一步完善。

原文地址:https://www.cnblogs.com/alphablox/p/5313704.html