Senior Software Developer / Architect
A Senior Engineer and Developer with over 14 years cutting-edge IT experience. A specialist in developing complex applications and servers in C/C++/C#/PHP/Java/Ruby on multiple platforms. A track-record of designing, developing and delivering products on-time and on-budget and a demonstrated ability to produce enterprise class software for the North American, European and Asian markets.
As comfortable architecting solutions as mentoring junior developers. Well suited to challenging positions that require strong leadership, design and technical skills. A proven asset to companies because of a broad range of skills extending beyond Object Oriented Development and Architectures, including Unix System Administration, Network Design, Database Administration, Documentation and Management.
Skilled at network socket programming, threading, cryptography, web based application development. An experienced 3D game developer, whose work has been recognized with various awards from others in the industry. Designed and developed 3 tier client/server/database applications that served millions of users and handled thousands of transactions a second.
Portfolio of Programming Skills
| Languages: | C, C++, C#, PHP, Ruby on Rails, Java, MFC, SQL, ASP.NET, JavaScript, HTML, CSS |
| Development Tools: | Visual Studio, NetBeans, RubyMine, gcc, CVS, Subversion, Git, Mercurial, TFS |
| Databases: | MySQL, MSSQL Server, Oracle, Access, PostgreSQL, SQLite |
| Systems: | Linux, Solaris and other Unix variants, Windows, Mac, Android |
Professional Experience
| Senior Software Developer | January 2005 - Present |
| Ivara | Burlington, Ontario |
Ivara is a company that creates software to help large industrial companies manage the maintenance and reliability of their assets. Ivara's software is used by Fortune 500 companies around the world
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.
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.
| Web Developer | January 2000 - Present |
| Alteridem Consulting | Burlington, Ontario |
During more than 10 years as a consultant, developed software and web sites for dozens of companies including TD Canada Trust, Cropmarks, Lockheed Martin, Ivara, Losani Homes, Connon Nurseries, The Aladon Network, OK&D Marketing, Lens Day, Toronto Tours, Super Sport Club, Bernardin, Tourism Hamilton, BIE Health Products Direct Mail Worx and many others.
| Senior Software Architect | December 2002 - June 2004 |
| Semaview, Inc | Toronto, Ontario |
Led 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.
| Senior Programmer/Analyst | October 2000 - November 2002 |
| Livedoor, Inc | Tokyo, Japan |
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.
Supervised the development of the company's Internet connection software and client tools such as their Internet Toolbar. Converted 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.
| Senior Programmer/Analyst | January 1999 - October 2000 |
| X-Stream Technologies, Inc / LibertySurf UK | Toronto, ON / London, England |
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. Designed and documented the systems, wrote 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, designed and wrote a library to allow software to dynamically load and display different languages. Developed a number of internal tools to aid in the translation of the software.
| Java Developer | August 1998 - January 1999 |
| Dreamplay Research Corporation | Toronto, ON |
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 | January - May 1998 |
| CIBC- INTRIA Networks | Toronto, ON |
A part of the team that planned and rolled out the national IP network linking all Canadian Imperial Bank 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.
| Technical Support Supervisor | January - September 1997 |
| Globalserve Communications | Oakville, ON |
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.
| Military Experience | 1987-96 |
| Department of National Defense | Victoria, BC/Petawawa, ON |
During a ten year career with Canada's Department of National Defense, worked in Research, Combat Intelligence, and, served with the Canadian Airborne Regiment.
Open Source & Freeware Projects
- Contributer to the Gallio/MbUnit test framework.
- Designed, created and maintain several popular websites in PHP including www.commando.org, shifted*exposure and www.alteridem.net.
- Wrote and maintain the MySQL SDB driver on Sourceforge that provides a MySQL database backend for the BIND 9 Domain Name Server (DNS).
- Former developer of the PHP photoblog software Pixelpost.
- Speaker at the Toronto Code Camp (2008)
- Editor and programming tutorial author, The Coding Collective. (2002)
- Developer on the iCalendar .NET Parser project that is used to convert RFC 2445 iCalendar files into RDF.
- Contributer to the phpICalendar project, concentrating mainly on the PHP ICS parser and timezone support.
- As head programmer for the 3D game Tour of Duty, 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.
- Ported the network socket code in the GNU Common C++ library to Windows and wrote much of the socket connection and DNS lookup code.
- Added network support to the Linux UPS software package Genpower.
- Wrote the first Linux Virtual Hosting mini-howto.
- Wrote over a dozen free and shareware programs in C#, MVS C++, Borland C++ Builder, PHP, Perl and C for the PalmOS.
Additional Courses, Seminars & Qualifications
- Unix System Administration I & II
- Data Communications for Technical Users
- Local Area Networks for Technical Staff
- TCP/IP Technical Concepts
- Methods of Instruction (Taught me to teach any subject in a variety of settings)
- Basic Officer Training Course (Leadership, management and administrative skills)
- Held Canadian secret security clearance.