80/20 同样适用于掌握技术

the-80-20-principle-of-technique.jpg

Figure 1: Photo by Todd Diemer on Unsplash

80/20 原则 同样适用于掌握技术,一项技术常用的知识点不会超过 20%(如果你曾经熟练掌握过一门技术的话)。

学习技术是一个从点到面的过程,一开始四处学习知识点,直到有一天点汇集成变面的时候,你自觉掌握了这一项技术的全部,然而这只不过才是刚刚开始。

只有经过实战的不断打磨,你才会能真正的把握到这项技术的核心点。

所谓掌握指的是达到同一个目的可能有多种方法,只有不断的实践才能知道哪种方法是最靠谱的(高效、易维护、健壮性等),过程中你也许会发现以前看的书籍、文档可能是存在偏差的,你可以自己根据自己的理解写出不一样的东西。换言之,所谓掌握是经过实践的磨练,站在更高的角度去理解技术,知道技术的适用场景(优缺点,瓶颈等)。这时,当你再去使用这项技术,就会发现常用的不过是技术的很小一部分(20%)。

但是从 0 到 100% 的一窥技术全貌,然后实战得出 20% 的精练部分,这个过程是不可避免的。网上这这些快餐知识(博客、教程、专栏)无非都是在这 20% 下功夫,教你「快速」掌握。然而即便是真的学会了这 20% 的知识,也称不上掌握,因为这不是你自己实战得出的部分,而是别人的。

这有两个原因:

  1. 不同的人有不同知识积累,不同的心路历程,适合作者的很大程度不一定适合你,比如一个 C++ 程序员看到 Go 的指针觉得太好理解了,而一个 Python 程序员则不然;
  2. 另外一个原因,还是实战。工程与科研不同,限定的资源(人力、物力、财力)比较多,抛开应用场景谈技术都是耍流氓,只有趟够了足够的坑才能有不同的理解,才能掌握;以 Docker 的 ENTRTPOINTCMD 为例,两者都可以做 Docker 的启动命令,网上各种比较优劣势的文档满天飞,然而 Docker 专家老吴只是淡淡的跟我说,一般情况下用 CMD 就行了;

所以,我从不以为学习技术有捷径,所有的快餐知识只是为你打开一扇门,而之后能走多远还是需要自己一步一个脚印的走。

有人说现在做技术的人比前 10 年的简单了,因为网络足够发达,文档也齐全,起初我也这样认为,但后来我发现这只是为技术入门提供了一些捷径,想要再进一步实则比以前更难了。首先,可选的技术和框架更多了更复杂了;资料虽然足够丰富,但如何选择优质的资源却是一个难题;上层的技术虽然一直在变,但是底层的东西还是要花精力掌握,所以不光要兼顾上层,还要兼顾底层。

怪不得别人说:生命如此短暂,掌握技艺却要如此长久。

Date: 2018-08-25 11:27:00

Author: JerryZhang