知道那些你应该知道事情

2021-05-08 • 预计阅读时间 2 分钟

软件开发在某种程度上可以说是一个学习或者认知的过程,用户的需求,环境,技术都处于一个动态变化的过程中。我们对于需求的理解,新平台,新技术的运用可以总结为一种认知或者学习的过程。那么就会有如下的四个阶段:

  • Unconscious Incompetence
  • Conscious Incompetence
  • Conscious Competence
  • Unconscious Competence

正常情况下你在那个阶段,代表了你对事情的掌握程度。从一开始的懵懵懂懂,不清楚自己那里不清楚,到有一个清晰的自我认知,知道自己是不清楚的。将自己不清楚的内容变成自己充分掌握的内容。知道自己清楚……通过融会贯通,最终无意识的清楚。这个时候大概也就没有什么能够阻挡你了。

但是有些人总是有迷之自信……这也是很尴尬的。

“They Didn’t Teach Us This”: A Crash Course for Your First Job in Software - Stack Overflow Blog

他们没教我这个?没人告诉我这个!不知者不罪,如果世界真的这么简单就好了。实际上对于一个开发者来说我们要对非功能性需求有充分的了解。有些内容的确可能在一个分工明确的体系里面你是没有机会直接触及的,但是了解以后还是会有帮助的。SO上的这篇文章介绍了一些应该了解的内容,虽然是速成课,但是还是指明了方向。

知道那些你应该知道事情其实最难的就是如何定义那些是我应该知道的。但是这不就是上面对于认知的四个阶段的定义么?不过有一点总是不会错的,抱着解决问题的执念应该就不难了。

dev随想

wentao

写点代码,解决点问题。

一次迫不得已Linux发行版本选择