从高考到程序员---一个五年程序员的回忆及建议

(本文参加CSDN的“从高考到程序员”征文活动,谢谢!)

每年的六月初,有关高考的信息就会见诸于报纸、网络等,让我这位多年之前参加高考的、已工作多年的人不由得也回忆起了自己高考时的情景。恰逢CSDN举办本次“从高考到程序员”的征文活动,我就在这篇文章中分享一下自己的高考和大学经历,并为想成为程序员的学弟学妹们提供一些建议。


我的高考经历
我高中上的是我们市的一个重点中学,当时我们一个年级有22个班,总共一千多人,我的成绩在前几十名到一百多名之间徘徊。我参加高考是在2005年,那一年首次将高考时间提前一个月到六月的七八号(2005年之前的高考时间都是七月七八号),因此我们的复习计划都安排得比较紧,大家的心里也比较慌(至少我是这样的)。还不只是高考时间提前了的问题,最要紧的是我们是先填高考志愿后考试(从我们那一年之后,都是先考试后填志愿),也就是说,我们无法根据高考成绩来权衡选择想要报考的学校和专业,这样,每个人的心理压力就大了很多。

在填报高考志愿的时候,我非常有自信地填了上海的一所很有名的学校作为第一志愿,然后就不想填写第二志愿了。班主任看了之后,还是建议我填一个第二志愿保险一点。在他的劝说之下,我想多填一个也没有关系,于是便拿着那本记录着各个学校及专业的“高考志愿”参考书随便翻了一下,无意中发现了“通信工程”这个专业。虽然不知道这个专业的具体情况,我反正当时觉得这个专业还是挺时髦的,于是便填报到了第二志愿中。没想到,就是这样一个无意的举动,让我踏上了程序员这条道路。

我们当时还流行在考场外面去租“高考房”,以为这样可以有一个安静的休息环境,并且可以好好地复习,避免被打扰。我和另外一个同学提前在离考场很近的地方去租了“高考房”,心想这样应该可以考一个好的成绩了。在高考那两天,我也没有怎么休息好,感觉在一个特别安静的环境下反而还无法入眠。后来,我觉得可能是我已经习惯了学校宿舍的环境,突然让我进入一个陌生的环境反而还不能适应了。

没有休息好,加上我在考场上一直都没有一个好的心态,我当然就发挥失常了,考上了那个我随意填写的第二志愿,从此正式加入了IT从业者的大军。

现在回想起来,我高考没考好的原因主要有这几个:第一,自己太在意这个考试了,导致心里压力过大,影响了发挥;第二,学校没有一个正式和规范的考试志愿填报辅导,导致考生对大部分的学校和专业都不了解,容易填报不适合自己的学校及专业;第三,自己没有合理评估自身的能力,对自己的期望过高了。

我的大学七年
因为高考没有考好,我进了一个普通大学的通信工程专业,之后发奋学习,又在某著名邮电大学的计算机应用技术专业读了三年研究生。

我在大学四年里学了六十多门课程,我记得的包括:《高等数学》、《线性代数》、《大学物理》、《电路原理》、《C语言程序设计》、《大学英语》、《模拟电子技术》、《数字电子技术》、《信号与系统》、《计算机网络》、《通信原理》、《数字信号处理》、《数据结构》、《微机原理》、《移动通信》等。对于我现在的工作来说,最有用的就是C语言了,其他很多课程我都不知道学的是什么了。因此,大家在大学的学习中,学习要有重点。大四那一年的课程很少,主要是实习和做毕业设计,我在这一年里成功保研,并在某技术公司去实习了几个月,还被评为了校优秀毕业生。

研究生说是三年,实际上只有第一年在上课,其他时间里要么在实习,要么在搞科研写论文。在研一的时候,我总共学了15门课,包括:《自然辩证法》、《英语》、《算法设计与分析》、《随机过程》、《数理逻辑》、《计算机通信与网络》、《通信网理论基础》、《高级数据库技术》、《网络与信息安全》、《科研方法与学术论文写作》等。我在研一通过了所有课程的考试,在研二的时候,我到世界某知名通信公司去实习了半年,并发表了一篇被EI搜索的论文,研究生的毕业论文也被评为校级优秀硕士学位论文。

我的建议
我2012年参加工作,到现在已经有五年之久了。结合自己的工作经历,对于大学的学习,我给学弟学妹们的建议如下:

第一,一定要学好计算机相关的基础课。如果大家想在未来从事程序员的工作,那么在学好编程语言(像C语言、Java、Python等)课程的同时,一定要深入学习操作系统、计算机组成原理、数据结构、数据库技术、计算机网络等。即使你以后想做WEB前端,也要掌握很多计算机底层的知识。这些基础知识就像是武林高手的内功,只有内力深厚了,学习其他招式才会更快。

第二,不要只是学习课本知识、不要只求考试通过,要多实践、多动手编写程序。我在上大学的时候,由于没有人的指导,网上的东西也很少,很多实践性很强的课程就只求考试通过,颇有种“不求甚解”的味道。现在回过头来看,这种学习方法是不对的。对于大部分计算机的课程,我们要知其然,也要知其所以然。此外,“实践出真知”,很多东西都只有我们动手将程序写出来之后,才能够知道自己的想法对不对、才能够知道系统或算法的运行原理是什么。现在网上的资料也非常多,大家可以去开源社区下载很多的程序来阅读,也可以将自己的程序开放出来,放到GitHub上,并发表博客文章来表达自己的观点。

第三,要抓住去企业实习的机会。在高年级的时候,大家已经有一定的专业课基础了,这个时候就可以去招聘实习生的单位工作一段时间,看一看实际的工作到底是怎样的,看一下自己在学校里面学的课程到底有什么实际的用途。实习不光是锻炼自己在专业知识方面的能力,还可以培养自己与人打交道、沟通交流的能力。很多用人单位也喜欢有实习经验的应聘者。

总结
经历过了高考,大家就踏上了新的人生征程。未来之路如何,全靠自己把握。对于想要进入IT行业的你来说,希望四年或七年或十年之后,你能够怀揣着深厚的功力信心满满地走出校园,在工作岗位上大放异彩。希望到那个时候,你也能将自己的学习经验分享出来,以引导后来人在程序员的道路上奋勇前行!



欢迎关注本人微信公众号:

时间: 2024-10-01 08:30:18

从高考到程序员---一个五年程序员的回忆及建议的相关文章

把一个普通应用程序变为win2000(NT)中的服务

程序 把一个普通应用程序变为win2000(NT)中的服务 下载相关程序 srvany.exe instsrv.exe http://postboy.myetang.com/files/srvany.exehttp://postboy.myetang.com/files/instsrv.exe 下载上面的两个文件,放在c:\winnt 或别的地方. 打开命令行程序CMD.exe (或命令行窗口). 输入: c:\>instsrv "服务的名称" c:\winnt rvany.ex

如何成为一个卓越的程序员

作者是Rails/Angular开发者,企业家&YCalum.早先创建了Clickpass.com网站并出售.目前担任Brojure.com的OTO(唯一OTO),兼职entrepreneur first. 免责声明:这是一篇非常长的文章,比我通常会写的主题要长得多.我编辑文章并发给朋友评审,直到他们都觉得文章没有一字需要删改的.我希望你也这么认为. 如果有一件事是开发者都关心的,那就是成为更优秀的开发者.那你应该从哪里开始呢?你是否应该积累一些附加的卖点:比如专研Node知识和no-seque

一个合格的程序员应该读过哪些书

转转自:http://justjavac.iteye.com/blog/1530097 编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的? "如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西." 很多程序员响应,他们在推荐时也写下自己的评语. 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的

一个合格的程序员应该读过哪些书(偏java)_实用技巧

很多程序员响应,他们在推荐时也写下自己的评语. 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书. 其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语. 下面就按照各本书的推荐数排列. 1.<代码大全> 史蒂夫·迈克康奈尔 推荐数:1684 "优秀的编程实践的百科全书,<代码大全>注重个人技术,其中所有东西加起来, 就是我们本能所说的"编写整洁的代码".这本书有50页在谈论代码布局

一个大神程序员的使命感究竟应该是什么

工作了五年的工程师,算不算高级开发者?归类开发者不是简单地看工作年限,因为经验这种东西千金难换但又一文不值. 我们现在工作的行业很奇怪.明明每年都有新的从业人员涌入人才市场,但企业依旧诉苦自己迫切需要大量的开发.这种问题存在已久,而且已经越发严峻. 开发者这个行业非常年轻,也面临着很严重的人才短缺问题.大部分的软件开发项目无疾而终,原因是后期开支过于庞大.那些行业里的大佬是怎么建议我们 的,他们说「世界上永远存在解决问题的办法,但我们还是会遇到各种难题.因为除非我们真正去尝试解决,否则永远不知道

做博士还是做一个专业的程序员?

当我从大学毕业获得计算机科学学位的时候,我就想继续学习并获得博士学位.但是,我又想作为一个软件开发者去参与工作,所以我在这一行中工作了五年 之后,又回去念了一年的博士学位,在作为博士生的一年时间里,我发觉我更喜欢专业的软件开发.尽管这已经是多年以前的事情,但我觉得这里面我学到的一些经 验现在仍然适用. 为什么要取得博士学位? 喜爱学习.我享受于学习计算机科学的每一分钟.我一直都很喜欢数学和电脑,并且我在查尔姆斯理工大学的硕士课程 就包括了大量的数学课程和计算机课程(软件和硬件),以及常见的工程课

想成为一个JSP网站程序员吗

js|程序|程序员 任何Web开发人员需要必备的技巧主要有以下这些技术. 开发Web应用程序的技术已经变得更成熟.更复杂了.现在,构建一个Web应用程序不仅仅需要简单的HTML技术了.数据库访问.脚本语言和管理都是一个Web程序员需要具备的技术.让我们来看看要成为一个市场上受欢迎的Web开发人员都需要些什么技能吧. 自从CERN(欧洲粒子物理研究所),日内瓦附近的高能物理研究中心,在1991年发布了Web以来,Web技术已经从静态的内容和Common Gateway Interface(CGI)

指南:想成为一个JSP网站程序员吗?

js|程序|程序员   任何Web开发人员需要必备的技巧主要有以下这些技术. 开发Web应用程序的技术已经变得更成熟.更复杂了.现在,构建一个Web应用程序不仅仅需要简单的HTML技术了.数据库访问.脚本语言和管理都是一个Web程序员需要具备的技术.让我们来看看要成为一个市场上受欢迎的Web开发人员都需要些什么技能吧. 自从CERN(欧洲粒子物理研究所),日内瓦附近的高能物理研究中心,在1991年发布了Web以来,Web技术已经从静态的内容和Common Gateway Interface(CG

想成为一个JSP网站程序员吗?

js|程序|程序员 任何Web开发人员需要必备的技巧主要有以下这些技术. 开发Web应用程序的技术已经变得更成熟.更复杂了.现在,构建一个Web应用程序不仅仅需要简单的HTML技术了.数据库访问.脚本语言和管理都是一个Web程序员需要具备的技术.让我们来看看要成为一个市场上受欢迎的Web开发人员都需要些什么技能吧. 自从CERN(欧洲粒子物理研究所),日内瓦附近的高能物理研究中心,在1991年发布了Web以来,Web技术已经从静态的内容和Common Gateway Interface(CGI)