Email address: email@example.com
Last updated: June 21, 2006
• Software Engineering B. Eng. from the University of Ottawa (2003)
• Primarily a Java and Ruby on Rails developer but would be comfortable using most
modern programming languages
• Insists on unit testing
• Appreciates regular project builds and a solid deployment strategy
• Looking for a strong team where I can learn from great mentors
• Prefers agile processes but is very comfortable using others
• Writes a software blog at http://www.ryanlowe.ca/blog
Project #11: RadRails
June 2006 to Present
Java and Ant Developer, Committer, http://www.radrails.org
Environment: Java, Eclipse, SWT, JFace, Eclipse Rich Client Platform, SVN, Ant, Windows XP
(development machine), Mac OS X (development machine), trac
RadRails is an open source Eclipse-based IDE for Ruby on Rails development that I use for
fanconcert (see #10). I have joined the team to help improve the quality of the end product,
initially by helping to organize the build and deployment process. Later on I’d like to contribute
unit tests and new features.
• Wrote Ant scripts to compile and build RadRails for Win32, Mac OS X and Linux, derived
from work on Durham (see #7). The Ant scripts compile RadRails with Eclipse 3.1 and
3.2 to ensure backwards compatibility.
• Regularly support RadRails on IRC (#radrails on freenode) and will write blog posts to
improve community awareness.
Project #10: fanconcert.com
June 2005 to Present (12 months)
Project Manager, Developer and Entrepreneur, http://www.fanconcert.com
Environment: Ruby on Rails, Ruby, rake, unit and functional testing, iterative development,
ActiveRecord ORM, Eclipse, Ruby Development Tools (RDT), MySQL, phpMySQL, Subclipse
OPML), Windows XP (development machine), Mac OS X (development machine), FreeBSD
(production server), Google AdSense, Google Maps API, bash, Apache, lighttpd, cron, vi
fanconcert is a web application for music fans that want to keep up with their favourite artists.
Fans can make a list of their favourite artists and fanconcert can notify them when any of those
artists are releasing new albums or are playing a concert close to them.
fanconcert gets this information from the users themselves, who have the ability to agree or
disagree with other user’s submissions and affect the submission’s moderation score. Users can
easily see which submissions are more likely to be true by the number of people that agree with
the submission and increase its moderation score. fanconcert is still in active development and
changes almost every day based on feedback.
I have assumed all of the necessary responsibilities, including:
• Test-first development in the Ruby programming language on the Rails platform.
• An iterative and agile development process with early deployment to real end users and
regular feedback from them.
• Feature and defect prioritization within iterations based on user feedback.
• An understanding of the Rails framework, AJAX, HTML, CSS.
• Configuration and maintenance of the Apache and lighttpd production web servers.
• Configuration and maintenance of the MySQL database.
• Configuration and maintenance of the Subversion source code repository.
• Integration of external tools, libraries and web services like the Google Maps API.
• fanconcert’s current style, graphics and usability.
Project #9: Personal Websites
Summer 2001 to Present (over 4 years, part time)
Webmaster and PHP Programmer for audioman.org, beernut.ca and ryanlowe.ca
(server), bash, cron, vi, blogging software (MovableType), RSS
Over the past four years I’ve gained a lot of practical experience managing and configuring my
personal websites and trying out new technologies with them. I was already quite familiar with
I found that the transition to PHP-based web applications was not difficult at all.
I’m very comfortable using PHP, the PHP libraries and navigating the documentation. In the
course of managing my websites I’ve also become familiar with Apache configuration, the
Linux/Unix shells, cron and editors like vi.
• Created a custom PHP photo album web application that displays photos as they are
added to the web server. Users could also post comments on each picture.
• Created CMS-like web applications in PHP for uniform website layout (ie. audioman.org).
• Created other small PHP pages and scripts as needed by the web sites.
Project #8: X-Fire Workgroup Edition
Aug 2004 to May 2005 (10 months)
Java/J2EE Developer, Agnovi Corporation
Environment: J2EE, Java, Eclipse, Eclipse Rich Client Platform, SWT, JFace, CVS, Ant, JUnit,
EMMA (code coverage), SQL, XML, PHP, JBoss, MySQL, Windows XP (development machine),
Fedora Core (Linux build machine), WiX, Bugzilla, bash, cron, vi
• Java development: Fixed defects and added enhancements to X-Fire
• Led the release engineering and deployment effort
• Wrote the Ant build script for X-Fire client and server.
• Used PHP to parse build data and produce HTML build reports.
• Maintained the Linux build machine and its output.
• Updated the third party software deployed with the product and managed versions.
• Maintained version numbers, release schedule, branching and maintenance releases.
• Wrote the Ant build scripts so that they would also speed up developer tasks like WAR
file deployment and execution of all unit tests.
• Wrote a Windows installer for the X-Fire client with WiX.
• Led an effort to improve product quality
• Installed a Bugzilla defect tracking database and maintained its content integrity by
closely monitoring it.
• Integrated software quality tools such as JUnit and EMMA code coverage into the build
• Monitored nightly build results to check for regressions introduced the previous day.
• Installed and maintained all of the tools necessary to complete the above tasks, most of
them on Linux (Fedora Core).
Project #7: Durham Metadata Framework for Eclipse, AudioMan, QuickEditor
January 2004 to July 2004 (7 months)
Project Manager and Java Developer, http://sourceforge.net/projects/durham
Environment: Java, Eclipse, Eclipse Rich Client Platform, SWT, JFace, CVS, Ant, JUnit, EMMA
(code coverage), SQL, XML, Hibernate (ORM), Windows XP (development machine), Fedora
Core (Linux build machine), Bugzilla, bash, cron, vi
• Development: Java, often test-first
• Deployment: products are built, tested and packaged with Ant for simultaneous
deployment for Windows, Mac OS X and Linux platforms.
• Used PHP to parse build data and produce HTML build reports.
• Quality: APIs and classes are unit tested and code coverage metrics are monitored.
Project #6: Rune
May 2003 to August 2003 (4 months, Co-op position)
Java Developer, Canada Customs and Revenue Agency (now Canada Border Services Agency)
Environment: Java, Eclipse, SWT, JFace, CVS, Ant, JUnit, jcoverage (code coverage), XML,
Windows XP (development machine), Bugzilla
• Wrote a stand-alone Java/SWT Windows application to edit a very large rules-based
configuration text file for SSA Name3 and check for errors and rule conflicts.
Project #5: Rational Rose XDE
August 2002 to December 2002 (4 months, Co-op position)
Quality Engineer, Rational Software (now IBM)
Environment: Java, Eclipse, Rational ClearCase (source control), Rational ClearQuest (defect
tracking), custom Java unit testing framework
• Wrote test methods in Java to unit test an API.
• Reported, verified and closed defects for the project.
• Several other small projects which improved quality assurance workflow.
Project #4: New Ventures
Jan 2002 to August 2002 (4 months, Co-op position)
Software Developer, Corel Corporation
Environment: C++, C#, VB.NET, Microsoft Visual C++, Microsoft Visual Studio .NET, COM,
Rational Rose, Visual Source Safe
• Implemented a COM object in Microsoft Visual C++ using XML as the output format.
Active participant in design discussions of the overall system in which the COM object
• Experimented with Microsoft Visual Studio .NET: VB.NET, C# and created sample .NET
Project #3: Embedded Encryption Library
Jan 2000 to April 2000 (4 months, Co-op position)
C Programmer, Wann Connection Devices (now Canadian Bank Note Corporation)
Environment: C, Motorola 68k processor device with programmable EEPROM, text editor and
RCS-style file locking source control, Linux, getty, vi
• Assisted in the reprogramming of an encryption library in C for Motorola 68k-based
embedded devices and tested all of the affected models.
• Designed and programmed a host server simulator to test a new embedded device in C
Project #2: Internal DND Web Application
May 1999 to September 1999, August 2000 (6 months, Co-op position)
Active Server Pages (ASP) Web Programmer, Department of National Defense
FrontPage, Microsoft SQL Server, Microsoft Access 97, IIS
• Independently designed and programmed an Active Server Pages (ASP) web site based
on a dynamic checklist and approval process.
• Using MS Access 97 to create/maintain the database used. SQL queries.
• A common user interface for the site using style sheets (CSS) and server-side include
• Was familiar with and followed the Common Look and Feel Guidelines for DND intranet
• Logged a lot of overtime hours for this project.
• One of the recipients of the Deputy Minister and Chief of the Defence Staff Renewal
Award for 1999-2000 for work on this project.
Project #1: Online Shopping Website
May 1998 to August 1998 (4 months, Summer job)
Active Server Pages (ASP) Web Programmer, M-Star
Visual Studio, Microsoft SQL Server, IIS
• Independently designed and programmed Active Server Pages (ASP) web applications
for data entry personnel.
December 2003 B. A. Sc. Software Engineering, Co-op Program, graduated Cum Laude
University of Ottawa
School of Information Technology and Engineering (SITE)
• Excellent English written and verbal communication skills. For an example of my writing,
please see my software blog at http://www.ryanlowe.ca/blog/
• Intermediate understanding of written French.
• Institute of Electrical and Electronics Engineers (IEEE) member since 2000.
• Mac OS X user since December 2002.
• I take an active interest in new technologies and software outside of work.
• I enjoy reading books and web sites about software design, project management and
software engineering processes.
• Blogger since 2001. Very familiar with blogging tools, APIs, syndication formats (RSS).
• I enjoy inline skating and playing golf as well as soccer, football and snowboarding.
• I have reviewed technical books on my own time, including:
o SWT/JFace in Action, Manning Publications 2004
o Eclipse IDE Pocket Guide, O'Reilly 2005
o Agile Development with Rails beta book, Pragmatic Bookshelf 2005