Over 15 years as a respected and reputable developer, trainer, coach, and leader. Focused on raising software quality, helping people realize their full potential, and building cohesive teams. Possess outstanding interpersonal, verbal and oral communication skills with public speaking experience. Shipped several software products using Agile methodologies and practices including Kinect for Xbox 360. Maintain an award-winning blog and have published numerous articles for MSDN Magazine. Deepest values are quality, continuous improvement, having fun, and helping others succeed.
Developer Lead (Xbox)
- Nov 1, 2009 - Apr 13, 2012
- - Lead a team of developers doing Kinect user interface development - Shipped Xbox dashboard features, including Bing Search, Voice User Interface (VUI), identity, Kinect retail experience (kiosk), and other system interactions - Defined org-wide engineering excellence initiatives such as enhanced testability, code reviews, and pragmatic unit testing - Managed the team, project schedule, and team member careers - Built a tight collaboration with the test team to ensure shipping product was of high quality (only 23 bugs punted to next release for Bing Search)
Developer Lead (Windows Phone)
- Nov 1, 2007 - Nov 1, 2009
- - Lead Developer in Microsoft Mobile and Embedded Devices. Worked on Windows Mobile, and specifically the mobile Internet Explorer browser application and web platform (10 developers). - Collaborated with a remote team in Beijing for the rendering engine component, while the team in Redmond was responsible for user experience and all components outside the rendering engine. - Created, refined, and contributed to team development processes, including Scrum, code reviews, inspections, code check-in procedures, and unit tests, resulting in a high quality product. - Managed the schedule for feature development, triaged issues, and drove cross-group work with partner teams. - Participated in the Momentum 2008 program for high potential leaders. - Speaker at Agile Development Practices 2007 (topic: emergent design).
Knowledge Engineer (Engineering Excellence)
- Sep 1, 2004 - Nov 1, 2007
- - Instructor/trainer for the following courses: Development at Microsoft, Scrum and Agile Project Management, Agile Development in C# Lab, Design and Code Inspections for Developers, Better Estimation with Wideband Delphi, Design Analysis and Legacy Refactoring, Practical Design for Developers, Development at Microsoft for Expert Developers. - Leveraged Human Performance Technology (HPT) consulting model to improve the effectiveness of Microsoft product groups. - Created the inspections, design analysis and legacy refactoring, estimation classes; contributed to creation of all others listed above. - Designed and developed internal tools to improve developer efficiency and quality of deliverables, including the Scrum Kit (many teams using it across the company). - Formed and managed a Microsoft-wide talk series on engineering topics. - Organized internal forum talks (development track), helped with cross-group initiatives and leadership teams around software engineering, drove software engineering best practices across the company, played the U.R. Rong personality for the Hard Code columns. - Speaker at EE/TwC Forum 2006 (topic: Wideband Delphi Estimation) - Received Gold Star Award
Software Design Engineer (Halifax)
- Feb 1, 2004 - Sep 1, 2004
- - Designed and prototyped various applications to design human-oriented business workflow applications using C# that integrated with MS InfoPath and MS Visio.
Developer Lead (CMS)
- May 1, 2001 - Feb 1, 2004
- - Designed and implemented several key features, including Visual Studio.NET integration and integration with Sharepoint Portal search. - Planned, scheduled, architected, documented, coordinated development, organized code reviews, coded, tested, and debugged features for CMS.
Product Development Manager
- NCompass Labs
- May 1, 1997 - May 1, 2001
- - Project Manager and developer for NCompass Resolution web content management system. - Project manager for the version 3.1 release of Resolution - Managed the release of a software product, including personnel management, project scoping, estimation, scheduling, risk management and generally overseeing the product release from scoping/requirements gathering to manufacturing and post-mortem (i.e. the entire cycle). - Technical lead for a web site deployment feature of Resolution. - Managed 6 team members, identified user problems, gathered requirements, analyzed use cases, planned and estimated the project, designed UI, designed COM components using the UML, implemented features in C++ and ATL, consulted on test plans, improved processes. - Technical lead for the NCompass plug-ins for Netscape Navigator that give that browser ActiveX functionality (downloading/using/scripting controls) - Management duties, such as hiring, performance reviews, resourcing and scheduling.
- MPR Teltech
- Aug 1, 1995 - May 1, 1997
- - Designed and implemented a generic installation program using InstallShield for use with any Windows application. Features: ease of customization across applications and DLL plug-ins. - Development of an HTML-based client/server information management system. Features: DDE communication with web browsers, automatic downloading and installing helper applications, automatic remote updating, and a proprietary CGI text search engine.
- May 1, 1991 - Aug 1, 1995
- - Developed an Internet bookmark management system called Surfer Central, a developer component for Delphi to automatically download and install updates to applications, development of a strategy game for Windows, development of a mathematical radar scenario generator, and development of real-time test tools for a Northern Telecom switch.
- Bell Northern Research
- Jan 1, 1991 - Jan 1, 1992
Director of Agile Development and QA Practices
- Crosslake Technologies
- Apr 16, 2012 - Current
- Working with software engineering teams to improve their organizational and software engineering practices to improve their performance and product quality. Tasks involve: - Assessing engineering teams' (sized 25 to ~500 engineers) development and test practices - Making appropriate recommendations, such as putting an agile-based development model in play within short time lines to set teams up for success - Mentoring senior developers and QA engineers - Deploying tool sets (with customizations), such as Team Foundation Server, to aid with product engineering - Monitoring and measuring team performance against success metrics and suggesting and implementing improvements - Helping drive the business forward via software engineering-related speaking opportunities, business development, tools implementation, and creation and enhancement of the company web site.
MSc. in Computer Engineering'95
University of Manitoba
NSERC Research Grant
University of Manitoba
Graduated on Dean's Honor List
“James is one of the best managers at this company, and understands how to teach developers and testers to productize software.”R.M.Direct Report @ Microsoft
“James was very helpful during this internship. He made sure to place helping me achieve my project goals high on his priority list. He was almost always available to help me with any problems I faced or to direct me to the correct person for further information. Our 1-1's were very beneficial and he made sure to take time to talk to me about my internship as a whole, not just the status of my project. ”G.R.Intern Report @ Microsoft
“You’ve been doing a terrific job sharing insightful feedback. It has improved the quality of our code, raised the bar for future checkin quality across the team, and is very much appreciated.”A.P.Direct Manager @ Microsoft
“James has been so amazing, he is kind and patient as he explained technical terminologies, provided me links on MSDN and SharePoint site to expand my knowledge, and consulted with me on my open headcounts and technical JD! ”F.D.PM Peer @ Microsoft
“James and I worked closely together during the year leading up to the launch of XBOX 360 Kinect. James is a smart, dedicated and highly-motivated software engineer who strongly emphasis quality and good engineering practices. I had a great time working with James and would do so again in a heartbeat.”T.L.Dev Lead Peer @ Microsoft
“Working with James is a real pleasure. His great attitude and mix of technical and personal skills really make him a delight to work with. James is a great communicator, presenter and instructor. James helped me shape my career while at Microsoft and always had the uncanny ability to see things that others often miss.”M.L.PM Peer @ Microsoft
“I taught, consulted, and developed material alongside James for over a year. James is a top rated instructor, a voracious learner, deeply interested in software design and engineering, savvy about people and team dynamics, always quick to learn the technical bleeding edge, and very focused and effective in his own project work. And just a fun person. A jack of all trades and a joy to work with.”B.T.Peer KE @ Microsoft