计算机科班出身的优势是什么?
转眼都读到博士了,想起我大一刚入学的时候就问学院的书记:"我们读出来和北大青鸟读出来有什么区别?"书记乐呵呵地笑了,然后我的提问就被挂到了学院公众号上……现在刚好刷出了这个问题,就把自己当年没想明白的坑给填上吧。
坚实的基础
科班学生在编程方面有着系统而深刻的认识。例如能分得清编译和解释语言的区别,能够实现满足任务时间要求的复杂度算法,还能理解面向对象和面向过程的设计理念。除了编程之外,还懂得更深层次逻辑的东西。比如程序编译过程管线(预处理->编译->汇编->链接->可执行),比如数据库查询具体原理(B树,范式,哈希),再比如软件开发测试常用技巧(螺旋,例图,UML)等。
较为缓和的学习曲线
知乎上有一个问题:“为什么知乎上大多数人不推荐c语言入门?”初次看到的时候我是诧异的,因为本科阶段c/c++光是上课就上了整整三个学期。看了相关答案,基本都是”自学入门难,正反馈周期长,工作少用“的逻辑,忽然觉得情有可原了。在科班的训练中,教学会从基本的操作再涉及到指针和引用再到模板类和泛型,这种逐层深入层层递进的学习过程,再加上足够长的可支配时间,使得c/c++的入门不那么枯燥和乏味,并从中收获了许多至关重要的编程思想。
巨大的同侪压力
想想自己找工作时,参加面试前的压力有多大,那科班校园内的压力就有多大。一刻也不能松懈的GPA,实验室里争分夺秒的科研项目,即将要结项评优的工程项目,还有明天就要上交的大作业和后天两门的期末考试……天呐,鬼知道大学四年我是怎么过来的!身边有的是初高中开始接触信息学的牛人,有的人大一专业课免修,大二独自接项目,大三BAT实习,而你呢?不拼命学,就要拖后腿啦!
丰富的校友资源
这应该是最现实的一条了。不论是推免还是实习,优秀的校友资源总是雪中送炭、锦上添花的。你可能收到校友的内推直接免了笔试,选报的导师恰好是本校校友,或者是入职之后发现领导和自己毕业于同一个学校,工作几年后发现曾经的同学在做的项目和自己的相关,随手拉了一波合作……社交关系网的作用,不应该解释太多。
仔细想来,当时问这个问题也是年轻,也不怪乎被嘲笑一般。
回到题目上来,尽管科班的好处有这么多,甚至远远不止,但也不代表非科班生就前程黯淡。种一棵树最好的时间是十年前,其次是现在,不论你是有兴趣还是单纯为了高薪,计算机专业都抱着开放的态度欢迎每一位的到来。
Update:
私信太多,回不过来...非科班的同学提问之前可以先看看这份回答能否帮到你:非计算机专业学生怎么走上计算机技术之路?