清华大学 现代软件工程 - 实战经验分享

在前两节课中, 老师给大家描绘了关于软件工程和创新的理论和美景。 那么在实践中, 我们的软件工程师是怎么创新的? 我们请两位清华的校友和大家聊聊他们自己做的项目, 也和大家探讨一下软件工程师的工作, 生活和职业发展。

 

分享题目1:  Sora Project  - turn cutting edge research into great product

SORA 被业内专家称为最近几年在无线领域最重要的论文之一, 论文中提出的思想是怎么变为现实的呢?

 

clip_image001

  

分享题目2:   How Engkoo Innovates

做中英文词典/翻译的应用软件,这不是老一套么? 还能创新么? 请看微软亚洲研究院的回答:

 

image

 

课程的详情在这里。

============================

这次经验分享是由我们在一线工作的工程师主讲。 

很多人对微软研究院的 RSDE (Research Software Design Engineer) 这一职位不了解, 我从这本书里抄下来几段话:

 

Q:微软及很多其他软件公司都有不少研发职位,名称不尽相同,而且还是缩写,能不能讲解一下?

A:不少同学对微软公司的各种研发职位(Discipline)并不太了解,我们在面试进行到一半的时候,经常发现一个应聘者其实更适合做其他类型的工作。当然这时我们可以调换面试的方向,但是对应聘者来说总不是一件好事。我刚好在BBS上看到了一篇文章,这篇文章从个人的角度出发,非正式地讲了R&D各个方向的特点,虽然并非完全正确,介绍也不一定全面,但是我们不妨看看。

aR:Associate Researcher,副研究员,主要在“R&D”的“R”这一端,工作是读论文,提想法,被否决后再提想法(如此反复N次),赶在截止时间之前提交论文。AR的想法得到初步验证之后,还要跟其他部门推销自己的想法,争取把想法变成产品。AR的乐趣是能在一个领域中深入研究,发表论文,申请专利,每个专利申请(无论是否批准)都能让自己得一块黑色立方体石头(如图)。好多人的桌面上堆了不少石头,好像他们没什么苦恼。Smile 

 

AR有时做的事情和RSDE差不多。AR以后会成长为 Researcher(研究员)、高级研究员,杰出科学家, 等等。总之,最后就成了大家小时候特别梦想做的“科学家”。

 

clip_image002

图1 申请专利得到的石头

 

Dev:正式的名称叫SDE(Software Development Engineer),是在“R&D”的“D”这一端。他们在一个产品团队中,按照严格的流程开发产品。MS的一个产品发布之后,所有成员会得到一小块铁皮(学名叫“Ship-it Award”,如图2所示),上面写着产品的名字和发布日期。资深的Dev会收集到不少,他们会认真地把这些小铁皮整齐地贴起来,摆在办公桌最高的位置上。Dev的乐不少,这里就不列举了。但是苦也有不少,比如产品的周期有时非常长,过程定义得非常完备(有时不免觉得太完备了);比如要维护老版本;比如要用比较成熟的技术,而不是用最时髦的东西来开发产品。另外,Dev要负责一个或几个模块,这些模块不一定和最终用户打交道,未必是整个产品的核心模块。做一个好的Dev要生活在代码中,对代码和平台的各种细节要非常熟悉,掌握非常底层的技术,有些人以此为乐,有些人则未必。Dev的职业发展道路很多,如果只想钻研技术,不乐意做很多管理工作,Dev可以成为非常高级的工程师,直到杰出工程师(Distinguished Engineer)。当然,Dev也可以成长为开发主管(Dev Lead)、开发总经理(Dev Manager),等等。

clip_image004

图2 Dev得到的小铁片Ship-it

 

Test:正式名称是Software Development Engineer in Test(SDET),简称为Test或SDET(读作S-DET)。这个职位看似没有Dev和aR酷,但是很有前途,首先中国的同学由于种种原因(不了解,看不起,做不来)不太愿意做这种工作,因此,公司找人非常急迫,相对容易进入。这一职位所谓的苦(也反映了一些人的偏见和误解)从传统意义上说,SDET得等着上家(PM/Dev)给你东西,你才能“测试”。然而现代软件工程要求TEST 从项目一开始就积极参与项目的规划,了解客户需求,制定测试计划,设计测试架构,实现测试自动化,等等。事实上这些都是开发的工作,所以他们叫 SDE in Test。而且SDET 能更深入地了解产品的各个模块是如何合作,如何在实际情况下被用户使用的。从代码之外理解程序,这是测试之乐。那种“产品发布前一个星期让测试人员来测一下”的情况在微软是不会发生的。用足球比赛作比喻,QA/Test就是最后一道防线.  如果你没有防守好bug,bug就会跑到顾客那里去,因此Test工作非常重要。Test的职业发展和Dev类似,一直到有专门管Test工作的副总裁(VP)。

PM:这恐怕是外界误解最多的行当,简而言之,Program Manager(程序经理)做的是开发和测试之外的所有事情。有些同学会问 -
“我写程序都不用测试,那么除了开发和测试之外还有什么事儿?”

在公司里开发商业软件可没有那么简单,比如有10个Dev和5个Test 要在一起开发下一个版本的MSN Messenger,那我们到底要做多长时间才能完成?什么事情先做,什么事情后做?项目进行到一半的时候,领导说我们改名叫Live Messenger吧,那这一改名意味着什么?如何调整进度?最后还剩下两个月的时候,看起来我们的确完不成全部任务,那要怎么办?你又不是Dev和Test的老板,他们凭什么听你的呢?这也是PM的苦。PM的乐看起来在于,他们可以全盘掌控一个产品,广泛了解一个行业,和用户打交道,代表团队出席各种会议,在公司内部的曝光度也比较高。Dev/Test/PM 在产品开发中各负其责,互相协助,为共同的目标努力。产品成功发布之后,他们都会得到Ship-it 小铁片儿。

 

RSDE:好了,我们最后看看RSDE(Research SDE),这是微软研究院一个比较特殊的队伍。RSDE的乐趣在于可以接触到各种最新的研究成果,并用它来解决挑战性的问题。RSDE的苦在于项目都是V0.1版,而且做得成功的项目大多数会转化(Transfer)到产品组中,由别人推向市场。
RSDE在和研究部门合作的时候,就要负起 AR和PM(甚至Test)的责任。刚开始,RSDE既没有R的黑石头,又没有D的SHIP-IT小铁片。RSDE参与的项目有比较大的风险,经常会不如预期,或者会失败(这也是科学研究的特点)。项目失败后,RSDE掩埋了项目的尸体,擦干自己的血迹,又得找新的领域和新的项目。RSDE 还有“创新”的任务,这个词人人都会说,但是要做出来就不是那么容易了,全世界有这么多人在琢磨计算机,你能在什么地方做得比其他任何人都更进一步呢?这也是RSDE 的乐趣吧。有些同学能力很强,兴趣广泛,但是一时也拿不准自己要深入研究哪一个领域,这时不妨来做RSDE。做得好的RSDE,他们的工作成果推进了研究,又走向了市场,这样就既可以拿到黑石头,又可以拿到SHIP-IT小铁片儿。我个人认为能有机会做 RSDE 是很令人自豪的事情,相当于参军当上了特种兵,很好,很强大。


Q:看起来真是眼花缭乱……

A:总之,每类职位都很重要,都有存在的理由,都有不错的发展前景,都有自己的苦和乐。微软有很多不同的机构和部门,这也意味着有许多机会,让有能力的同学尝试aR、Dev、Test、RSDE、PM的职位。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500493.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

清华大学 现代软件工程 学生特别想学的领域

讲了两节课, 大家对我们要讲什么内容有所了解。 在课堂的匿名调查中, 我要求学生们选自己最想学的 5 个领域。 下面是统计结果: pick top 5 areas you want to learn and put a check-mark in this columnSkills (X)Programming Language (C/C/C#, data structure and algor…

html5图片碎片效果,html5 canvas实现图片玻璃碎片特效

今天要为大家带来一款html5 canvas实现的图片玻璃碎片特效。图片以玻璃碎片的形式出现到界面中,然后似玻璃被打碎的效果渐消息。效果图如下:实现代码:html代码:js代码:// canvas settingsvar imageWidth 768,imageHei…

清华大学 现代软件工程 结对编程项目 (一)

Pair Project I: Casual Game Improve an existing casual game with incremental innovation. Skills to Practice and Learn: a) Requirement Collection & Analysis b) Estimation c) Pair Programming (结对编程) d) Collaboration How to …

HTML用户点击新建按钮,html – 需要点击按钮

该页面上有两个解决方案。如果可能的话,我会选择较低的票数。如果你使用HTML5,那么把div放在一个内部是完全有效的。只要div还不包含其他特定元素,如其他链接标签。Music I Like实际上,您所困惑的解决方案使链接与其容器div一样大…

Visual Studio 2010 sp1

http://blogs.msdn.com/b/jasonz/archive/2011/03/08/announcing-visual-studio-2010-service-pack-1.aspx 各位同学可以下载。 我很佩服VS 团队的同事在繁忙的工作之余,还能在 blog 上直接和最终用户交流。 从大家对Vs2010 的反馈来看 (有100 多个反馈帖子), 如…

cocos html5 一直在加载失败,项目进行中的小问题-0426-【Cocos2d-html5】初识Cocos2d-html5-一些移动端浏览器的兼容性Bug_169IT.COM...

背景与前言现在什么技术火?Android,ios,HTML5,人工智能,云计算……如此多的技术,而且发展非常快,大家都很迷茫,到底要学什么呢?我也很迷茫,只能走一步算一步。…

software engineering homework, product analysis

我们往往抱怨年轻人做的不够好, 其实如果你给他们鼓励, 告诉他们你的期望, 他们往往能做到, 甚至做得更好, 软件工程课的作业: http://sinaurl.cn/ht4qWO http://sinaurl.cn/htdEUX http://sinaurl.cn/hbeWBI http://sinaurl.cn/ht4C7z http://sinaurl.cn/htBRbm

html设置了标签但是定义不了,在HTML标签管理器中设置不带元素ID的HTML中的事件...

这取决于你想要采取的路线。但是,无论路线如何,您绝对需要标识表单和/或提交按钮的内容。它不需要是一个ID,但它是理想的,如果有一个唯一的包装类或ID。您可以跟踪点击提交按钮,但是,您的号码不会完全准确。…

软件工程 之 动物世界

在一个神奇的国度里生活着许多动物, 其中有猪, 鸡, 和鹦鹉。 它们每天搞头脑风暴, 琢磨如何创业, 最后鹦鹉提议它们合伙开一个早餐店: 具体分工如下: 猪: 提供猪肉, 做熏猪肉 (bacon) 鸡: 提供鸡蛋, 做煎蛋 鹦鹉: 提供咨询, 它会每天阅读大量博客, 给其他团队成员提供建议, …

计算机应用基础教材6,全国2013年自考《计算机应用基础》教材大纲第六章

第 6 章 计算机网络基础知识(一)课程内容第 1 节 计算机网络基本概述第 2 节 因特网(Internet)及其应用第 3 节 用IE浏览网页第 4 节 电子邮件的使用第 5 节 计算机网络的安全(二)学习目的与要求通过本章学习,了解计算机网络的一些基础知识;熟悉因…

现代软件工程 电梯调度的挑战

目录 2022 年对 《开源软件开发导论》项目的要求 以前的需求文档 电梯作业的挑战和参考 1. Background - pair programming exercise 2. Requirement to Student pairs 2.5 Explanation of BUS program: 3. Testing 参考文献 2022 年对 《开源软件开发导论》项目的要求…

美国大学计算机专业排名2014,2014年美国大学本科计算机专业排名

下面是最新发布的2013年美国大学本科排名的相关信息,包括了进入榜单所有学校的相关信息。USNews美国大学排名是最具权威性的大学排名之一,下面我们一起来看看美国大学本科排名的信息吧。1 Massachusetts Institute of Technology麻省理工学院2 Carnegie …

我的原创,思考写作时间在1小时以上,希望读者有真正收获的博客

[今天注意到博客园信箱里有几封信, 其中一封是这个] 原来我的原创,思考写作时间在1小时以上,希望读者有真正收获的博客被认为是不符合要求, 从首页上移出了。 这让我在写这篇博客的时候看了表, 保证思考时间超过了一个小时, 然后才发表。 这是一些读者的…

计算机网络教室任课教师登记表,多媒体教室工作计划

在本学期,我校将以提高教师应用技能为中心,采取各种方法,着力建设信息技术教育师资队伍和管理队伍;以信息网络建设为枢纽,充分利用信息网络资源,服务于教学;以课堂整合模式改革为突破&#xff0…

软件工程 软件工程师的誓言

有人说 程序 算法 数据结构 有人说 软件 程序 软件工程, 软件企业 软件 商业模式。 程序本身没有伦理和职业道德, 但是程序员和软件企业要有。 我们听说过很多例子: 一个在银行工作的程序员曾说, 每次给客户计算利息的时候那些除不尽的小数, 如果程序自动转给我的账…

计算机专业性特有的道德要求,什么是通信科学技术人员职业道德的双重性?

做人素质/道德底线/正反例举计算机专业人员的职业道德和行为准则计算机职业作为一种不同于其它职业的特殊职业,它有着自己与众不同的职业道德和行为准则,这些职业道德和行为准则是每一个计算机职业人员都要共同遵守的。1、 职业道德概念所谓职业道德&…

软件工程 软件的估计为什么这么难

前两年在网上看到一个笑话集锦, 列举电视剧中的穿帮情节。 其中一个是在某缠绵冗长的言情剧中, 一个叫 “书桓” 的角色沉痛地说 - “长达八年的抗日战争就要开始了…” 书桓同学当时是怎么估计到抗日战争要打八年的? 这一技术让软件工程师和项目经理望尘莫及。 软件项目计…

java php html,java和html的区别是什么

区别:1、HTML主前端,呈现数据,Java主处理加工数据。2、JAVA主要用于桌面应用程序和分布式网络应用程序的开发;HTML用于前端页面的开发。3、JAVA的运行环境是JDK和WEB服务器,HTML的运行环境是浏览器。本教程操作环境&am…

软件工程 估计方法

上回书说到 - 一个小组的同学 (6-8 人) 决定要徒步遍历中国陆地边界, 假设供给装备齐全, 估计需要多长时间? 用什么样的办法能让同学们方便地交流各自的估计, 最后到达大致理性和统一的共识? 一般这个时候教室里一定非常热闹, 大家各抒己见, 争执得不亦乐乎。 但是最后往往…

徐海学院计算机专业好吗,2019中国矿业大学徐海学院专业排名

中国矿业大学徐海学院是中国矿业大学以新机制举办的独立学院,成立于1999年,2003年经教育部批准作为独立学院办学,是江苏省最早批准办学的独立学院之一。为了让大家更好的了解这所大学的专业排名,下面是学习啦小编给大家带来的中国…