关于当初
我选这个专业,只是为了好玩。
我记得第一次接触计算机是在小学的时候,家里买了第一台计算机。有一次搬机箱,不小心摔了一下,机箱撞在地上,当时大脑一片空白,爸妈也不在家。怀着忐忑的心情,我装好之后按下了开机键。然后系统正常启动,没什么异常,我才放下心来。之后过了一段时间,我偷偷把机箱拆开,才发现想象中满满的机箱,空荡荡的,跟我想的有点不一样,感觉有点神奇。之后慢慢开始自己拆电脑清灰,重装系统。感觉计算机是一个挺有意思的东西。
填志愿的时候就写了计算机类的专业。
上大学之后,自己开始学一些东西,我记得刚开始的时候看的第一本书是《C语言入门经典》,之后慢慢又看了《第一行代码》,《Java核心技术》等等,了解了C、Java、Python的基本用法,也加入了学校的技术团队,了解了一些Android开发的知识,顺便参加了一些比赛。
从上大学到现在到底写了多少代码我也不记得了,但是我记得,我做过的最复杂的一个软件项目是一个Android App。是一个面向野外石油勘探人员的手机应用。要求实现登陆并保持在线状态,在手机上接收勘探任务,要求能够在地图上绘制出勘探路线,附近的人等等,并且要支持实时聊天,实时定位,实时任务下达,实时报警。大概就这些功能。当时只有我一个人写Android客户端。所以一些框架设计是参考的网上的代码,还有一些太具体的业务逻辑就和其他人梳理一下思路,自己想办法实现。大概写了三个月,写完了第一个版本。
但是回想起来我的大学生活,不过也就是像普通大学生一样庸庸碌碌而已。就像博客博客E[1]的作者所说,总的来说,就是我已经习惯了中庸。 (注:中庸并不是平庸,如果平庸是各方面都60的话,中庸是各方面都80)。 对于绝大多数大学生来说,都是这样一种状态吧,辩证看待,就像温水煮青蛙一样,不是慢慢堕落,就是保持这样一种状态少有起色,无功无过。读了几篇大神们写的博客,取得成功,无一不是有很强的执行力,并且善于反思,就像博客B[2]中所说,当你做到的越来越多的时候,你就会越来越自信,你的层次会提高的。相信我,人与人之间的差距很大,原因在于自我控制力有差距。不断总结,不断改进,才能不断前进。
关于未来
在知乎上有一个很火的问题,为什么我们「听过很多道理,依然过不好这一生」?,里面很多人都强调了,纸上得来终觉浅,觉知此事要躬行。但是我觉得,人的一生首先要认识自己,然后才是规划自己的人生。不管是文章K[3],还是文章L[4]中,从大佬的成长经历来看,每个人刚开始都有一段迷茫的时间,从小到大每个人都听了一个又一个的道理,糊里糊涂的走过了二十年直到自己大学即将毕业,或者是大学毕业过了几年,才在一次又一次的迷茫和挫折中慢慢认清了自己,开始了自己真正的人生。
对于我来说,我并不是一个善于表达的人,在很多人面前说话会紧张,和陌生人说话会不好意思,但是我可以长时间集中精力在一件事情上,直到把事情做完,并且会感觉时间过的很快,因此我会把大块的时间留出来集中解决一个问题。在大学接下来的时间里我争取能够保研,之后继续学习,不断提高自己的技术能力,找工作的事情往后放,就像博客K[3]中所说钱和职位只是能力的附属品,不要让其喧宾夺主。,钱和职位只是对个人能力的体现,不如多花时间想想怎么做好当前的事情,提升自己的实力。
关于当下
软件工程属于计算机类的专业,在过去的两年半的时间里,它带给了我我很多新奇有趣的东西,不论是刚开始的一个hello world
, 还是能够成功写出一款可用的App,都给我带来了很多兴奋的瞬间,让我能够在这条路上继续坚持下来。但是和其他人相比,我觉得我也就是一个妥妥的吃瓜群众。在和其他人的对比中越来越觉得自己懂得太少。
从步入大学的校园到现在,我懂的东西只是老师课堂上讲过的一些知识,有很多甚至在考完试之后就已经还给老师了。对比老师上课讲述内容和国外的一些课程的内容,我发现其实大家讲内容都差不多,但是国外的计算机专业的学生能力要比我来说强很多,我觉得其中最主要的原因就是我缺少了实践的部分。没有大量的实践,上课讲过的知识,最多就是停留在纸面上,并且很快就会忘记。课堂上的内容只是专业中很小的一部分,很多时候老师只是带我们入门,帮助我们走过刚开始的那一段学习曲线中比较陡峭的部分,要想学的更多,还要我们自己不断去实践。
对于一名合格的大学生,我觉得我还需要提高自己的自学能力和大量的实践过程。在博客I[5]中,作者列举除了自己从大学到现在的八份工作,总结一下就会发现,在每一项工作中都是在实践中不断的学习,不断实践,才有了技术上的不断提升。同样对于一名大学生来说,也需要将课堂上的知识在大量的代码中融会贯通,培养学习和实践的能力。
关于课程
对我来说印象最深的一门课是Andrew Ng的Machine Learning,这是我第一门完整的完成所有课堂内容和课后作业的在线课程。这门课程听的很舒服,虽然是英文的课程,但是能够很流畅地跟下来。课程中涉及到的算法等都会一步一步推导出来,并且详细的解释为什么要这么做,语言简洁,没有半点废话。并且课后作业也非常良心。每次作业都会给出指导,要完成什么任务,如何完成都会写出来,能够很好的复习课堂上的内容。并且可以随时提交作业,自动给出成绩。
从刚上大学开始,我就在想,和培训班出来的学生比较,我们有什么区别。看了E[1]作者的观点,感触很深。大学和培训班相比较,前者被人诟病的的大多数集中在开设很多基础课程,即使学的再好,毕业之后也找不到工作,而培训班出来的学生虽然是经过了几个月的培训,但是也能上手写代码。但是仔细对比就会发现,两者的培养目的是完全不一样的。培训班只是在最短的时间里告诉你怎么去做,并没有告诉为什么要这么做,更别说计算机行业的基本素养,这样培养出来的的学生本身就具有局限性,很少有人能够跳出自己的局限性去想问题。打好计算机基础对于长远的发展是十分重要的,就像E[1]中作者说到勿在浮沙筑高台!!,对于科班的学生来说,我觉得除了计算机基础知识外还要培养自己一定的实践能力,否则只是走向了另一个极端。
关于师生
邹欣老师在N[6]中比较了现实中常见的几种师生关系,比如说餐馆/食客、老板/雇员、保姆/幼儿、哥们/哥们等等,并且提出了理想中的师生关系应当是像健身教练/健身学院那种,学员能够主动加入到学习的过程中,不断总结和反思,同时教练能够对学员的学习严格要求,对学习效果及时给出反馈,并且能够鼓励学员继续学习下去。
建立良好的师生关系需要老师和学生共同努力,需要两方面的配合。然而现实生活中,以上的几种师生关系都是真实存在的,并且各种不同的师生关系都占有一定的比例,理想中的师生关系并不占大多数。我觉得从老师的角度来看,应该保证学生在愿意学的时候能够像教练一样给出指导、反馈和激励。对于那些没有那么大的学习欲望的学生并没有什么有效的办法,也只能尽力而为。
从学生的角度来看,经过了高三高强度的学习之后,进入了大学应该尽快培养自己独立自主的学习习惯。和老师培养良性的师生关系,多和老师交流想法,向老师询问建议,帮助自己更好的学习。
对我自己来说,进入大学之后,没有了高中那种严格的要求,本身又很反感那种学习状态,同时在大学多元的评价环境中迷茫了很长时间。刚进入大学的时候还保持着高中的那种学习习惯,经过一段时间慢慢找到了自己的学习和生活节奏,开始能够平衡生活和学习。对于所学的课程,已经不像高中那样上完课就只会做很多的题目来巩固,而是能够去主动找一些参考书来看,开阔自己的视野。与老师的交流也不仅仅局限在课堂上的内容上。我觉得这也许也是一种进步吧。
[1]https://www.cnblogs.com/geniusalex/p/4928713.html
[2]https://book.douban.com/subject/4006425/discussion/22803961/
[3]http://blog.csdn.net/haoel/article/details/1688104
[4]http://coolshell.cn/articles/4561.html
[5]https://www.cnblogs.com/unruledboy/p/DevCareer.html
[6]http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html