每年的六月初,有关高考的信息就会见诸于报纸、网络等,让我这位多年之前参加高考的、已工作多年的人不由得也回忆起了自己高考时的情景。恰逢CSDN举办本次“从高考到程序员”的征文活动,我就在这篇文章中分享一下自己的高考和大学经历,并为想成为程序员的学弟学妹们提供一些建议。
我的高考经历
我高中上的是我们市的一个重点中学,当时我们一个年级有22个班,总共一千多人,我的成绩在前几十名到一百多名之间徘徊。我参加高考是在2005年,那一年首次将高考时间提前一个月到六月的七八号(2005年之前的高考时间都是七月七八号),因此我们的复习计划都安排得比较紧,大家的心里也比较慌(至少我是这样的)。还不只是高考时间提前了的问题,最要紧的是我们是先填高考志愿后考试(从我们那一年之后,都是先考试后填志愿),也就是说,我们无法根据高考成绩来权衡选择想要报考的学校和专业,这样,每个人的心理压力就大了很多。
在填报高考志愿的时候,我非常有自信地填了上海的一所很有名的学校作为第一志愿,然后就不想填写第二志愿了。班主任看了之后,还是建议我填一个第二志愿保险一点。在他的劝说之下,我想多填一个也没有关系,于是便拿着那本记录着各个学校及专业的“高考志愿”参考书随便翻了一下,无意中发现了“通信工程”这个专业。虽然不知道这个专业的具体情况,我反正当时觉得这个专业还是挺时髦的,于是便填报到了第二志愿中。没想到,就是这样一个无意的举动,让我踏上了程序员这条道路。
我们当时还流行在考场外面去租“高考房”,以为这样可以有一个安静的休息环境,并且可以好好地复习,避免被打扰。我和另外一个同学提前在离考场很近的地方去租了“高考房”,心想这样应该可以考一个好的成绩了。在高考那两天,我也没有怎么休息好,感觉在一个特别安静的环境下反而还无法入眠。后来,我觉得可能是我已经习惯了学校宿舍的环境,突然让我进入一个陌生的环境反而还不能适应了。
没有休息好,加上我在考场上一直都没有一个好的心态,我当然就发挥失常了,考上了那个我随意填写的第二志愿,从此正式加入了IT从业者的大军。
现在回想起来,我高考没考好的原因主要有这几个:第一,自己太在意这个考试了,导致心里压力过大,影响了发挥;第二,学校没有一个正式和规范的考试志愿填报辅导,导致考生对大部分的学校和专业都不了解,容易填报不适合自己的学校及专业;第三,自己没有合理评估自身的能力,对自己的期望过高了。
我的大学七年
因为高考没有考好,我进了一个普通大学的通信工程专业,之后发奋学习,又在某著名邮电大学的计算机应用技术专业读了三年研究生。
我在大学四年里学了六十多门课程,我记得的包括:《高等数学》、《线性代数》、《大学物理》、《电路原理》、《C语言程序设计》、《大学英语》、《模拟电子技术》、《数字电子技术》、《信号与系统》、《计算机网络》、《通信原理》、《数字信号处理》、《数据结构》、《微机原理》、《移动通信》等。对于我现在的工作来说,最有用的就是C语言了,其他很多课程我都不知道学的是什么了。因此,大家在大学的学习中,学习要有重点。大四那一年的课程很少,主要是实习和做毕业设计,我在这一年里成功保研,并在某技术公司去实习了几个月,还被评为了校优秀毕业生。
研究生说是三年,实际上只有第一年在上课,其他时间里要么在实习,要么在搞科研写论文。在研一的时候,我总共学了15门课,包括:《自然辩证法》、《英语》、《算法设计与分析》、《随机过程》、《数理逻辑》、《计算机通信与网络》、《通信网理论基础》、《高级数据库技术》、《网络与信息安全》、《科研方法与学术论文写作》等。我在研一通过了所有课程的考试,在研二的时候,我到世界某知名通信公司去实习了半年,并发表了一篇被EI搜索的论文,研究生的毕业论文也被评为校级优秀硕士学位论文。
我的建议
我2012年参加工作,到现在已经有五年之久了。结合自己的工作经历,对于大学的学习,我给学弟学妹们的建议如下:
第一,一定要学好计算机相关的基础课。如果大家想在未来从事程序员的工作,那么在学好编程语言(像C语言、Java、Python等)课程的同时,一定要深入学习操作系统、计算机组成原理、数据结构、数据库技术、计算机网络等。即使你以后想做WEB前端,也要掌握很多计算机底层的知识。这些基础知识就像是武林高手的内功,只有内力深厚了,学习其他招式才会更快。
第二,不要只是学习课本知识、不要只求考试通过,要多实践、多动手编写程序。我在上大学的时候,由于没有人的指导,网上的东西也很少,很多实践性很强的课程就只求考试通过,颇有种“不求甚解”的味道。现在回过头来看,这种学习方法是不对的。对于大部分计算机的课程,我们要知其然,也要知其所以然。此外,“实践出真知”,很多东西都只有我们动手将程序写出来之后,才能够知道自己的想法对不对、才能够知道系统或算法的运行原理是什么。现在网上的资料也非常多,大家可以去开源社区下载很多的程序来阅读,也可以将自己的程序开放出来,放到GitHub上,并发表博客文章来表达自己的观点。
第三,要抓住去企业实习的机会。在高年级的时候,大家已经有一定的专业课基础了,这个时候就可以去招聘实习生的单位工作一段时间,看一看实际的工作到底是怎样的,看一下自己在学校里面学的课程到底有什么实际的用途。实习不光是锻炼自己在专业知识方面的能力,还可以培养自己与人打交道、沟通交流的能力。很多用人单位也喜欢有实习经验的应聘者。
总结
经历过了高考,大家就踏上了新的人生征程。未来之路如何,全靠自己把握。对于想要进入IT行业的你来说,希望四年或七年或十年之后,你能够怀揣着深厚的功力信心满满地走出校园,在工作岗位上大放异彩。希望到那个时候,你也能将自己的学习经验分享出来,以引导后来人在程序员的道路上奋勇前行!