给硕士生童鞋的一点建议

=== 以下建议大部分是和朋友们讨论的结果  鸣谢 Tulc, weiy, richard Lee, sunlw, gang.fan, zhanglj
谢老师一直要求我对这几年的工作做一些沉淀,对此我一直很汗颜没有好好做。。。我觉得吧,在北大的这些年,积累的最重要的财富就是各位老师和同学。 前段时间把这几年和毕业的硕士同学交流的结果总结了一下,发给组里的师弟师妹们参考。 希望师弟师妹们奋勇前进。如果哪位师弟师妹们找工作时候,需要跟早几届毕业的师兄师姐联系,可以跟我发信。
附件是给大家的一点点建议,言辞鄙陋,请各位见谅。 原文以Google doc形式给出了link:  http://docs.google.com/Doc?docid=0Ae95NbZNy_mAZGR2NWhqcDRfMzM0YzNoaHpwa2M&hl=en 
该文档已经共享了,各位可以随意修改交流。。。======
以下建议仅适合于希望找一份技术性工作的童鞋
0. 定位是最重要的事情,自己适合做什么、不适合做什么,是一直一直一直要努力思考的问题。本建议不仅仅适用于硕士生。
1. 精力应主要放在研究经典的、本质性的方法和技术上 方法上比如OO里面的重要思想(重构、信息屏蔽等);技术上比如算法、操作系统内核、编译技术等; 对于流行性技术,着重理解其技术的本质概念,如ajax(本质:分布式异步调用),如Python(动态类型的概念)
2. 早些为工作做准备。。。如果实在不知道该准备,就好好练英语听力和口语;如果实在懒,就看英文字幕或无字幕的friends
3. 牛人都是实验室里面干出来的,如酷讯的陈华,开发了MAZE; 这是因为实验室比较自由,时间比较充裕。 实习出不了牛人——没有自主性的工作,如何最大程度的体现自己? 以牛人为目标的同学,就应该自主的提出目标,做出实际的工作;如果对实验室工作没有啥想法,至少可以利用一个课程的实践的机会做点让别人印象深刻的项目。 
4. 对目标不是牛人而言,实习是重要的。尽早了解各大公司对实习生的要求很重要,早作准备。
4.1 准备的一方面是实验室的实践工作—— 缺乏实验室的项目经验,简历内容不够
4.2 多和已经毕业的师兄师姐联系,了解招聘状况
5. 即使是实习,也应该全力以赴。别人的认同是未来道路的资源。
许多人习惯于把实验室工作拖着不做,认为反正硕士混个毕业即可; 这样很不好,因为会给实验室的同学留下自私的印象。人生有几个三年?得不到同窗三年的同学的认可,未来路子会很窄。 
6. 如何合理分配时间是必修课。 在实验室工作、实习之间都做好相当不易。有些人似乎天生就具有在不同进程间无缝切换的能力。要锻炼自己这种能力。要知道人生道路上需要不断抛出又接住的球可能越来越多——工作、家庭、理财;孩子、父母、配偶。
7. 参加一个团队比赛会让人有很好的经验。 比如创业大赛或是实验室工作相关技能的竞赛。 不仅仅是结果,在努力过程中与队员结成的友谊和信任,是一生的财富。 
 
8. 早点为自己毕业写一份简历,上面写的都是自己在硕士毕业时候具备的技能——然后,逐条学习之。
=================
以下建议仅适合于软工方向的童鞋
1. 工程经验是基础,是最重要的—— 对此,参见邵维忠教授写给硕士生的信。
只有有了工程经验,才会理解软工的重要性和软工需要解决的问题。 
2. 有了工程经验,思考是很重要的—— 自己在开发过程中遇到的问题,都是可以总结、提炼成一个好的研究性问题的。 
3. 软工方面有许多的概念,很多时候需要花很多去理解和鉴别;同时由于很多时候,软工研究者们都是概念驱动的做研究(也就是说,为实现XX概念需要满足的XXX特征而研究), 这导致许多人都认为软工的东西很虚。 如果不喜欢玩虚的,那就尽量让这些概念(或者概念的一部分)落实形成工具或者系统。 
 
4. 尽管实现了一个系统,但这个系统中体现出的技术含量可能并不够——也就是实打实的编程技能的体现可能不够。 这种情况下,需要自身挖掘实现的feature,尽量把它实现的有技术含量一些,这对硕士生而言是很好的锻炼。 比如自己实现个支持多线程访问的cache,比如说自己实现些较为复杂而经典的算法等,比如多看看有哪些设计模式是可以用上的等等。
 
5. 软工毕业生最为对口的应该是软件企业,而不是现在的这些互联网公司(似乎这些公司对软工并不太重视,美其名曰是轻量和敏捷)。 因此,如果喜欢软工,那最好的地方是MS.
 
6. 项目管理是软工的重要课题,因此最好能尝试当一把PM; 如果没有这样的机会,那就尝试一把个体软件开发,自己做自己PM。
 
7. 对于软工相关的工具要比较熟 常用的比如 配置管理、项目规划、bug管理、经验管理 等等
 
推荐资料
 
David Notkin      Software, Software Engineering and Software Engineering Research: Some Unconventional Thoughts
 
David Parnas, micheal Jackson 早期关于结构化的论文
软件工程:实践者的研究方法 (用于了解软工包含哪些方面,需要解决什么问题) 
邵维忠,面向对象分析 (尤其第一章)
Martin fowler,  UML distilled
人件,人月神话,与熊共舞
设计模式,重构,分析模式,Effective java (c++)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值