My name is Rob Prouse. I am a programmer and open source developer who is passionate about agile engineering and methodologies. I lead the NUnit development team and have contributed to many open source projects. NUnit is by far the most popular unit testing frameworks for .NET with nearly 3.5 million downloads on NuGet alone.

I am a Senior Engineer and Developer with over 18 years experience working in C#/C/C++/PHP & Java on multiple platforms. I am known for designing, developing and delivering products on-time and on-budget and have produced enterprise class software for the North American, European and Asian markets.

I tend to be driven in everything I do. I race and win long distance endurance mountain bike races, served with 3 Commando of the elite Canadian Airborne Regiment and I love bike touring and sea kayaking. I am actively involved in both the local developer community and the global open-source development community.

He's a top-notch troubleshooter and one of the best programmers around. I'd work with him again without hesitation.

Rob is easily our top developer. He is constantly innovating and keeps on top of technologies.

An extremely productive and creative developer who has done much to influence the culture within the department.

Anything we could dream, I felt comfortable knowing Rob could figure out how to build it. Rob is also a strong advocate for agile development methodologies.


  • 2015
  • Cake Build

    November 2015

    Cake (C# Make) is a cross platform build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages.

    Added the NUnit 3 build task allowing Cake to run NUnit tests as a part of the build.

    View Details
  • Prism for Xamarin

    September 2015

    Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Windows 10 UWP, and Xamarin Forms.

    Wrote the Ninject IOC library for Prism for Xamarin and submitted it to the team.

    View Details
  • 2014
  • GitHub Issues Visual Studio Extension

    March 2014 - present

    Wrote a Visual Studio extension allowing developers to access and manage GitHub issues and repositories. You can filter and view issues for a repository, edit issues, add comments and close issue.

    View Details
  • NUnit

    January 2014 - present

    NUnit is one of the oldest and most popular unit-testing frameworks for the .NET platform.

    Along with Charlie Poole, lead the open source project, coordinate all team members and contributions and plan releases.

    With the team, wrote and released NUnit 3, a complete rewrite of the framework adding modularity, parallel execution a new model for extensibility and numerous new features.

    Added .NET Core (DNX) and Xamarin mobile support and runners to NUnit.

    Created a Visual Studio extension that adds NUnit project and item templates along with code snippets.

    View Details
  • 2012
  • Advisory Software Engineer at Bentley Systems

    October 2012 - present

    Advise on new technologies and methodologies. Currently lead a team that explores and recommends new development libraries, tools and methodologies. My recommendations help the company become more agile and deliver value to our users more quickly and with fewer resources.

    Led the projects to create Android, WinRT and iOS mobile applications to support Bentley's Asset Performance Management (APM) software.

    Implemented a CAD viewer that integrated with the APM software and allows interactive inspections of equipment.

  • SumatraPDF

    April 2012 - August 2012

    Sumatra PDF is a free PDF, eBook (ePub, Mobi), XPS, DjVu, CHM, Comic Book (CBZ and CBR) reader for Windows.

    Added touch functionality to the open source PDF viewer including pinch to zoom, rotation, swipe to change pages, etc. using C++.

    View Details
  • 2007
  • MbUnit/Gallio

    August 2007 - March 2010

    MbUnit is an extensible unit testing framework for the .NET Framework that takes in and goes beyond xUnit pattern testing. MbUnit is part of the Gallio bundle.

    Frequent contributer to the MbUnit project, mainly around launching and debugging unit tests in Visual Studio and detecting correct platform and architecture of test assemblies.

    View Details
  • 2005
  • PixelPost

    August 2005 - December 2006

    One of the lead developers on PixelPost, an open-source, standards-compliant, multi-lingual, fully extensible photoblog application for the web written in PHP.

    Lead the 1.5 release which concentrated on security fixes, anti-spam, commenting, usability and extending the EXIF data on photos.

    View Details
  • Framework Developer at Ivara

    January 2005 - October 2012

    Converted the company's flagship product from a 2-tier MFC application to a 3-Tier .NET application. The development required that all functionality be maintained while rewriting the product to have a modern user interface and support hundreds of concurrent users.

    The client software was written in C# and communicated to the server written in C++/CLR and legacy C++ code.

    In order to deliver on-time and to specifications, pushed the company to adopt agile development practices. Brought test-driven development, continuous builds and an iterative approach to development to the company.

  • 2003
  • MySQL BIND SDB Driver

    November 2003 - June 2004

    BIND is the most widely used Domain Name System (DNS) software on the Internet. On Unix-like operating systems it is the de facto standard.

    Created an SDB driver for BIND9 that allows you to use a MySQL backend for the zone files. Zone changes in the db become immediately available in DNS without restarting BIND. The database format works with the dnSQLpanel project providing a web front end to the MySQL DNS entries.

    View Details
  • iCalendar .NET Parser

    January 2003 - June 2004

    One of two developers who created a .NET library for parsing iCalendar (RFC 2445) files into RDF or any other format.

    View Details
  • 2002
  • Senior Software Architect at Semaview, Inc

    December 2002 - June 2004

    Responsible for architecture and the leadership of the team that wrote eventSherpa, a networked desktop calendar application written in C#. It is capable of publishing calendars to the web, subscribing to online calendars, inviting people to events and merging multiple calendars into one view. Took the initiative to design and write a Palm Desktop plugin in my off time to allow publishing of Palm calendars and todo lists to the eventSherpa service.

    Took the lead in documenting and managing all development processes for the company. Led the server development team in designing and building web systems to run the online eventSherpa service and SherpaFind calendar search engine. Determined all hardware requirements for the system and set up the network. Responsible for the security of the network.

  • Team Lead/Head Programmer for Tour of Duty

    July 2002 - March 2006

    Tour of Duty is a realistic team play mod for Halflife by Valve Software. The game is set at the height of the Vietnam war, between 1967 and 1973 allowing you to relive the conflict fighting either for the United States Marine Corp (USMC) or the Viet Cong (VC)/North Vietnamese Army (NVA).

    Coordinated the work of a distributed team of developers, 3D artists and level designers. Within a week of release the game hit many top ten lists. The game was featured by several large game magazines and web-based gaming news sites and won several Internet awards.

    View Details
  • 2000
  • GNU Common C++ Libraries

    April 2000 - March 2001

    The GNU Common C++ Libraries were a set of libraries that wrapped platform specific code in a way that allowed developers to write C++ code in a platform independent manner.

    Wrote the cross-platform C++ socket and networking classes for the library.

    View Details
  • Senior Programmer/Analyst at Livedoor, Inc

    October 2000 - November 2002

    Head of Client Programming for Japan's first and largest free Internet service provider, Worked closely with the CTO to map out the development plan for the company. Led a software development team of four C++ programmers on two continents and worked closely with the head of server programming to ensure the seamless integration of organization wide applications.

    Fulfilled a broad range of responsibilities including supervision over the development of the company's Internet connection software and client tools such as their Internet Toolbar. Was responsible for converting the software to work with DSL using PPP over Ethernet (PPPoE), wrote custom authentication modules in Perl for the radius servers and designed and wrote several CGI's in C++ that allowed customers to create and manage their accounts. Was responsible for troubleshooting any network problems and service interruptions.

  • 1999
  • Senior Programmer/Analyst at X-Stream, Inc

    January 1999 - October 2000

    Managed programming teams of three developers for a large, pan European ISP. Worked closely with the CTO and the head of server development to design scalable, efficient systems on which the company was built. Had a broad range of responsibilities including system design, documentation, writing client and server software in C/C++ that ran on Windows and Unix. Redesigned the company's automatic online software update system.

    Led the internationalization of all the company's software allowing them to expand throughout Europe and sell their technology in Asia. In the process, I designed and wrote a library to allow software to dynamically load and display different languages. I also developed a number of internal tools to aid in the translation of the software.

  • 1998
  • Java Game Developer at Dreamplay Research

    August 1998 - January 1999

    Developed the company's line of Java casino software including Caribbean Stud Poker, baccarat, blackjack, video poker, roulette, and, slots. Was responsible for the development of the Java e-Commerce client pCash that plugged into all casino games and the back office financial reporting software written in a combination of C and Java.

  • Network Management at CIBC/Intria Networks

    January 1999 - October 2000

    A part of the team that planned and rolled out the national IP network linking all CIBC branches and locations. Set up and maintained web and FTP servers on NT 4.0, SunOS and Linux. Designed, created and maintained an Intranet site to catalog and deliver network design documents, project status reports and information on services the company offers. Created several CGI's in Perl that automated network management reporting, uploaded and converted to HTML project status reports and allowed clients to register for services.

  • 1997
  • Technical Support Supervisor at Globalserve

    January 1997 - September 1997

    As the head of Technical Support, supervised 10 sales and technical support representatives in a call center, developed a training program and trained 30 new technical support staff. Was also responsible for Unix system and TCP/IP network administration and development of system administration tools in C to allow support representatives to query status of users' accounts and of the network systems.

  • 1987
  • Airborne Soldier

    May 1987 - December 1996

    During a ten year career with Canada's Department of National Defense, worked in Research, Combat Intelligence, and, served with the elite Canadian Airborne Regiment.


If you would like to contact me, feel free to email me at rob@prouse.org.

Hamilton, ON

Mobile: (905) 320 - 7861

Email: rob@prouse.org