不要过度神话操作系统(OS/Operating Systems)这门神课的作用

在美国所有的计算机系里,Operating Systems(简称OS)这门课程往往被认为是“神课”,大家普遍反应难度很大,但是也很能学到很多知识。

Warald也认为修这门课,深入了解操作系统的设计原则,会非常有帮助。但是我觉得现在很多人,似乎走上了另外一个道路:把OS这门课程当成了择校的重大标准,甚至用这门课来决定去哪个学校读书。比如CMU硅谷校区不像匹兹堡主校区那样可以选很牛的OS课,所以肯定不去。

首先,无论你上什么课、如何打造某方面的背景,目的都是一点:为了将来的就业和职业发展。那么,OS这门课是否是有决定性作用的?

比如你做front-end UI开发,或者你的工作是实现web application靠近前端的功能、支持某些business rules/logic,那么OS知识并不是最关键的。而工业界里,这类做前端的工作职位是最多的。

换句话说,很多人无论是求职面试,还是工作以后需要的技能里,OS并不最主要的。那你为啥要盯着它那么纠结?

你当然应该有自己的技术专长,但是你的专长是否一定是systems?如果你连OS到底应用在工业界什么职位里都不知道的话,你这么热情,把它的地位提的这么高,有必要吗?

最后,Warald认为:

大力推崇OS神课的,一般都是在中国大陆读书的学生,而在美国读过本科的同学,虽然也认为OS课程难,但是看重程度远不如大陆本科。

在美国读本科,有很多机会做各种project提高动手能力,比如修针对本科生开设的OS课,而国内的很多大学,即使本科期间上过OS课,也就是翻书学学理论,没有动手编过程、没有做过东西。所以大陆出来的学生,一上OS课,就给震住了,觉得难度好大、能学到好多东西。

[更新]本文写于2014年三月。同年6月,一亩三分地里有人分享《纯文科女是怎么找到CS工作的》,她说:

我是零基础的底子,操作系统和网络的课学起来太吃力,就都没学,于是我就学了一些web前端和数据库。后来证明,就算这样照样可以拿到面试,你只要证明你会CS的一个领域就够了。

也算是证明我说法的具体例子吧。这个女生我认识,她是绝对的零基础转CS。