======
ANDREW FORWARD
======

111 PRETORIA AVE • OTTAWA, ONTARIO • K1S 1W8 •
PHONE (613) 795 5273 • E-MAIL aforward@gmail.com

======
EDUCATION
======

Ph. D. Computer Science
Model-oriented Software Development (Umple)
University of Ottawa, October 2010

M. Sc. Computer Science
Software Documentation Aura
University of Ottawa, November 2002

B. A. Sc. Software Engineering
First in Canada (Magna Cum Laude)
University of Ottawa, April 2001

OSSD, Bilingual, top 1% in OCDSB 1997

Royal Conservatory of Music
Grade 8 Piano and Level 2 Theory, July 1996

======
WORK EXPERIENCE
======

Software Developer
CrossFit HQ (Dec 2015 – Present)
Dedicated to fitness via constantly varied functional movements performed at high intensity.
• Upgraded the payment system available to all 15k affiliates to collect funds automatically
• Introduced Test-Driven Development and manage the automated QA effort
• Built OAuth2 authentication service to connect with third parties like WebConnex, Shopify or Apple.

Software Developer
CENX, Inc. (Oct 2010 – Dec 2015)
Software developer and team lead with a Carrier Ethernet interoperability company.
• Developed a system to intelligently deal with 100s Gigabits of inconsistent data (from spreadsheets, MS Word, XML, TXT, PDF and HTML documents, email, zipped, tar-ed, rar-ed, compressed files) for several large telecom providers involving more than 400+ formats and 100,000s of files
• Introduced Behavioural Driven Development (BDD) and DevOps with concepts like test-first, CI and CD using CruiseControl (and later Bamboo), Cijoe, PHP, Rspec, Clojure.Test, Autotest, Guard, Selenium and Web Driver
• Optimized automated testing build runs from over 8 hours down to 30 minutes

Senior Application Developer
Library & Archives Canada (Jan 2006 – Dec 2010)
Software architect and senior application developer to manage the preservation, storage and circulation of Canada’s heritage.
• Liaison between application design, development and the business units including requirements, estimation, development, testing, mentoring and project planning
• Guided CM team to integrate SVN
• Introduced PHPUnit / SimpleTest, Selenium and WebTest and phpUnderControl (CI)

Senior Consultant
Deloitte. (Mar 2003 – Dec 2005)
Technology integration consulting within the public sector.  Most significant project involved
• ASP.Net, C#, JavaScript, SqlServer 2000
• Introduced automated testing with NUnit, NUnitAsp, JsUnit, and Mock objects
• Managed CI server using CruiseControl.Net,
• Performance and memory profiling using RedGate ANTS and Selenium
• Managed several small teams
• Exposure to entire SDLC
• Requirements, modelling, methodologies,  architecture principles, software engineering, testing & validation,  database management

Software Consultant
4079914 Canada Inc  (since 2000)
Additional software consulting roles.  Notable projects include:
• NSERC Grants. Built web services API to bridge access between CRM and Sharepoint
• Uhber.com. Social media platform to help build the ultimate homepage.
• HatchMortgage.com.  Application developer to streamline mortgage apps with social media integration, REST API and JQuery UI.
• ArrowMight.ca.  Application developer building back-end management and reporting engine for distance learning courses
• SiteValet.com. Senior software architect building virtual ISPs for small to medium hotels. Ruby on Rails.
• TravelOnlyOttawa.ca.  Niche travel website that focussed on speed and SEO for “Ottawa travel agent”
• Use Case Editor. Application architect building a use case simulator using Java, Swt, and Xml

======
ACADEMIC AWARDS / ACCLAIM
======

• Nominated for Governor General’s Gold Medal (highest ranked PhD Thesis) 2010
• NSERC Industrial Postgraduate Scholarship  (IPS2) 2006 – 2010
• Certificate in IT Service Management 2003
• CGI Ottawa award for Excellent 2000 – 2001
• Golden Key National Honour Society lifetime membership 2000
• IEEE RAB Student Branch Membership Growth Award - University of Ottawa 2000
• Canadian Engineering Competition (CEC) Team Design 4th Place 1998
• Ontario Engineering Competition (OEC) Team Design 2nd Place 1998
• Lutheran Life Scholarship 1997 – 2001
• Dean’s Honour List 1997 – 2001
• PEO Foundation Award 1997 – 2000.
• Canadian Merit Scholarship 1997 – 2000
• Andrew S. Haydon Admission Scholarship of the University of Ottawa 1997 – 1998
• Governor General’s Bronze Metal (highest Secondary school average) 1997
• Gerry Turcotte Research Institute Award 1997
• Winston Churchill Memorial Scholarship 1997
• William W. Powell Memorial Scholarship 1997
• Certificate of Distinction (to 25% in Descartes Mathematics Contest) 1997

======
TEACHING / RESEARCH EXPERIENCE
======

Part-Time Professor, U of Ottawa
• CSI3520 - Programming Languages (French)
• CSI3540 - Web Programming (French)
• SEG 2506 - Software Construction (French)
• SEG4105 - Project Management

Post-Doc
University of Ottawa (Jun - Aug 2011)
Worked with the Complexity Reduction in Software Engineering (Cruise) team helping to open source the Umple programming language and build infrastructure to automate deployment and quality assurance procedures.

Research Assistant
University of Ottawa (Sep 2006 – Oct 2011)
Involved with the Cruise Lab (Complexity Reduction in Software Engineering)
• Developed model-oriented programming language (Umple) available at http://try.umple.org
• Conducted several online surveys to gather data about the attitudes of software practitioners

Teaching Assistant
University of Ottawa (Sep 2000 – Jan 2002)
Computer and Engineering courses in English and French including quality assurance, introduction to engineering and file management in Java and C language
• Software Quality Management including Black / White Box, Unit, Component, Integration, Coverage analysis, Test-driven development
• C Programming including File Management, Introduction to Engineering

======
TOOLING PROFICIENCY
======
Web Apps And Software Development
• Umple, Java / JVM, C#, C, PHP, Ruby, Erlang/Elixir, Clojure
• HTML, XML, ASP.Net, PHP, Ruby On Rails (2.x and 3.x), Elixir, Java, JavaScript, JQuery, Prototype, CSS/Sass/Less
• SSL, HTTP/S, TCP/IP, DHCP
• Mongrel, Passenger, Nginx, IIS, Apache, Tomcat, Node.js
• DigitalOcean, Rackspace, Amazon S3, Heroku, Google Maps, Twitter, Facebook
• Git, SVN, ClearCase, Visual Source Safe, RCS for version control
• Nant, Ant, CruiseControl, Cijoe, Bash
• NUnit, NUnitAsp, HttpUnit, JUnit, PhpUnit, JsUnit, Selenium, WebTest, WebDriver
• SharpDevelop, VisualStudio’s.Net,  Eclipse, RadRails, TextMate Sublime as an IDE
• MySQL, Oracle 9i, Redis, PostgreSql, MongoDB, Riak
• Chef, Pallet, Ansible, Puppet, Capistrano

======
APPLICATION PROFICIENCY
======

Application Architect / Project Management
• JAD sessions (cross domain requirements)
• Aligned requirements with use cases, prototypes and system development
• Infrastructure design, implementation and support to better automation
• Change requests and cost estimation
• Managed small software development teams
• Defect tracking Jira, Bugzilla, Mantis, FogBugz, LightHouse, Basecamp, GoogleCode and GitHub

Software Development
• Test-Driven design, Continuous Integration (CI), Continuous Deployment (CD), Unit Testing, Software Metrics like Code Coverage, (Emma, Rcov) and coding standards (FxCop)
• Modeling, documentation in UML including a model-oriented language called Umple
• Software experimentation
• Language design both general purpose (Umple), and domain specific (DSL)

COMMUNITY EXPOSURE
Conference Speaker (2016 – Present)
Contributing back through conference talks including ElixirConf, OpenCamps, and Empex.

Open Source Contributor (2008 – Present)
Contributing and/or improving existing open source and personal projects including Umple, Elixir, Phoenix, Monit, Geokit at github.com/aforward

Junior Achievements (2004 – present)
Involved with Economics of Staying In School, and Business Basics program helping to educate youth.

Ontario Engineering Competition 2002
Annual university undergraduate engineering comp. • Coordinated 10 executive members and involved 180 competitors and 50 judges
• Involved with accounting, sponsorship, promotion, and publications,

Enrichment Courses Instructor (2000)
Weeklong French IT camp for high school students involving computers, the Internet and robots.

University of Ottawa Baseball (2000-2001)
Played left field for two seasons hitting over .400 in my first season, and finishing 3rd in Canada in 2001

IEEE Student Branch (1998 – 2002)
• Coordinated a technical conference (S-PAC) brining 150 students and professionals together
• Recruited the most members in Canada 2001

Adventures in Engineering and Science
University of Ottawa (1998 – 1999)
Camp instructor and Camp Coordinator (Bilingual).