U.S. Permanent Resident, Canadian Citizen
13 years of experience in developing software on Microsoft platforms,
using .NET for the majority of the past 10 years.
Use of extreme programming (XP) software development process.
C#, C++, Windows Forms, WPF, ASP.NET, ASP.NET MVC, Visual Studio Extensibility,
COM/ATL, XML, XSLT, MFC, HTML Help, WiX, NUnit, Ninject, Sandcastle,
Team Foundation Server, SQL Server, Entity Framework, FogBugz
Université de Sherbrooke
Bachelor in Computer Science (Cooperative Program)
1994 - 1997
Cégep de Victoriaville
Diploma of Collegial Studies (Pure and Applied Sciences)
1992 - 1994
Software Architect / Senior Software Developer
March 2001 - August 2010
Development of the initial version and a major revision of the company's flagship product Nimbus Driver Studio.
First version developed as standalone IDE plus Visual Studio add-in, second version as Visual Studio package. Implementation of custom project type, new project wizard, code model interaction, custom document windows and tool windows. Implementation of integrated unit testing user interface for NUnit and WinUnit. Technologies: Visual Studio 2005/2008/2010, Visual Studio SDK,
C#, WPF, Windows Forms, COM/ATL, C++, XML, XML schemas, HTML Help 1.x and 2.0, WiX, NUnit.
Leadership role in the IVI Foundation, which defines standards for building
interchangeable drivers for test instruments.
Development of training materials for Nimbus Driver Studio.
Perform training by traveling to customer sites and/or using Microsoft Live Meeting.
Attend several Microsoft Visual Studio Industry Partner conferences and developer labs
at the Microsoft campus in order to keep up with new ways to integrate into Visual Studio,
give feedback and get help with various integration issues.
Installation and administration of Microsoft Team Foundation Server 2005/2010 (and SQL Server 2005/2008).
Set up continuous integration for our various projects, using Team Foundation Server's Team Build services.
Design and development of a .NET profiling application.
Technologies: WPF, Microsoft Visual Studio Isolated Shell, COM/ATL, C#, Microsoft CCI
Development of prototype application for communicating with and visualizing data from test & measurement instrumentation.
Technologies: C#, WPF, IronPython (hosted)
Development of Static Code Analysis (FXCop) custom rules to detect incorrect usage of some APIs in our code libraries.
Technologies: C#, Microsoft CCI, .NET IL
Development of Visual Studio Editor extensions to allow visual editing of source code fragments.
Technologies: WPF, C#, MEF, Visual Studio SDK
Contract services for MusicMatch (now Yahoo!) for their MusicMatch Jukebox 9.0 application.
Design and implementation of the Jukebox services layer. Mentoring of developers not familiar with COM programming.
Technologies: Visual Studio 2003, COM/ATL, C++, STL, multithreading.
Contract services for S2 Technologies for their STRIDE application. Design and implementation of the
COM Composer, which enables COM ADEs such as VB to interact with the STRIDE messaging system.
Technologies: Visual Studio 6, COM/ATL, C++, MFC, XML, XSLT.
Vektrex Electronic Systems
Senior Software Developer
May 2000 - March 2001
- Development of IVI-COM drivers using ATL.
- Development of a build process for Visual C++ projects.
- Development of an automated HTML Help authoring tool application for COM type libraries, using MFC and XML/XSLT.
- Development of a COM object testing application using COM type library inspection and late binding.
Senior Software Developer / Software Developer
February 1998 - May 2000
- Design and implementation of a plug-in architecture for CorelDRAW 10, which required careful planning due to a massive reorganization of the code. COM objects were implemented using ATL.
- Design of new features for CorelDRAW 10, mentoring of new developers.
- Design and implementation of many features for CorelDRAW 9, using Visual C++ and MFC.
- Development of tools to accelerate application development (HTML Help file generation from C++ code and MSVC Add-ins for automatic code generation).
Software Developer (Internship)
May 1997 - August 1997
September 1996 - December 1996
- Implementation of new features for CorelDRAW 8 (both UI and core functionality).
- Debugging of CorelDRAW 7 prior to its release.
Centre for Information Technology Innovation
Software Developer (Internship and Contractor)
January 1996 - June 1996
- Design and implementation of a neural network design application using Visual C++ and MFC.
Software Developer (Internship)
May 1995 - August 1995
- Maintenance of an audit database application using Clipper and C.
Personal Web Site
Created a personal web site in 2000 in Classic ASP with VBScript. It was ported to C# and ASP.NET 1.0 beta in 2001, and later updated to run on ASP.NET 2.0, 3.5 and now 4.0.
See http://www.huguesvalois.com for more details on some of these personal projects.
Sierra Adventure Game Interpreter
Developed an interpreter for Sierra AGI games in C# by
porting an existing C interpreter (NAGI). Added a significant number of features not
found in the NAGI. Used SDL for graphics, input and sound.
Sierra Adventure Game Development Suite
Developed a suite of tools in C# for creating Sierra AGI games.
This includes compilers, decompilers and editors for the various types of resources present in AGI games.
Based on existing AGI specification documents describing the resource file formats.
Developed Visual Studio extensions to integrate the visual editors, compilers/decompilers, wizards
and an msbuild based project system with Visual Studio. Developed a Visual Studio language service for
the game scripting language.
Checksum Database Manager
Developed a checksum database manager application in C# using WPF. Compatible with databases from other
applications such as ClrMamePro, RomCenter and MESS. Supports auditing files compressed in 7-zip, zip and rar file formats.