技术,应该从底层学起

我在大学自学了很多自认为炫酷的技术,像 Java、Android、建站等,这些技术都有一个特点,立竿见影,学了之后能够立马应用,做出东西,收到反馈,从而可以提高自己的兴趣。通过对这些技术学习,可以让自己保持对技术热情,但往往会忽略真正经得住时间考验的技术,就是那些大学计算机相关专业设置的课程。我自己从大一下学期自学 Java 开始,就很少去上课,或者就算去上课也是抱着本 xxx 从入门到精通看。

最近一段时间在接触一些稍底层的东西,自己也一直有意想要学习,像汇编、体系结构、计算机组成、操作系统原理等等。但自己吃那些速食吃多了,就很难啃下这些真正有营养的东西。这些东西都很枯燥,很难读下去,而且也很难直接应用起来,没法得到及时反馈,所以刺激不到神经,也就很难坚持下去。其实,读不下去很大一部分原因在于,习惯了那些能够刺激我们神经的技术,习惯了那些可以得到及时反馈的东西,面对真正需要花时间去学的技术时就很难安下心去了。

虽然在大学自学的东西,让我一出校门就找到一份工作,但工作久了就会产生一种茫然感,不知道该再往哪里走。遇到一些有深度的问题之后就会很无助,只能去网上找现成的解决方案。一般情况下问题虽然能解决,但问题的根本原因很难看清楚,所以对自己的成长根本起不到什么作用。看似每天都在工作,都在成长,但其实就是做搬砖工作,称为码农,或者说 HTML 填空人员。

我希望所有在校生,都能够认真去学习学校设置的课程,那些东西才能够经得住时间考验,这么多年无论计算机怎么发展,也还是那个结构,操作系统无论怎么发展,也还是那个原理。这些东西吃透会对技术能力有极大的帮助,对整个职业发展也会有极大的帮助。基本的原理都学会了,内功练好了,还怕招式学不会吗?这些东西学好了,像工作中用到的框架,基本几天就能够掌握,需要做的就是去按照框架约定的方法去用,但你能够看到本质,而别人却仅仅是用。这样遇到问题才能看到根本,从而在根本上解决问题。

希望大家都能够踏下心去学那些禁得住时间考验的东西,我自己也一样。