最近经常看到有些大学生拿着一个学生管理系统的作业在各种帖子,群里,或者别的渠道求源代码,而且还要能直接运行的代码,真不知道当初为啥要选择计算机专业,把自己难为成这种光景。于是想到一个问题,为什么在校大学生,很难学好编程?笔者根据自身的一些经历总结出了三点原因,一家之言,欢迎吐槽。
意志力薄弱,遇到问题就想撤退,自学能力差
编程入门公正来说还是有些难度,往往上来的语法细节让很多人看的云里雾里,觉得距离自己能独立写代码太遥远了,加上又没有人监督,不像初高中有老师在后面鞭策着你前进,前进。进入大学让很多人突然觉得不知所措了,空闲的大把时间不知道干点啥好,也有一些对编程感兴趣,也因为自学能力差的原因,学着学着慢慢迷失了方向,最后选择了放弃。
也许有人会说,大学计算机专业课,开了那么多的课程,这些不都是很好的基础铺垫,专业课的铺设对于普及计算机理论基础有着极大的好处,同时对于架设自己的知识体系有着极好的作用,但距离真正的编程还有很大差别,就本身而言大学专业课开的那么多,依靠这么几年的时间都去研究透基本也是不现实,基本起到普及的作用,今后遇到类似的概念,能够意会出大致的含义。
编程最主要的是项目实践锻炼,只靠课后那点练习题根本不够,所谓实践就是真正做出能用的东西,不是模拟场景,因为只有实践才会发现真正解决问题的办法,才会逼出自己内在的潜力。那么锻炼的效果就出来了,一次次项目的磨炼,一次次潜力的挖掘,实力就是在慢慢打磨中产生。这些前提都需要很强的自学能力,而意志力是自学能力重要体现。
在校大学生,想学好编程的,能扎扎实实打好基础,制定好自己的学习计划,找好对应的实践练兵方法,依靠自己强大的自学能力,最终达到的在目前中国的大学大环境下少之又少。
学习氛围差,大环境不理想
目前大学生,在宿舍里面,踏踏实实学习的能占到一半比例算是很高的,在大部分在玩游戏,打扑克,谈恋爱,看球的氛围下,能沉下心踏踏实实学习基础的知识的有多少。很多人开始都是抱着好好学习的心态,但是时间长了,能坚持到底的有多少?学习氛围还是挺重要。
有人说了,宿舍就是休息的地方,我可以去图书室,去自习室,不错是可以的,图书馆整体环境还是好一些,是因为考研的把整个学习氛围烘托起来了,在自习室踏踏实实学习的又有多少,在这个青春躁动的年代,又有多少人能耐得住寂寞,扎扎实实的在人数不多的屋子里面去学习。学校的花园走廊里面挤满了谈恋爱,压马路的男男女女,这种环境下坚持下来去学习枯燥的编码知识。周末更不用说了,学校旁边旅馆倒是熙熙攘攘的好多人,宿舍和自习室人少的可怜,日复一日的重复过程中,有多少人能坚持下来。
整个校园里大部分学习的,首要目标就是不挂科,又有多少把专业里面挖掘很深刻,在这种浅尝辄止的学习氛围下,如何让自己学的知识点牢牢记录下来。在这种环境下,有多少人能坚持下来,努力摆脱这种束缚,寻找自己的突破口以及兴趣点。
对技术有所涉猎的,应该对csdn这个网站上的博客有比较深刻的印象,现在百度上搜一些技术资料很多都个网站上的(目前还是有不少类似的技术网站),要知道里面成专题体系的,有文采有质量的系列文章,很多都是在校大学生完成的,因为真正到了工作岗位,很难挤出大块的时间去写一些东西,写的东西整理的时间也不多,而有些在校的大学生把写技术博客,特别是将完成整套专题系列的技术博客作为自己学习方向或者动力,有相当多的大学生在技术博客上认识了社会上一些有经验的技术人员,并且成为了朋友,并且作为人生的导师找到自己努力点和奋斗方向。还有很多还没有出校门就已经收到了名企的offer,其实这是人脉拓展的成果,现在毕竟是信息互联的时代。其实这部分人看似是在学校,其实是接受到类似社会人的锻炼,让自己技术和心智都慢慢成熟起来了。
但是又有多少人能坚持写这些博客,研究这一系列的技术体系,并且归纳总结下来,得到外界的认可,并且找到人生的技术导师。
没有实战平台,不知道如何实践
很多学生编程基础功掌握的还不错,但在目前大学的环境下,更多的是实验室的数据模拟,很难有直接实战练兵的机会。当然也有一些跟着老师去做一些校外的项目,拿到一部分锻炼的机会。
实际上网上很多免费的练手项目,但找到符合自己自身条件的,需要对网上的一些开源的项目或者练兵小项目有一定了解,这些经验对于在社会上磨炼几年的程序员倒是很轻松的事情,但是对于在校的学生或者老师都是挺难的,这些都是客观存在的问题。
于是很多人在找不到方法的情况下,选择交钱参加培训,觉得参加了培训了就能做项目,就能完成实践的目的,在这不对培训结构好坏做评判。
有人觉得培训贵,很聪明的加一些技术群,找一些有经验的技术人员取经,慢慢的自己摸索出实践的路子,编程这东西一旦找到突破口,基本上就能慢慢独立做事情了。有的甚至直接提前找个对应的工作实习,等等这些都是不错的解决方案。
在校大学生要克服以上的三点,既能把基本功弄好,又能找到实践的方法或者平台,并且坚持了下来,少之又少。如果在校期间就能把这些事情都解决好了,基本上相当于有了1,2年的工作经验。这也就是为什么看到很多年龄不大,但基本功以及知识面相当了得的原因,底子打的扎实而且深厚,这种在企业都属于偏上层次的工程师。