BlackBerry (Waterloo, Ontario), June 2003 to Sept. 2019 Software Developer, June 2003 to June 2007 Senior Software Developer, June 2007 to Jan. 2008 Team Lead, Manager, and Senior Manager Jan. 2008 to Sept. 2019
Worked on the development of a Web browser written in
J2ME for
BlackBerry smartphones.
Implemented many specifications and features for the BlackBerry,
including HTML form-based file upload, HTML frames,
OMA
Download, and Get Security Key for T-Mobile WiFi routers.
On my own initiative and mostly on weekends, I implemented the
BlackBerry's support for audio file metadata via ID3v1, ID3v2, MP4, and
ASF formats. Without this effort, the original BlackBerry Pearl would
likely have shipped without titles, artists, and album art in its media
player.
From 2008, I led a team of developers focused on the
BlackBerry Browser. I hired, trained, and managed the team, growing
from 2 developers initially to 13.
I led the small team during the complete rewrite of the Browser's
HTML rendering engine in 2008 with a strong focus on Web standards: HTML
4.01, CSS 2.1, JavaScript 1.6, and DOM Level 2. I worked long hours to
meet the very tight shipping date for the first BlackBerry Bold,
contributing significantly to the success of that device.
I provided technical leadership, deciding which Web standards we
would support in BlackBerry 5.0 as we continued to catch up to competing
browsers. I delegated to my developers different tasks based on their
interests and skills, and I coached them through the successful
implementation of a long list of new Web standards.
When RIM acquired Torch Mobile to bring WebKit to the BlackBerry, I
transitioned my team to focus on the non-rendering aspects of the
Browser. I worked closely with Product Management, usability experts, and
my developers to deliver key features in BlackBerry 6.0, including tabbed
browsing, a new start page, location bar, and automated transport
selection among corporate, carrier, and public networks.
Software Developer,
Reqwireless Inc.
(Kitchener, Ontario), Sept. 2001 to June 2003
Led development of a Java class library and application for rendering
HTML Web pages on mobile devices
Developed client-side library using
J2ME,
CLDC 1.0,
MIDP 1.0
Developed transformation server using
J2SE 1.3 and the
Java Servlet 2.2 API
Administered the company's CVS, Apache, Tomcat, and PostgreSQL servers on
Linux
Software Engineer,
Pumatech, Inc.
(Emeryville, California), May to July 2001
Developed an ActiveSync service provider in C++ for the company's Web browser running on Windows CE 3.0
Developed an installer for the Windows CE Web browser using InstallShield 6
Software Engineer (Co-op),
Pumatech, Inc.
(Emeryville, California), Aug. to Dec. 2000
Researched and developed a proof-of-concept prototype of a
J2MEMIDP
Web browser for cell phones
Ported a JavaScript interpreter to the Palm OS
Fixed bugs in the Mozilla-based
server component of the company's Palm OS Web browser
Fixed bugs in Rogue Wave's Threads.h++ and Tools.h++ Professional class libraries
Ported Threads.h++ to a new platform and compiler (Solaris 8, SunPro C++ 5.1 beta)
Received excellent performance evaluation
Software Developer (Co-op),
TrueRisk Corporation
(Toronto, Ontario), May to Sept. 1999
Designed and programmed COM components using Microsoft Visual C++ 5.0
and ATL to expose functionality of TrueRisk products through Automation
Developed demonstrations showcasing the use of the components on the Web
with ASP, on the desktop with Windows Script Host, and in Microsoft Office
with VBA macros
Received outstanding performance evaluation
Software Developer (Co-op),
TrueRisk Inc.
(Toronto, Ontario), Sept. to
Dec. 1998
Designed and programmed components for risk management software
using Microsoft Visual C++ 5.0,
MFC,
Rogue Wave Tools.h++ and DBTools.h++
Projects included a set of dialogs for editing securities in the database and
a "limit tracker" to define and track limits imposed on traders
Received outstanding performance evaluation
Developer (Co-op), Bowne Internet Solutions (formerly Quadravision Communications) (Toronto, Ontario), Jan. to Apr. 1998
Developed server-side Java applications for various clients
Projects included Internet banking with OFX, an online loan application, and a Web-based publishing system
Received excellent performance evaluation
Programmer/Analyst (Co-op), Quadravision Communications (Toronto, Ontario), April to Aug. 1997
Developed a Java applet investment game
Programmed CGI applications in Perl and Oraperl for various clients
Honours Bachelor of Mathematics in Computer Science/Software Engineering
Graduated with distinction
Recipient of K.C. Lee Computer Science Scholarship (1999) for excellent academic
standing and commitment to Computer Science, Faculty of Mathematics
GVMA Scholarship
(1998-2001), and René Descartes Entrance Scholarship (1996)