|Status:||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.
Technologies: 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
Bachelor in Computer Science (Cooperative Program)Université de Sherbrooke - Sherbrooke, Quebec, Canada
1994 - 1997
Diploma of Collegial Studies (Pure and Applied Sciences)Cégep de Victoriaville - Victoriaville, Quebec, Canada
1992 - 1994
Software Architect / Senior Software DeveloperPacific Mindworks - San Diego, California, USA
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.
Senior Software DeveloperVektrex Electronic Systems - San Diego, California, USA
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 DeveloperCorel Corporation - Ottawa, Ontario, Canada
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)Corel Corporation - Ottawa, Ontario, Canada
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.
Software Developer (Internship and Contractor)Centre for Information Technology Innovation - Laval, Quebec, Canada
January 1996 - June 1996
- Design and implementation of a neural network design application using Visual C++ and MFC.
Software Developer (Internship)Revenue Canada - Hull, Quebec, Canada
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.