如果你看过建筑工地盖房子,就会发现,建高楼之前是要挖很深的地基,要打桩的。但这个对于一个盖好的房子来说是看不到的。而如果你建一个二层小楼,就不用这么麻烦。如果你胆够大,甚至也可以堆个三四层出来,只要没有大风大雨,地质活动稳定,一样也能住人。但你肯定不会认为这两个是一样的,和前者相比,后者缺少“根基”,一来能到达高度有限,二来有潜在的风险。
科班出身,就是逼着你去打这个地基。
不管你认不认可,至少专业课你得过,数学、英语该考的试还是得考。哪怕有人心底觉得,这些东西跟我写个手机应用有什么关系。等到你几年之后毕业,走上工作岗位,你曾经学过的那些东西,即使不直接应用在实践中,也会或多或少给你留下一些感性的认识。比如一个方法会不会带来巨大的性能压力,一种写法会不会有潜在的漏洞,这些东西不可能有直接的答案,但过去的积累会对你在解决问题的时候产生影响。很多人看过乔布斯在斯坦福的演讲,大家都挂在嘴边的是:Stay Hungry, Stay Foolish. 但里面还有个很重要的观点:Connect the Dots.(连接生命中的点)你在学校里学过的种种理论、知识,写过的习题、项目,就是这些点。你无法预测这些东西在什么时候会用上,但在很多年之后再回顾,你会发现这其中的关联。
但自学就可能存在这样的问题:你会更关注那些“有价值”的技能,更在意学习的性价比,会去网上询问“学XXX有没有用”、“XX技术将来好不好”、“怎样才能少走弯路”……因此往往并不会积攒大量的技能点,去堆出某个技能,而是朝着某个技能画出一条直达的线。这样看起来是很快,学两三个月就能开发出一个App之类。但很可能在遇到一些变化之后就难以应对。最明显的差距是会发现,同样是写一个功能,有的人就是开发得快、bug少、效率高、还容易扩展;而有的人就是磕磕碰碰才完成、各种bug。
所以我一直觉得,并不是有了一个文凭就造成了差异,而是这几年的时间和课程学习带来的差别。如果一个自学者,按照专业的体系架构,把该花的时间都花了、该学的理论都学了。那么是否科班只是个名头而已,没有区别。但我觉得对于大部分人来说,如果不是在专业的学习环境中,是很难达到相同的学习标准和学习强度的。这也是为什么很多个人项目的运动员,他对技术已经有很深刻的认识,但也还是需要雇一个教练来指导自己。
你可以通过接很多项目来倒逼自己提升开发水准,但枯燥的理论知识的学习,在没有一个刚需的前提下,想自己逼自己硬啃,确实是挺难的。这可能是科班最大的优势了。它是一个不利因素,但不是一个必然结果。
房子建好了,地基不好再补;但不管在什么阶段,你都一样可以去提升自己的专业素养。刚选择这个行业,你可以抱怨下自己不是科班;但几年之后如果还拿这个来说事,恐怕就有点找借口的意思了。
然后我再举个例子:
拿音乐行业来说,网络时代,有人没经过专业的声乐训练,在网上唱了一两首歌,也有机会大红大紫。但有可能后续就没有更好作品出来,也可能参加选秀被导师一个专业问题就给问倒,还有可能被扒出作品其实是拿其他人的拼凑出来的。然而同样也有人,不是科班出身,但花在做音乐上的时间并不比科班人少,多年之后一样还是有高质量作品产出,不是科班却胜过科班。
从这样的例子来看,非科班到底行还是不行?
说这个是什么意思?就是说,你不能拿标签来评价人,也不能反过来用个例推翻普遍现象。科班毕业不会写代码的我见得多了,自学成才的大牛也不是少数。所以,别带着有色眼镜去看待一个类型的人,也不要在这个问题下带着个人倾向去揣测别人回答的动机。每个人的情况都不一样,尊重客观规律,认清自己的定位,针对实际情况去考虑个人的发展路线,这才是有价值的。
如果你想要学习编程,对WEB前端感兴趣,在学习过程中,身边没有一个能够指导你学习的人,可以到这个WEB前端裙:前面484,中间757,后面760,里面有根据目前市场需求,录制的最新的系统教程,不管是计算机专业想要往WEB前端方向发展,还是零基础想转行,都可以跟着教程学,有什么不懂的可以在里面问。
事实就是:
- 科班多了几年强制学习基础的时间,肯定是有优势的。你的老师你的同学都是这个行业的,氛围也不一样,连带着你的思维习惯也会不一样。
- 很多非科班的问题是时间没有花到位。三个月的自学vs四年的科班,差别在时间上,而不是因为科不科班这个标签。
- 如果你在专业上付出的超过科班人的平均水平,那这个就不是问题。那些所谓科班才有的资源和优势,你迟早也一样会有的
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。