拥有超过17年的软件开发经验(涉及互联网,移动互联网,桌面和嵌入式软件),为团队提供专业敏捷和开发实践的辅导和培训。他是中国敏捷社区的积极参与者,是敏捷之旅 2011 上海站和 Scrum Gathering 2012/2014 上海大会的组织者,Scrum Gathering 2013/2016/2018 和 Agile China 2015 的话题评委,并在敏捷之旅 2012/2014/2015/2016/2017,Scrum Gathering 2012/2013/2014/2016,Agile Singapore 2013/2014,Agile Conference 2014发表演讲。他对软件工艺的各类实践(如实例化需求,编写高可读性代码,单元测试,重构,遗留代码隔离,测试驱动开发(TDD),软件设计,GOOS等)有着深入的了解和丰富的实战经验,同时非常熟悉Java,Ruby,JS,C#等多种编程语言和相关技术框架。他是软件工艺宣言中文版翻译的发起人,从2011年开始坚持通过Coding Kata来提高自己的编程技巧,并在不少公司,社区沙龙和会议中组织过多次代码道场(Coding Dojo)和代码静修(Coderetreat)的活动,发起了 APAC Day of Coderetreat 2015的活动,参与了多次 Global Day of Coderetreat 活动的组织和培训支持。目前,他专注在如何更好的将软件工艺实践与各类最新开发技术栈结合,真正做到业务价值驱动的全栈开发模式,以及如何用技术教练路线图的方法来培养和提升程序员的整体技能。
教练技能
测试驱动开发
单元测试
重构
编写高可读性代码
遗留代码的隔离和重构策略
实例化需求和验收测试驱动开发
以验收测试和单元测试来同步驱动的开发
持续集成
结对编程
设计原则和设计模式
软件工艺和各种编程练习的方法
大规模敏捷和多团队协作的教练和引导方法
专业的教练和引导方法
Scrum
熟悉的语言和技术栈
前端:微信小程序、React、ReactNative、Redux
Java:Spring Boot、Spring JPA、Spring Security、Mustache、Lombok、JavaX Validation、Retrofit2、Spring Boot Devtools、JRebel、Swagger、Liquibase、JWT
Android:Dagger2、Retrofit2、JavaX Validation、Robobinding
Ruby:Rails
DevOps:Docker、Ansible
自动化测试:Cucumber、Selenium、Calabash、Appium、Moco、JUnit、Mockito、AssertJ、Rspec、Mocha、Jest、Chai、Sinon
培训经历
他从 2012 年就开始做 Scrum 和敏捷开发相关的培训了。他长期教授的课程包括:
TDD 和重构课程 - 两天
实例化需求和验收测试驱动开发 - 两天
认证 Scrum 开发者课程(暨现代互联网开发课程)- 三天
这些课程每个季度定期安排公开课,另外已经为多家公司提供内训服务,包括:
KKBOX
工商银行
华为
思科
平安科技
方正证券
GE医疗
惠普
中软
Thales
柯惠医疗
强生
彪洋科技
咨询和工作经历
2013-6 至今:Odd-e,敏捷教练
银天下
他曾和其他同事一起在银天下开发团队进行教练服务,大约涉及 100 位开发和测试人员,产品包括 App,微信小程序和网站等。他帮助主管重新划分功能团队,辅导团队实践 Scrum和迭代开发,以及实例化需求,单元测试和代码重构等工程实践。通过这些辅导,团队从原先大约三个月的排期开发模式,转变为一周的迭代开发模式,使对口内部业务部门的满意度有很大的提升。辅导团队的同时,还培养了一名称职的 ScrumMaster,后期有很多新团队都是由他启动的。
汇丰银行
他曾和其他同事一起在汇丰银行移动开发团队(位于广州和西安)进行教练和培训服务,大约涉及 200 位开发和测试人员。他帮助团队实践 BDD(包括实例化需求和自动化验收测试)和 TDD(主要是单元测试)。通过这些辅导,BDD被他们的测试团队广为接受并在所有项目中推广。他们还有对 BDD 的效果做了自己的案例比较。同时,一个最早实践 BDD 的团队从零开始,在2016年底的时候创建并用很低的成本维护了大约 300 个验收测试。对于 TDD,单元测试的基础知识被散播到了所有团队。
方正证券
他曾和其他同事一起在方正证券手机团队进行教练和培训服务,帮助团队进行了包括实例化需求,单元测试,重构以及端到端自动化验收测试在内的多种敏捷实践。
我们帮助团队从无到有,实现了在 Android 和 iOS 代码的单元测试(完全隔离了对手机平台的依赖),基于 Calabash 的 Android 和 iOS 的端到端自动化验收测试(所有后台数据完全由测试来准备和控制)。
这些团队负责方正证券所有和手机相关的业务,开发和测试人员总数在 50 人左右(今年将扩充到100人),迭代周期为一周。
百度91无线团队
他曾和其他同事一起在百度91无线团队进行过教练和培训服务,帮助团队进行了包括实例化需求,单元测试,重构,ATDD/TDD 开发方法以及整体架构设计和演进在内的多种敏捷实践。这一系列的工程实践使得团队的编码和设计能力得到显著的提升,同时团队对软件工艺的兴趣也得到了提高。该团队的负责人在去年的敏捷之旅上海活动中分享了相关的话题。
该团队主要负责的是百度手机平台的广告计费系统,团队开发和测试人员总人数在20人左右,迭代周期为一周。
GE医疗 Surgery 团队
他曾和其他同事一起在通用医疗的北京团队进行过教练和培训服务,帮助团队进行了包括 LeSS,Scrum, 实例化需求,单元测试,重构,ATDD/TDD 开发方法,整体架构设计和演进,以及CI效率在内的多种敏捷实践。同时,该团队的 LeSS 实践在今年上海的 Scrum Gathering 和 AHA 大会都进行了分享。
通过辅导,该团队在过去的一个 release 中取得了令人瞩目的成绩,达到了整个GE医疗中国研发部门和美国同事的肯定,成为了明星团队。他们在实例化需求,探索性测试和测试设计这些方面做的尤其出色,将缺陷率从上一个 release 的 120% 降低到了 30% 多,并且在软件发布后没有一个需要返工的问题。同时,我们帮助团队将原有 CI 编译打包部署的整个过程从原来的10多分钟且无法全自动提升到了半分钟全自动完成。
该团队开发的是一款手术室用的实时X光成像设备,团队开发和测试人员总人数在30人左右,迭代周期为两周。
GE医疗 AW 团队
他曾在通用医疗的成都团队进行过教练服务,帮助团队进行了包括 SAFe, Scrum, 实例化需求, 单元测试,重构以及 ATDD/TDD 开发方法在内的多种敏捷实践。同时帮助和推荐他们在成都 Site 进行内部交流和分享,并在成都敏捷社区进行分享。
工商银行研发团队(多地)
他曾在工商银行上海和杭州开发中心进行培训和教导工作,主要是针对Java,Oracle PLSQL和 JavaScript 语言的单元测试,测试驱动开发和重构。
大众点评研发团队
他曾在一家国内知名的互联网公司(大众点评),作为一名外部敏捷教练,提供培训和教导服务。在点评的敏捷转型过程中,他教导了多个团队,其中包括CRM团队(Saleforce),产品中心团队(Java Web),移动客户端团队(Android和iOS)等。他提供的服务中不但包含了对Scrum,验收测试驱动开发(ATDD)/行为驱动开发(BDD),测试驱动开发(TDD),持续集成(CI)等实践的培训和教导,还包含对点评内部敏捷教练的指导和对组织级别转型的咨询服务。
对移动客户端团队,他教导他们如何使用Scrum来有效的交付价值并移除障碍。同时,他还帮助团队使用具体的例子来澄清和探索用户故事并把这些例子变成可以自动运行的测试。对CRM和产品中心团队,他和很多开发人员结对编程,帮助他们在实际项目代码库中实践ATDD,BDD,TDD和单元测试。
2008-3 至 2013-5:Autodesk,敏捷教练 / Scrum Master / 产品经理Program Manager
姚若舟曾作为一位内部敏捷教练,在欧特克(Autodesk)中国开发团队服务超过一年的时间。在那段时间里,他教导了多个工作在不同产品上的Scrum团队并帮助他们从瀑布开发转到基于Sprint的迭代开发方式(这些团队包括AutoCAD,AutoCAD Mac,AutoCAD Architecture和 AutoCAD MEP)。单元测试是他当时工作的另一个重要内容。他和多个C++和Object C团队一起工作并帮助他们在一个庞大的遗留代码库基础上编写单元测试以及尝试TDD。
2005/8 – 2008/2: 微软中国研发集团,产品经理Program Manager (WLC, Search)
2003/9 – 2005/7: 互联网软件有限公司,技术副总监, 研发中心部门经理
2000/7 – 2003/8: 万达信息股份有限公司,项目经理, 系统架构师, 资深程序员 (企业信息事业部)
演讲和组织社区活动
Manifesto for Software Craftsmanship(软件工艺宣言)中文版翻译,发起人,译者之一
Agiletour Shanghai 2011,大会组织者
Scrum Gathering Shanghai 2012,大会组织者,工程实践专题制作人
Scrum Gathering Shanghai 2012,演讲嘉宾 “如何在遗留代码基础上为新代码添加单元测试”
Agiletour 2012,全国支持团队成员
Agiletour Dalian 2012,演讲嘉宾 “如何在遗留代码基础上为新代码添加单元测试”
Global Day of Coderetreat Shanghai 2012,活动组织者
Scrum Gathering Shanghai 2013,话题评审组成员
Scrum Gathering Shanghai 2013,演讲嘉宾 “测试覆盖率到底意味着什么?”
Agile Singapore 2013,演讲嘉宾 “Mutation Test - A Way to Learn How Good Your Unit Test is”
Global Day of Coderetreat Shanghai 2013,活动组织者,其他城市引导者培训师
Agile Conference 2014,演讲嘉宾 “Mutation Test - A New Way to Improve Code and Test”
Agiletour Shanghai 2014,演讲嘉宾 “Mutation Test - A New Way to Improve Code and Test”
Scrum Gathering Shanghai 2014,大会组织者,Product Owner
Agile Singapore 2014,演讲嘉宾 “Transformation Priority Premise Deep Dive”
APAC Day of Coderetreat 2015,活动发起人,引导者主持人培训师
Agile China 2015,话题评审组成员
Agile China 2015,工作坊嘉宾 “实例化需求”
Scrum Coaches Retreat Shanghai 2015,活动组织者
Agiletour Shanghai 2015,演讲嘉宾“ 无返回值驱动开发”
Agiletour Fuzhou 2015,演讲嘉宾“ 做XX,但和XX无关”
Scrum Gathering Hangzhou 2016,演讲嘉宾“ 无返回值驱动开发”
Scrum Gathering Hangzhou 2016,专题制作人
Agile Hong Kong 2016,演讲嘉宾“ 无返回值驱动开发”
Agiletour Shanghai 2016,工作坊嘉宾“ GOOS 开发实战”
Agiletour Shanghai 2017,工作坊嘉宾“ GOOS 开发实战 - 续”
Scrum Gathering Shanghai 2018,话题评委
可兼职时间
可兼职地点
0条评论 雇主评价