邹欣
1991年毕业于北京大学,获得计算机软件专业学士学位。1996年获得美国韦恩州立大学(Wayne State University)计算机软件专业硕士学位。2007年出版了《移山之道》,2008年出版《编程之美》 (合作),2014年出版《构建之法——现代软件工程》。
现任微软Windows中国工程团队首席研发总监。
- 1996 – 2003年,在微软Outlook团队从事开发工作;
- 2003 – 2005年,在微软内部质量工具团队和Visual Studio团队负责软件项目管理工具的开发;
- 2005 – 2012年,担任微软亚洲研究院技术创新组研发主管,负责研究成果的产品化和创新项目;
- 2012 – 2014年,担任微软亚洲互联网工程院首席研发总监,负责必应搜索客户端、必应输入法、必应词典等产品;
- 2014 – 现在,担任微软Windows工程院首席研发总监,负责Edge,Cortana, UWP App 在中国的发展。
也许,更多的“学子”愿意称他为“邹老师”。邹欣老师领导了微软实习生和员工的软件工程实战培训。并且2007年秋起,开始在清华大学微软软件科学试验班讲授现代软件工程一课。其中一书就建立在他自己多年的实际讲授经验之上。
长达20年的一线软件开发经验以及6年的软件工程教学实践,让邹欣老师认识到中国高校进行软件工程教育改革的必要性。他认为:“学习电脑的学生,很多还是以玩游戏为主;现在来面试的学生,大部分不能在纸上写出没有语法错误的程序;”欣慰的是,“计算机行业的人士还是在兴奋地讨论软件升级的问题。”
因此,他特别强调计算机从业人员的基本功,鼓励学生像国外同行一样,多写技术博客。给年轻后辈的忠告是“写10000行代码,再谈其他的”。他注重真枪实刀的实际操练,用评酒师反复试酒、医学院学生解剖尸体、MBA 学生精研案例,警醒那些只靠转发微信、网上搜集碎片知识的计算机专业人员。这决定了他“Build to Win”的研究思想。其实不止是软件研究,一般的学习或研究思想都可以大体分为:
- Build to Learn
通过构建项目或实验,发现里面的客观规律,认识所用实验方法的优点和缺点。用邹欣老师的话,就是“我要单纯地用我的方法,证明这个方法相对于其他方法的优点(然后就可以发论文了)。” - Build to Show
为了展现某个技术,特意开发一些演示为目的的软件。虽然这些项目很吸引眼球,也经常获得新闻报道,但是未必全面或实用。 - Build to Serve
有些软件或产品以“特定用户”为目标,力求服务好这部分特定人群。但开发人员切忌一成不变、脱离实际,忽视用户的需求。 - Build to Win
这种思想强调 “获得市场认可“ ,以市场为导向构建软件。这也是种种学术发现、技术突破、流程创新、灵光闪现最好的试金石。邹老师认为,这就是“用所有能帮上忙的方法,做出最好的结果(我们就可以出产品了)”
想了解更多邹欣老师的故事,欢迎在评论区提问,ManBetX访谈将带着你的问题,对话@程序员邹欣。最终入选的提问者,将获得ManBetX社区送出的ManBetX电子书一本。
往期活动回顾:
再访《Scratch少儿趣味编程》系列图书作者阿部和广、仓本大资访谈问题有奖征集,问题入选的获奖者:大唐废猫、DearLinXi、穿鞋子的猫
《我的第一本编程书》作者平山尚访谈问题有奖征集,问题入选的获奖者有:steveguang、华元、青鸟(微信)
奇虎360数据专家傅志华访谈问题有奖征集,问题入选的获奖者有:AlexFeng、xinconan、苏文波(微信)、Zxd(微信)、xx(微信)
知名著者结城浩,访谈问题有奖征集,问题入选的获奖者有:白色风车、叫俺小破(微信)、Gnay Gnim Iel(微信)、友人A(微信)、linux_cma(微信)、唐吉可德(微信)、赵鑫鹏(微信)
《CSS揭秘》作者Lea Verou访谈问题有奖征集,问题入选的获奖者有:安道、穿鞋子的猫、CSS魔法、昵称(微信)、明烨(微信)、GingJan (微信)
《CSS揭秘》译者CSS魔法访谈问题有奖征集,问题入选的获奖者有:穿鞋子的猫、大雄兔、XYZ(微信)
《算法(第4版·英文)》作者罗伯特·塞奇威克访谈问题有奖征集,问题入选的获奖者有:trialuser001、Lucida、WhiteT、王栋(微信)
1、您认为传统软件工程与现代软件工程的主要区别是什么呢?
2、互联网公司所追求的持续集成持续构建并以Bata版本推行到用户的快速开发方法是否是“Build to Win”最佳体现呢?
3、小型开发小组,将产品从“Build to Show”到“Build to Win”是开发目的的改变,还是技术的成熟与进步?
因此您在微软亚洲研究院和其他部门开展实习生和新员工的“软件工程培训“ 。
是否能和我们分享一下这方面的经验,有什么成功的案例和精彩的故事?
从“Build to Learn”到“Build to Win”仅仅是角度的转变,还是有其内在的构建之法?
提问:
1.邹老师觉得,软件工程中最重要的环节是什么?
2.邹老师怎么看微软对于linux的态度,尤其是win10 支持了ubuntu
3.老师您怎么看微软上软件的“大”,我们看到很多软件都的功能强大都是靠着庞大的软件,比如adobe,比如MATLAB。
现在都公司为了效率,都流行用Build to performance review,和你的Build to win有什么区别呢? 为什么?
因为现在大部分公司的项目都普遍追求短平快,往往忽略了项目本身的build环节,我很想知道Build To Win在项目中各环节是如何协调好各种矛盾的?