毕业实习体会
很喜欢一句话,在一切能力的归宿,创造无限可能的未来。
大三的一个暑期,参加了安排的毕业前的工作实习。有些事情在你的生命过程中,微不足道,但是还有一些事却一直会牢记,在此写下毕业实习体会。
体会包含两个部分的内容,第一,学校安排的假期实训,我们是在尚观科技(Uplooking)参加了2周的实训课程。第二,在奥事达科技有限公司(Allstar)的实习感受。
讲课老师的本身的才华和能力是吸引学生的最重要的魅力
尚观科技,是一家培训Linux 嵌入式开发和系统运维的公司。初次去的时候,感觉一般,走到他们的会议厅,零散的做了一些不同学校的同学。等了很久老师才出来。听人介绍说,这是他们公司的总监。总监很随和,戴一副黑色眼镜,三言两语之后便是幽默风趣。
总监很有才华,也很有能力。一直以来,我个人比较喜欢这种老师。大学里的老师几乎只会朗诵PPt,Import 早就做好了的代码,或许这个代码还是从教科书里Download来的。所以,几乎在课堂里没有学到什么。我说的是几乎。总监给我们讲课很熟练,也许是准备的一丝不苟或者已经重复的做过很多次吧。他的一个观点是:我们不会交给你新的知识,我们只会把你们学过的知识,在一定的时间,用我们的方式给你连贯起来。
总监的讲课方式也很有趣。嵌入式课程是非常无聊的。一个装有Linux 系统的ThinkPad,一个三星的开发板,一些插头,一根USB总线,一根双绞线,然后就是一大堆英文文档。做嵌入式开发,一大半的时间都在看文档,看文档,还是看文档,当你大概熟悉以后,写驱动代码,机会就是几行或者多一点。而且做嵌入式开发,薪水还挺高的,所以常说,这行业,一字千金。
言外之意,就是说我们在学校里学到的东西,不成整体,学得多,学得杂。
我们的课程其实很有用处,几乎都是基础课程。一个人扎实的基础和广阔的见识才是最重要的能力。
嵌入式开发收获
尚观科技的实训内容包含了:
1. 了解及掌握Linux基础操作和命令
2. 认识三星6410开发板
3. 完成开发板(下位机)与上位机(控制电脑)直接的正常连接,用串口线和网线连接,实现文件传输
4. 完成Led灯的驱动代码
5. 查阅文档,完成LCD灯的驱动代码
实训结束以后,意犹未尽,这就是收获。
我眼中的嵌入式开发
1. 带有智能操作系统才是趋势,更适用人的操作习惯。小时候就幻想,当我打游戏的时候,我可不可以让自己进入游戏的真实场景中。没想到过了几年虚拟空间游戏设备就推出了。
2. 智能家居。这已经不是热门的话题了,很多大亨家里早已经普及了。但是我希望更加普及,也就是太昂贵了。目前这些对于我来说,还有点远。
3. 智能穿戴设备。你一定很想own一个iWatch,一个Google Class吧。
说说上培训课
班上有几个同学都参加了培训,有的去了达内,结果他们就是换了一个地方看教学视频。有的去了千峰培训ios开发,回来以后,华丽丽的转变,现在是月入5K的负债高富帅。曾经Oracle到我们学校开了一个Oracle培训课程,好多同学以为可以像拉里·埃里森一样,可以在IronMan 20中露个脸,争先恐后的报名,结果还是在一个特定的地方看视频。
但是,我倾向于,面对面的感受讲师的才华和有过的经历。传智播客的成功也许是因为有张孝祥老师,黎活明老师,韩顺平老师。没错,清华大学的学生都看韩顺平的视频。
但是,我倾向于,带着问题去上培训。这个时候,有更大的思维空间。
总之,有时间,有钱,能上培训课,还是不错的。
找到一个合得来的搭档,感觉很棒
很多课程设计,都是和大学里的一个朋友完成的,要么他写Client,要么我写Service.还是配合的很好,再次感谢他。他很有才华,理科成绩非常棒,逻辑思维很开阔。我一直都在向他学习。
不要太在乎编程语言
暑假期间,我和另外一个同学大概做了十几个项目,是关于工业控制的基于Win Xp的桌面软件,采用的技术是C#做后台,WPF做界面。可是,以前我学的是Java,而且一直做的都是Java相关的项目Demo,或者用Java做Android的一些项目开发。
呈现在我们面前的问题是
1. 时间紧,任务重,人员少。
2. 几乎没有思路怎么实现,不熟悉工控软件的概念。
刚刚接触这个项目的时候,还没有放假,在准备期末考试。所以给Boss说,我们需要过一段时间,才能开始。于是,我们便搜集资料,然后分析,因为项目很急,而且还涉及到硬件
底层通信,Boss要求最好用C语言,或者C++。我们便恶补C++和MFC,发现MFC在段时间内,是在无法开始项目。几天过去了,还是没有头绪。
后来,班上的一个朋友说,他们用WPF做了一个基于Windows的桌面程序,建议我们用WPF。接下来,我便借了几本关于WPF的书来看看,结果效果不错,然后结合朋友给的源码,便开始了原型设计和开发。慢慢的,界面几本好了,可是设计到后台数据库,逻辑交互,这些全是C#做支撑的,所以又找了C#的资料来查看,因为有Java的基础,所以C#上手很快。最后,便慢慢熟悉起来,在这个过程里,发现编程的思路和实现计划没有本质的不同。
终于,在不断地赶工和熬夜情况下,软件还是达到了客户的要求,然后打包发货。那天,心底还一直不相信,我们做了真正的软件。
尝试自己解决问题
很多时候,遇到Bug太正常了。以前很二愣的时候,直接把Exception放进Google里,然后得到一大堆结果,于是便琢条筛选,查看,判断,测试,直到解决。或者还不能解决。
遇到这样的问题,有时候解决了,当然可好,可是大多时候还是解决不了的。所以要尝试自己解决问题。
解决问题的时候,要有道
Bug?
看异常信息,自己去分析异常出现的原因,然后再Debug。
新问题?
遇到完全不熟悉的问题,超过你知识范围的问题?
1. 先找身边的大牛,大牛的经验比10个baidu的结果都管用
2. 大牛也解决不了的话,再用Google搜索,不要用Baidu,百度就是流氓公司,内事可以问百度,外事和程序要问Google。
3. 学会用搜索引擎,搜索的关键字的准确可以决定你找到Target的时间。
4. 尽量学会查看英文文档,然后解决问题。
一定不要惹老板不开心
也许是因为还没毕业的原因,学生的态度还一直随我。所以在外面做事,说话都很自由。天哪,我居然忘了是谁在给我发薪水。和Boss的相处的几个月里,有自由随意的时候,但是我的自由随意却给我带来很多不好的印象。后来在朋友的提醒下,我才慢慢修正自己的态度。还好我老板用他的宽容和更加宽容包容了我的。我想那时候他肯定想开了我。
所以,一定不要惹老板不开心。
在必要的时候逼自己一下
在我们平平淡淡的生活中,早早的起床,挤公交车,然后到实习单位做自己的任务,然后,下班,第二天开始重复。可是总会遇到一点棘手的问题,这个时候需要一点强迫症。逼自己解决他,而且要提前解决,或者不要因为这个问题,耽搁项目进度。
做软件开发,一定要相信自己
曾几何时,无限的怀疑自己。朋友都说我应该学文科,因为我喜欢文学或者很文艺。潜意识里也嫌弃自己,我怎么会做程序,我怎么会写算法。可是当我一次次的完成摆在我面前的任务时,我一次次的暗自高兴。没想到我真的会。所以无论何时,一定要相信自己。Boss后来告诉我,我们是做的事工程,工程就是用已经有的技术去实现设定的事。复杂的算法,复杂的让Sheldon那样的天才去完成吧。
大牛并不可怕,可怕的是大牛比你还努力
这句话来自师弟的QQ说说,觉得很好,又很好记,所以便无意记住了。如果没有很好的资源,勤奋不一定能得到你想要的,但是不勤奋机会更小。农夫的几个儿子的故事大家都知道,或者叫锄头的故事,每个人都愿意去相信一个温暖的故事,几乎每一个温暖的故事背后都有勤奋和努力的轮廓。
学会关注时事,慢慢有点政治主见
人说,你搞IT的,做你的coder就是,还政治。当然我是说我自己,要慢慢的关注,慢慢的积累自己的观点。当你有自己的政治主见以后,不会随意被鼓动,被煽动。现在流行一个词语,叫爱国贼,都知道大学生有爱国情怀,但是不小心就会被爱国贼利用。大三到现在,接受了很多这方面的资料,大概明白现在的社会,现在的世界是怎么回事。或左或右,或激进,或保守,但你要能明白。当人说,”康师傅好吃吗”,”现在改吃包子,不吃拉面了”,你也要慢慢知道,原来不是在说吃面。
要求说3000字,差不多了。