忆往思今,拥抱未来
第一次写博客,顺便思考下人生,哈哈。
关于当初:
博客B[1]作者在回忆本科时期的经历中提到“我像高中阶段一样,只学习那一点点可怜的上课讲的知识,
几乎不看教材、不怎么看课外资料,课后的作业基本是独立完成,却从来不是主动地思考、从各个可能
的角度出发寻找到解决问题的方法,而是沿着老师讲过的固定的模式,或者寻找类似的解答方法,然后
稍微变换,从而完成解答“,这点和我之前一直的经历很像,这样学似乎对于考试也可以很好的应付,
但是作为软件工程专业的一名学生,我渐渐发现这样是远远不够的,尤其是在看到身边一些同学已经
可以编写出非常炫酷的程序,而自己只能在网上找代码抄抄改改时,深有一种可望而不可及的无奈感。
然而真的可望而不可及吗?其实不过是为自己的懒惰找的借口而已。
这又让我想起了自己当初的选择。初次对计算机产生兴趣源于高中时代读的一本《乔布斯传》,
乔布斯那天才的智慧,对产品的执着,对完美的追求,无不深深的吸引着我。于是在高考分数下来的那
一刻,我便毅然决然的报考了华科的软件学院。满怀憧憬,斗志昂扬,然而当我真的一步步走进计算机
的世界时,却又发现一切扑朔迷离,枯燥难懂。畏怯,“懒惰“,似乎让我一直不敢走进计算机的世界,
我甚至在大一上快结束时,跑去图书馆看了好多本我很少接触的文学书籍。大一下差不多也是这种状态,
唯一值得慰藉的便是成绩提高了些许。选择软件工程,源于兴趣,”放弃“软件工程,源于没兴趣。博客
B[1]作者说的” 我是科班——却没学懂计算机“,我想和我差不太多,源于对计算机的兴趣不够吧。大一
大二懵懵懂懂的度过了两年,期间也学了c,c++,java,html,css,jsp等许多语言,也包括数据结构,
离散数学,汇编语言,操作系统等课程。然而,现在想来,每种技术或语言,自己也都是刚入门吧。尽
管也写了贪吃蛇,以及多人协作用MFC写过车牌识别等。大一时就听某位学长说过,大学期间要保证十
万行的代码量才能真正的学好这个专业。然而两年半过去了,对于自己的代码量,我猜怕是刚过万吧,
少的可怜吧。
大二暑假有幸去我姐工作的公司实习了一个半月,跟想的不太一样,因为整个过程中都是
我一个人在完成负责人给我布置的任务。第一周算是考核吧,第一天就让我去自学vba这门语言,因为
之前从没听说过,只能老老实实的去网上找教程,找一些小例子练手。三天过去了,我感觉学的差不多
了,便主动跑去负责人那儿领任务。任务是在一个xlsx中多个sheet中查找一些数据,并按一定格式放
在指定位置。尽管我在之前的项目中很少有操作过文件,负责人布置的任务也还是两天内尽力完成了,
第二周很自豪的给她看时,还夸了我自学能力不错。再花了一天添些功能,优化代码。接着布置了一个
跟它们公司项目有关的一个任务,重写网站的一部分功能。还是我一个人?这次多了一个给我讲需求的
人。除此之外,代码还是我一个人码,公司的项目多,人手紧,给我写的这部分功能估计也是人手紧的
原因。为了借此机会了解下框架,我开始自学ssm,并在某人的推荐下,使用了maven,终于在差不多一
个月的时间内,边学边做的完成了任务,期间遇到的bug就不提了。我现在最担心的确是当时写给公司
的代码是否健壮,尽管自己手动测试了好久,也给测试人员测试通过了。回看那些代码,深感当时对框
架所知甚少啊。实习最后一个星期,又帮负责人用vba完成了几十个excel文件间数据增删改查的复杂
操作,最后跑一次居然要花好几十秒,可能文件操作真的耗时吧。
关于未来:
博客D[2]的作者说“掌握好专业基础知识是你以后进一步学习的前提。个人感觉,学生时代不要刻意去
追求项目经验。当然如果有机会,适当地进入一线企业做一些实际项目确实对你就业有帮助,但这样去
做的前提是你已经掌握好了大学课本上的基础知识。不要瞧不起大学里开的一些课程,更不要觉得它们
太偏于理论。“我觉得这话,掌握基础和重视课程这两点确实很重要,但是项目经验还是非常重要的。
博客M[3]的作者就在博客中提到了他曾经完成的大小项目,并打趣地说他能进微软是因为他把这些经历
写进了简历。许多公司的职位要求里面也都写到了有项目经历者优先考虑,而且最最重要的是,项目经
验能更好的帮助我们理解知识,严格要求自己。实践出真知,我自己的实习经历也让我开始敢于码代码
,开始对这些产生兴趣和增强信心。
对于未来,我直到大三上结束时才下定决心去找工作。大学前两年
半过的有点”迷糊“、”安逸“。我想早点去工作当中历练。由于目前水平实在有限,做出这一选择不得不
说还是对自己有些”残忍“,再过半年到大四上就要去找公司实习了,需要学习的知识实在太多太多。不
过现在心态比之前也沉稳多了,开学前就去各大公司校招官网了解了许多,也在知乎上刷了许多大佬们
的面试问题及经验。从知乎[4]中作者分享的面试流程中可以看到,校招面试时,对学生的”基础“还是
非常看重的,问题很深很广。当然我看了许多别人分享的面试题,大都重视学生的基础,所以接下来一
年半,我需要根据自己想要投递的职位要求,来一点点的去掌握相关的知识,这包括,《java编程思想》
(精通),tcp/ip协议(了解),《深入了解java虚拟机》(了解),spring,springmvc框架底层原
理,以及复习之前学过的数据结构,算法,数学等知识,时间紧迫,刻不容缓。
关于当下:
博客K[5]谈到职业规划就像软件工程,并建议“ 确定了自己的行业和专业领域后,接下来的事情应该是
1)努力掌握这个行业的知识,2)用最短的时间了解这个专业和行业更为具体的各个子方向。然后在实
际过程中再认识自己“,对此,我觉得,对于计算机行业,用最短的时间去了解该行业具体的各个子方向
,显得有些没必要或者不大现实。尤其对于我们在校学生来说,切不可求多又求快。选择自己感兴趣的
一两个方向,然后投入大量的精力,尽可能的掌握深层的原理和实现。并去了解相关的方向。比如我打
算从事java后台研发(网站这块),就必须要精通java的数据结构,比如hashMap,concurrentHashMap的实现
原理,java的多线程中如何实现同步。还有ssm等主流框架的实现原理,网络安全等等,至于android等
或者其它语言,像前端html/css/js/jsp等只需简单了解即可,平时能够简单使用。
至少在现在时间紧迫的情况下只能这样选择。我不敢说自己有多喜欢当前专业,但至少我现在渴望去走进
它,掌握它,并乐此不疲。毕竟是科班出身,对软件相关的知识,至少课程内的内容,还是掌握的可以的。
数据结构,算法,数据库,数学
知识,操作系统以及一些软件工程的知识等,现在要做的,在我关于未来那方面已经说过了,跟时间赛
跑,一点点掌握相关知识的底层实现及原理。看书是一个深入思考的过程,这点和实际打代码还是有些
区别的。能力还有很多欠缺,在这毕业前的一年半中,拼尽全力的去弥补吧。
关于课程:
大学里印象最深的有两位老师,一位是教微积分的金老师,另一位是软件工程老师,也是我大学里学的
最差的一门课。前者印象深是因为金老师讲课,总是准备的很充分,例题讲解十分详细,认真。就连高
中数学课都很少听讲的我,也被金老师吸引住了,只要你认真听讲,总能搞懂你想知道的。金老师就像
大学教师中辛勤的园丁,孜孜不倦的浇灌着我们这些渴望知识的脑袋。对于另一位印象深刻的老师,他
的课实在是无比枯燥,感觉讲课就是照着ppt念,而且一点也不生动,几乎总是自己讲自己的。对于软
件工程中重要的理论知识,也只是简单的讲解了下,没给布置同步的训练。整个课程学下来,我就记住
了几个软件工程中的名词,最后的开卷也是考的一塌糊涂。博客E[6]中的作者在文章最后提到“我觉得
一个正常的程序员,是不应该去参加培训的。更何况,培训真的没有什么用。 多半都是想走捷径,不
劳而获。 而若要好好走好职业道路。 在走出大学校门的那一刻,应该学会自我成长,自我完善。“我
认为,说培训完全没用是不大对的,也许正常的程序员是不应该去参加培训的,但是对于一些非科班出
身,又想从事软件行业,培训未免也是一个不错的选择。我姐姐就是通过培训然后去做软件测试,尽管
她的代码能力不是很好,但是对于测试的任务,她也能很好的完成。我不是很了解那些培训,也许他们
中的很多并没有学到多少就加入了软件行业,也许通过培训速成的不会动一些底层的计算机原理,但他
们中的部分还是能够通过自己的努力为软件行业贡献自己的一份力量吧。我们不该带着有色眼睛去看他
们。
师生之间:
博客N[7]中邹欣老师给出了许多可能存在的师生关系,最终给出的结论是,“我心目中理想的师生关系
是什么? 是 Coach / Trainee (健身教练 / 健身学员) 的关系“,可以说,对师生关系的思考该
是很深了。文中还说到” 每一个来学习的学生, 都是想学好软件工程这门技术才来的。 各人条件不
同, 目标也未必相同。 有些同学想成为世界一流的软件工程师, 那老师就会以世界一流的标准来要
求学生;有些同学只想拿一个及格的分数, 那老师也会告诉他如何才能及格,并严格执行评分标准;
有些同学想在某个领域深造,老师也会提供相应的指点。“,我觉得,老师在布置平时任务的时候,应
该给出多个不同难度的选题,不同的选题给出不同的评分标准。对这门课感兴趣的可以试着深入学习这
门课,同时或者较高的分数。不敢兴趣的,也可以花较少的时间对这门课有些了解。这也许需要老师投
入更多的经历到课程教育中,但是这对学生来说,才能真正让不同的学生都掌握自己想要的。就像教练
对待不同学员之间一样,基础、体质好些的,训练力度大一些,基础一般的,适当降低要求。有人健身
为了修身,有的为了增肌,不同标准,各取所需。反过来,可以想像,如果教练对于所有人都是一个便
准,势必会有人吃不消,有人不满足,教练是省事了,学员对教练的评价又怎会好?
[1]https://book.douban.com/subject/4006425/discussion/22803961/
[2]https://www.cnblogs.com/xiaozhi_5638/p/4485805.html
[3]https://www.cnblogs.com/geniusvczh/archive/2011/12/16/2290808.html
[4]https://www.zhihu.com/question/40912118/answer/151123860?utm_source=qq&utm_medium=social
[5]http://blog.csdn.net/haoel/article/details/1688104
[6]https://www.cnblogs.com/geniusalex/p/4928713.html
[7]http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html