大学生实习是去大公司好还是小公司好
2016-06-18 12:20
260 查看
最近看到了这个问题。
首先这个问题不太正确?
正确的问题是“如何实习最好?”
我们假设你的目标是做一名软件开发工程师,实习期是3~6个月。
我们的问题就变成如何在3~6个月里,让你向你的目标前进。
更明确是问题是在你找工作的时候,你的简历上写什么?给你的面试官说什么?
另外一个重要的是你的研究方向(不过现在这里面的水分太多,技术含量要么不大,要么不对口。)
至于你考试的分数、特长、获过什么奖之类的,只有参考价值。
最好的实习机会是:
让你每天开发8~10小时,一周工作5~6天。
似乎有点自虐,不过这样确实可以快速提高你的能力。
写大量的code很重要。
开发工作一般有两种:开发新功能和修Bug。
修Bug对新手的帮助不大。可是却经常让新手干。
方向很重要。
如果你想搞算法,就最好找相近方向的工作。
因此,在你面试结束的时候,你要问清楚对方让你干什么。
你可以给对方说,你可以接受加班,但是必须是开发工作,开发新功能的,让你有机会写大量代码的。
如果,对方说先让做一些测试。我认为你应该放弃这次机会。
这是因为:你做了3~6个月的测试,以后找工作的时候,很可能让你做测试工作。
公司的那个开发团队为什么招实习生? (这个和公司是不一样的)两个原因:一个是公司的任务,一个有可能把好的实习生招成正式员工。
其实从开发团队的角度来说,让实习生参与到开发里是个极大的风险(需要培训,能力问题,是不是会随时离开,项目进度等等)。
大公司有可能不会让实习生接触code (安全规范的限制)
我见过的实习机会有:
做测试
修一些Bugs
Run Build, 每天写build报告
开发小工具
做些无聊的事儿 (比如把软件管理系统里,几百个tasks的状态改改。)
闲着(我面试过一个研究生抱怨说,在他实习的期间,开发团队帮他安排在不同楼层的一个工位上,再没理过他。)
好吧,说到这里,让你开发新功能的机会很小。上面修Bugs、开发小工具,算是比较好的实习机会。其实闲着的机会最好,我不是开玩笑。
其实,小公司(越不规范的公司)给你的机会可能越多。
你面试的时候说,实习给了你了解大公司的文化,管理等等,基本上是瞎扯。
你可以不实习。
如果你可以很好的利用3~6的月时间干更多的事儿。比如自己做一个项目,你一个人也好,和其他人合作也好。
你完完全全可以把这个项目写到你的简历中去,可以说这是你实习期间干的事儿。
这里有些规则:
你能够全身心的投入到这个项目里。
如果你个人控制力强,最好,如果不行,让你的同学或者老师监督你。
这就是我说为什么一个闲着的实习机会最好,公司的环境可以让你更专注。
有个比较好的方向。有新知识进来。
要有大量的产出物:Code和文章。
学习一个知识,看一本书比不上自己实现和利用它,在自己实现的过程中,你可以学会很多东西,理解也更深刻。
这里写一些我觉得比较好的例子:
可以学习一些人工智能的算法,写个程序实现这些算法,还可以测试、应用这些算法。再写一些文章。
可以学习一个框架,写个系统使用这个框架。这个系统要有完整性,你可以设想许多功能,然后实现这些功能。
可以仿照现有的软件。比如ant, junit等等,可以使用相同的接口\设计,自己写一个一模一样的,小规模的。
一些坏的例子:
只读书。
写类似于Hello World的程序。
首先这个问题不太正确?
正确的问题是“如何实习最好?”
你的目标是什么
回答这个问题,首先要想清楚自己未来的目标。我们假设你的目标是做一名软件开发工程师,实习期是3~6个月。
我们的问题就变成如何在3~6个月里,让你向你的目标前进。
更明确是问题是在你找工作的时候,你的简历上写什么?给你的面试官说什么?
以后工作面试中,看中你的什么
从我个人做面试官的经验来说,大学生\研究生 简历上实习经验最重要。另外一个重要的是你的研究方向(不过现在这里面的水分太多,技术含量要么不大,要么不对口。)
至于你考试的分数、特长、获过什么奖之类的,只有参考价值。
最好的实习机会是什么
你有个面试实习生的机会,你的目标是成为一名软件开发。最好的实习机会是:
让你每天开发8~10小时,一周工作5~6天。
似乎有点自虐,不过这样确实可以快速提高你的能力。
写大量的code很重要。
开发工作一般有两种:开发新功能和修Bug。
修Bug对新手的帮助不大。可是却经常让新手干。
方向很重要。
如果你想搞算法,就最好找相近方向的工作。
因此,在你面试结束的时候,你要问清楚对方让你干什么。
你可以给对方说,你可以接受加班,但是必须是开发工作,开发新功能的,让你有机会写大量代码的。
如果,对方说先让做一些测试。我认为你应该放弃这次机会。
这是因为:你做了3~6个月的测试,以后找工作的时候,很可能让你做测试工作。
事与愿违
现在从公司的角度看这个问题。公司为什么招实习生?两个原因:一个是宣传公司,一个是有可能把好的实习生招成正式员工。公司的那个开发团队为什么招实习生? (这个和公司是不一样的)两个原因:一个是公司的任务,一个有可能把好的实习生招成正式员工。
其实从开发团队的角度来说,让实习生参与到开发里是个极大的风险(需要培训,能力问题,是不是会随时离开,项目进度等等)。
大公司有可能不会让实习生接触code (安全规范的限制)
我见过的实习机会有:
做测试
修一些Bugs
Run Build, 每天写build报告
开发小工具
做些无聊的事儿 (比如把软件管理系统里,几百个tasks的状态改改。)
闲着(我面试过一个研究生抱怨说,在他实习的期间,开发团队帮他安排在不同楼层的一个工位上,再没理过他。)
好吧,说到这里,让你开发新功能的机会很小。上面修Bugs、开发小工具,算是比较好的实习机会。其实闲着的机会最好,我不是开玩笑。
其实,小公司(越不规范的公司)给你的机会可能越多。
也许不实习更好
其实许多实习机会对你不重要。从找工作的角度上说,你需要的是简历上内容。更重要的是你需要提高自身的能力。你面试的时候说,实习给了你了解大公司的文化,管理等等,基本上是瞎扯。
你可以不实习。
如果你可以很好的利用3~6的月时间干更多的事儿。比如自己做一个项目,你一个人也好,和其他人合作也好。
你完完全全可以把这个项目写到你的简历中去,可以说这是你实习期间干的事儿。
这里有些规则:
你能够全身心的投入到这个项目里。
如果你个人控制力强,最好,如果不行,让你的同学或者老师监督你。
这就是我说为什么一个闲着的实习机会最好,公司的环境可以让你更专注。
有个比较好的方向。有新知识进来。
要有大量的产出物:Code和文章。
学习一个知识,看一本书比不上自己实现和利用它,在自己实现的过程中,你可以学会很多东西,理解也更深刻。
这里写一些我觉得比较好的例子:
可以学习一些人工智能的算法,写个程序实现这些算法,还可以测试、应用这些算法。再写一些文章。
可以学习一个框架,写个系统使用这个框架。这个系统要有完整性,你可以设想许多功能,然后实现这些功能。
可以仿照现有的软件。比如ant, junit等等,可以使用相同的接口\设计,自己写一个一模一样的,小规模的。
一些坏的例子:
只读书。
写类似于Hello World的程序。
相关文章推荐
- 阅读程序
- Codeforces Round #358 (Div. 2) C. Alyona and the Tree
- 使用RDS不得不知的注意事项
- 交通工具 虚函数的应用
- 第十三周项目1(2)
- jqPlot jQuery绘图插件的使用
- 字典树(Trie树)
- 黑洞数
- eclipse中解决65536
- RxJava
- 215. Kth Largest Element in an Array
- faster_rcnn c++版本的 caffe 封装,动态库(2)
- 3ds max 渲染清晰面片的边缘
- JQuery_Validation_plugin
- 第一个博客 属于自己的
- C程序编译过程浅析
- scikit-learn : 线性回归
- MongoDB的性能监控
- faster_rcnn c++版本的 caffe 封装(1)
- 第十三周项目1(1)