Profile
Technologies | J2ME, BREW, Linux, FreeBSD, Windows XP and Windows CE, OS/9 |
| |
Programming Languages | · Java J2ME and BREW (8 years) · C for embedded platforms (4 years) · C/C++ for Win32 and WinCE (1 year) · C# and .NET environment for PocketPC (1 year) · ARM (assembly and environment) (2 years) |
| |
Tools | · emacs, vi, perl, sed, gdb · SourceSafe, CVS and ClearCase · Ant, JavaDoc, XML · Visual Studio .NET, csUnit |
Programming Experience
Director of Porting | Magmic Games, Ottawa, On, Jan 2005-Dec 2006 | |
|
| |
Role | ·Group manager o Responsible for creating a buisness unit within the company who will oversee the porting of Magmic’s growing portfolio of games to over 400 mobile devices in a cost-effective manner. Managing the relationship with other porting companies for foreign handsets. o Assist in the design of a workflow management system for dispatching and archiving porting tasks. o Architect and design common runtime libraries for game developers to maximise portability of the games. Developing documentation and process to maximise their use. o Train new employees to use the technology and to perform their assigned roles within the group efficiently. Growing team leaders to delegate portions of the workload. | |
Skills | ·Assess and understand buisness processes and requirements. Provide adequate scalable and economic technical solutions. | |
Software Consultant | Godspeed Computing, Calgary, AB, July 2004-Jan 2005 | |
|
| |
Role | ·C# Windows CE Developer o Design of a .NET book reading software for the PocketPC platform. o Customer training on .NET CF and Windows CE technologies. o Managing customer relations on a daily basis and understanding their rapidly changing requirements. ·PalmOS developer o Maintenance and debugging of a PalmOS application. | |
Skills | ·PocketPC development using Visual Studio 7 and eMbedded Visual C++ for WinCE development. ·Native programming for the PocketPC platform and interworking with .NET. ·Advanced WinCE programming for user interface design (Skins). ·Database and file compression technologies on .NET to store content. ·DRM tools for both the PocketPC and PalmOS platforms | |
Software Consultant | Ajile Systems, Cedar Rapids, IA, Dec 2003-May 2004 | |
|
| |
Role | ·Software analyst for a Java processor design o Requirements analysis for the test environment of the embedded operating system. o Design of a source-level debugger with JTAG interface to the processor. o Implementation of the SSL and HTTPS protocol layers. | |
Skills | ·JTAG debuggers over JPDA, JVMDI et JDWP. ·Ant, XML. ·SSL (X.509) and HTTPS protocols | |
Project Lead | BlindApex, Québec, QC, March 2003- December 2003 | |
| ||
Role | ·Create a wireless device for displaying information to race car drivers. oResearch and development using several wireless modem and LCD technologies. oDesign and implementation of C firmware stack on 8051 processor. oImplementation of the interface software on the PC in C#. | |
Skills | · C# and software design with .NET. · csUnit, jUnit and nUnit, Crystal Reports, XML serialization. · LCD technologies. · Peripheral drivers for: UART, LCD, Timer and keypad. · Unit test environment using make, CVS and gcc. | |
Team Lead | Zucotto Wireless, Ottawa, ON, 2000 - March 2003 | |
| ||
Role | ·Create an operating system in C, and assembler on a new type of embedded processor running Java bytecodes. oDesign and maintenance of a java compatible multi-threading engine for the processor. oDesign and implementation of the CLDC and DoJa profile along with a test environment. oDesign and debugging of the microcode for the processor. oAssist in the design of a C compiler using the Archelon platform for re-use in the product. ·Drive the software integration of the java processor in the wireless handset of a major Japanese cellular phone manufacturer. oOn site development and coordination with the customer’s engineers for integration. oImplementation of hardware RPC and hardware resource sharing protocols. | |
Skills | ·Embedded C programming ·Wireless handset programming ·Hardware drivers: UART, LCD, Timer, Keypad ·Java Virtual machines, ARM programming, Bluetooth ·Multi-platform development on Cygwin, Linux and Solaris. ·Hardware debugging with JTAG and logic analyzer | |
Low level programmer | Nortel, Ottawa, ON, 1999 | |
|
| |
Role | · Design of a prototype IP telephone software. o Create an MP3 and RealAudio streaming engine from a PC server to the IP terminal. o Use of the MMX instruction set to perform signal analysis of streaming audio. o Object oriented programming in Java and C++ under CORBA. o Use of the SIP call-control protocol for the terminal. | |
Skills | ·SIP (call control) ·CORBA and Java RMI ·Windows NT drivers (DDK) ·RealAudio, Shoutcast streaming audio protocols ·Java Multimedia API (JMI) ·MMX instruction set and libraries | |
Firmware Designer | Labcal, Quebec, QC, Fall 1998 | |
| ||
Role | ·Design and implement a bootloader for testing and development of a fingerprint scanner and entry control device on a StrongARM platform. o Develop drivers for a MIFARE wireless smart card reader. o Test and validate the hardware platform. o Develop drivers for all peripherals including the Veridicom fingerprint scanner. | |
Skills | ·Biometric technologies (Veridicom) ·MIFARE wireless SmartCard ·ARM programming ·Hardware debugging ·Peripheral drivers for DRAM, Flash, iButton | |
Low-level programmer | Nortel, Ottawa, ON, Summers 1998,1997 | |
|
| |
Role | ·Design and implement a bootloader for the IP terminal on the StrongARM platform. o Working with the hardware engineers in order to configure the software. Porting of the OS/9 operating system to the new system. | |
Skills | ·StrongARM (SA-1100) programming ·OS/9, porting to hardware ·Hardware drivers for : DRAM, UART, Timer ·Hardware debugging of the prototypes | |
Personal Projects
Implementation of a Timing and Scoring Software on Windows CE | Fall 1998 | |
|
| |
Role | I participated in and won the Quest for Windows CE contest sponsored by Microsoft and the ACM. My entry was a Timing and Scoring Software that enabled a Windows CE device to manage car race entrants using the database system for WinCE. It enables the user to communicate with the timing and scoring systems via TCP/IP and serial communications. This project allowed me to learn the differences between Win32 programming and WinCE programming. It allowed me to learn how to integrate database support in my programming. | |
Education
Computer Engineering Laval University, Québec, Qc, Canada | December 2003 | |
|
| |
Languages spoken and written : English and French | ||
Miscellaneous
Professional Memberships | |||
| |||
| Quebec Order of Engineers | ||
| Association of Computing Machinery (ACM) | ||
Patents Pending | |||
| |||
20020161957 : Methods and systems for handling interrupts |
| ||
| |||