很多来学习咨询的同学,问我这样的问题。或者因为自己不是计算机专业,在选择时多了一分恐惧,或者选择困难。很容易陷入这样一个怪圈,既不喜欢自己所学的专业,也害怕选择其他的方向,认为那不是自己的专业方面。


我通常跟他们这样分析:


1、你读大学时选择那个专业时,对你选择的专业了解多少,做过分析吗?


2、大学四年里,你掌握了多少专业的技能?


3、现在从事开发的工程师很多不是科班出身(大学里读的计算机)


我举过很多例子,新东方三驾马车之一王强,大学读的是英美文学,去了美国在贝尔实验室做软件开发。大牛MacTalk老池大学也不是学计算机。。。


今天再转一个JOB君的回答,他也提到了编程(计算机)怎么学方法:1)编程开发非常强调实践性2)需要付出大量时间,在BUG(调试)中成长3)热爱,重复地热爱


=========================================


前不久我们收到一封来信,如下,今天我们就探讨文科转计算机系的话题


梁博您好:


我是一名计算机系的学生,在美国读硕士,也是您的微博粉丝。我在国内学的是纯文科,在美国第一年学的是语言学。因为喜欢计算语言学,我去年八月从语言学系转到了计算机系。本科成绩一直不错(平均分90+),但是去年转系之后成绩不尽如人意。很多自己特别喜欢的课程总是考的很糟,复习备考的时候很多东西都觉得自己明白,但是考试结果总是让自己大跌眼镜。


因为想进一个教授的实验室,做海洋动物声音识别,所以连续两个学期都选了这个教授的课,分别是Speech Processing和Operating System。都是自己很喜欢的课程,Speech Processing课得了B+,这个学期Operating System的期中考试刚过,成绩和自己预期的相差太大。这些结果都让自己开始怀疑是否不适合学习计算机,转系是不是个错误。挫败感让我觉得自己活的无比失败。其实每次没做好我都会反思自己哪里不足,可是反思了这么多次却仍然不见长。拿到成绩的那一刻心里哇凉哇凉,质疑自己一切的付出和决定,甚至是自己的智商。内心深处却深深不甘这样被打败,可也不知道该从何补救自己。


人们都说向自己行业的精英求教是最好的学习方法,因此不揣冒昧向您求教计算机科学的学习方法,或者是我整个的观念都有错误,如有打扰还请见谅。


如获赐教不胜感激



我把给他的回信作为今天的话题讨论。


现在非计算机系转计算机系的同学很多,这需要付出巨大的勇气,再转之前,需要做怎样的评估呢?


首先,如果纯文科转计算机可能是跨越大了点,计算机系本身脱胎于数学系(起码清华大学是这样的),本科阶段对数学的要求较低,到了研究生阶段对数学的要求就很高了。这可能是文科生很难跨越的第一个障碍。


其次,计算机非常强调实践性。编码的整个过程是逻辑性很强的,正确的逻辑只有一种,错误的有很多中,我们需要找到那条唯一正确的路,特别是写系统方面的代码,你会发现经常性的编译错误,运行错误,我们遇到过一个运行了数年正确的代码,在新的环境下还出现错误的情况,都是之前考虑不周到造成的,和bug作斗争是非常艰苦的,这可能是第二个障碍。


最后,我们不要轻易否定自己,没有人是生来学计算机的,我大学报考志愿都是经济法(偏文科),后来因为没考好,调剂到计算机系,很长时间我都对计算机和写代码都不感兴趣,直到快毕业了,才写了第一个大一点的程序,如今也工作10多年了,逐渐发现了其中的乐趣。


你会发现凡是搞一门东西搞得好的人,大多都是大量付出时间的,如果你愿意为计算机付出大量时间,你一定可以的,我曾经是一个专科生,在考研上花了很多时间,也读了硕,也读了博,很快也要博士毕业了,一切都会有出路,相信自己,当然你要付出大量时间之前,首先要热爱这件事情,有重复的热爱,才是你取之不竭的动力。我当初热爱计算机是一个纯偶然的原因,就是我们的机房被本科电子系占用了,他们的老师说,你们专科生尼玛再学死了,也是废物,上机房也是练练打字。。我不堪侮辱,发奋学习,在大学里面写了一个联网下棋程序,那一年是1999年,资料匮乏,完全是自己瞎摸索出来的,很不容易。


希望你能找到自己热爱计算机的原因,然后付出你最宝贵的时间。