路漫漫其修远兮,吾将上下而求索。 ——《离骚》

1.选择

谈到为什么选择计算机这个专业,就不得不说起我自小想当一个黑客的故事了。打我心底里,(可能是被电影影响的缘故)认为黑客是世界上最酷炫的职业了。本来,高考失利之后(原本打算如果考的跟平时差不多的话报个英语、经济之类的遵从我父母的想法)我第一专业可以说直接报了计算机,说起来也惭愧,以前想过买一堆计算机的书来看的(在初中的时候),但是那时候计算机对我来说还是太陌生,跟我想象中的不一样,而且你也知道的,中高考不允许我这样读其他与考试无关的书,特别是我父母。所以能来这个专业也是意外。来到这个专业,从一开始我就是一个小白,不懂什么语言也不懂技术。与这个博客里的很多人比都差劲很多。

所以计算机算是我比较喜欢的领域了,但不是我擅长的。

要说到擅长,可能得在我专心研究学习个一辈子都不敢说出来的话吧。并不是什么过度谦虚,在我从大一到至今大三的这些期间,写过的代码,从C到C#再到java,html,mvc架构然后自学php等其他技术这些过程,只有我自己知道在这块领域自己是多么渺小,也许我花一生都不会做到精通一门技术(仅仅一门),就像https://book.douban.com/subject/4006425/discussion/22803961/作者在文章中提到的一样,即使你是一名计算机学子,但你也可能不了解或者没学多少关于这个领域的知识。

以前我发现计算机并不是我想象中那么好玩的时候我就会强迫我i自己去热爱这个专业,因为我知道如果你不热爱这个专业就注定走不长远,但是这条路又是我自己选择的,所以无论如何我都要学有所得。学习C的时候仅仅是理论上的知识,可以说大一阶段的C是这个领域的基础,然而我觉得也许是学校不注重实践还是其他什么原因,我们的上机课几乎很少,基本以理论课为主,大部分同学又不是属于那种热爱编程的人,所以我们学习的C知识可以说就是最基础的应付考试的理论。

2.大学生活

后来大一暑假我自己参加了ACM,目的就是为了培训自己的C#,发现ACM的算法真的是挺难的,培训课虽然说老师跟学长都很认真为我们解疑,但是从一开始就是让我们自己动手编程写算法,后面有培训课都是讲一整节(将近两节)的理论知识,没有演示也没有举例教我们设计算法,可以说对于当时一脸懵逼的我都是自己自学不断练习过来的(当然后来觉得C跟C#只要打个基础行)。

所以大学生活还是浪费了挺多时间的,单从我们有些专业课老师上课的效率来讲就有些不足。国内的大学生活大概就是这样,注重的是理论知识与考试,老师们期末出的题大部分都是理论知识,甚至很多人没有编程过也能轻松上80分,都是靠背的结果。当然我不能否定他们的能力,也不能说理论知识没有用,所有的实践都是建立在理论的基础上的,就是觉得没必要都用理论知识来讲解题目还有考试,像国外的大学这个专业主要都是以个人实践为主,着重培养的是学生的预习学习能力和实践经验。如果有机会我会争取出国留学深造。

说到培训班,我觉得就是砸钱的地方,其实当然是有用的啊,毕竟你砸了钱人家就有一些平常拿不到的试卷和题目给你,起码别人是没有的,但是说到底,培训班应该是给那些上课不认真听课或者老师不认真讲课自己自学又学不会的学生,你有钱你当然可以不断砸钱不断培训,问题是那么多的知识你要一直培训吗?

所以,个人觉得,如果只是想短期内掌握一门语言的基础知识可以去培训,(当然也可以自学,也就是上mooc学习),如果想要精通这一门语言,那我觉得,自学能力是关键了。

所以啊,培训班面向对象是自学能力不强的人,大学教育是面向所有学生的,而moo是面向所有想学习某个知识的人。他们之间技术上可能没什么区别,主要就是面向对象的区别。

跟刘帅博主一样,像他说的“我是传统意义上的计算机科班出身,学过数据结构、编译原理、操作系统、汇编语言、计算机原理、计算机系统结构、离散数学、概率论、计算机网络、数据库、单片机、算法设计、数理统计、高级语言程序设计、面向对象程序设计,从DOS的Tubro Pascal时代学起,一直学到VC6。然而,我却并没有学懂计算机。 ”我也是这样,起初特别喜欢java,每节课的java上机我都是自己敲代码自己设计题目,也为我后来的J2EE课打下了基础。后来学习了(选修课)J2ee,了解了mvc架构跟项目运行过程,发现这门课很有意思,于是就很认真的学习了这门选修课,老师也很认真的上课。但是选修课啊,总共才几节课,J2ee这个复杂的知识怎么能讲得完啊,后面老师跳过了AJAX跟STRUTS还有SSH,当时自己就课后学习了,发现这些才是后面的精髓啊!从那时起我就没在指望过学校的课能让我精通什么了,都是自学。

3.规划

说实话,一开始我就想跟其他毕业生一样吧,大三下找个实习公司实习一下,大四毕业出来找工作,工作个一两年,自然就工资上升啦之类的(当然前提是你要加班加点拼死拼活的工作)。

后来,看到了很多人(计算机大牛)写的文章,起初像我一样的不是不多,跟着老师做java web 的项目,自学写android,php,pyhon之类的也有些经验了,但是跟刘帅一样啊,“本科毕业后我就参加了工作,工作阶段,我的角色还真不少,有点需求分析,有点系统设计,大量的软件开发,大量的系统实施,一点点知识探索,一点点售前支持。既是典型的多面手,又是行行肤浅的门外汉。很少有人能从技术上指导我,不是因为我很牛,只是因为我们实在不是个以技术见长的公司。”所以,我觉得如果只是为了赚钱而学习这个领域,那学习也会跟着钱终止(如果有一天赚到了钱)。如果仅仅因为好就业选择这个领域,那毕业以后也应该像大部分的码农一样加班加点累死累活拿个4,5K工资。

钱不是最重要的,终有花掉的那一天,但是!我们年轻人的时间是宝贵的!如果趁年轻不好好学习与专研这些技术,等到几年后,你还是一个公司手下勤勤恳恳的员工,别人却已是你们公司重金聘请的技术大牛了。

因此我的想法与刘帅一样。

切记在这个领域不可急功近利。仅此而已,对我未来规划的建议。