如何把握折腾技术的程度

作为一个计算机专业的学生,经常需要折腾一些技术,接触很多新知识,比如linux, 手机刷机,搭建博客等等。
但是不管做什么事情,都会有一个限度的问题,就是每一种技术折腾到什么程度,了解到什么深度的问题,自互联网诞生以降,IT行业迭代速度飞快,各种技术和知识已经浩如烟海,倘若不进行审慎地把握,一不留神就会发现在各种折腾中花费了大把时间,却没能在自己真正重视的领域有明显的提高。

我们的时间精力是有限的,在有限的时间内没法去了解每一种技术细节,但是有时候你需要折腾一种技术,不得不去了解一些其他的技术或知识,
你需要学习一种计算机语言,就得配置好相应的编程环境,你要实现某种功能,得去学习一种辅助工具等等……
正如编程随想大神在他的《如何完善自己的知识结构》一文中所说:
“想要在某个领域做到足够深入,必然要了解很多相关的辅助性领域的知识。”

就拿“写博客”来说吧。
如果你想把博客的界面和排版搞得好一点,你还需要懂一点“HTML、CSS、JS”的知识;
如果你想提高博客在搜索引擎的排名,你还需要懂一点“SEO(搜索引擎优化)”的知识;
如果你像俺一样,想写敏感的政治博文又不想被和谐掉,你还需要要懂一点“翻墙”的知识(以便把博客架设到墙外);
如果你想使用 WordPress 这个功能最强大的博客平台,你还需要懂一点“PHP编程”的知识;
……(这个清单还可以继续列下去)
  你看,即使是“写博客”这么简单的一桩小事,牵涉的领域也不少。

但是不用每个领域的知识都搞得清清楚楚,我的理解是必须保证把时间和精力中的大部分都用在能够提高我们所重视的能力和知识方面。可以参考正态分布曲线。

虽然深度和广度都很重要,但每个人的时间、精力、天赋都是有限的,你不可能在所需要的每个领域都做到足够深入。那么如何平衡这两者捏?俺的观点是:借鉴正态分布

正态分布

具体如何做呢,对于一些辅助性的知识或技能,我们可以通过网上的资料进行了解,以帮助我们完成真正在乎的工作,但在做记录的时候却不必追究其原理和技术细节,即在相关的What、How、Why这三者中可以先只了解前两个(根据重要程度甚至可以只是前一个)。
判断一个技术是否需要了解其原理以及了解的深度,要看这个技术或知识对你当前想提高的能力和知识的是否足够重要。重要性越低,了解的程度可以越浅, 另外一方面,还要结合兴趣来判断,你对一项技术越感兴趣,就可以钻研的越深。

最后总结一下,我们把真正看中的知识和技能称为核心知识技能, 把握折腾某项技术(学习某项技能或知识)的程度的关键在于:
把它看作核心知识技能的外延,一切为了学习核心知识,提高核心能力而服务,根据这项知识或技能对于提高核心知识技能的重要程度, 确定相应的学习程度和钻研的深度。