Mobile Development Expert

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

 


20020069263 : Wireless java technology