Exceptional developer with proven expertise in all aspects of the software development life cycle.
Summary of Qualifications
- Excellent communication skills which are critical both as a team member and for taking on a mentoring role.
- Talented and pragmatic problem solver, adept at providing a solution which improves an organization’s performance.
- Proven background designing, implementing and maintaining business critical software systems.
Technical Skills and Expertise
|Frameworks and APIs:||Rails, J2EE, JSP, Hibernate, JDBC, jQuery|
|Technical Concepts:||Unit testing (via both JUnit and RUnit), classical web services via SOAP, RESTful web services, AJAX, MVC|
|Theoretical Concepts:||Object oriented programming, design patterns, distributed computing, concurrent programming, relational database design|
|Servers:||Apache, MySQL, Oracle, DB2|
- April 2011 – September 2014, Software Developer, Pacific Coast Information Systems – Vancouver, BC
Developing solutions to client problems using an array of technologies including Java, Ruby on Rails and C#.
- Primary work on a multi layered Java enterprise class system utilizing IBM and DB2 technologies.
- Implemented solutions for clients on top of the SharePoint platform.
- Multiple smaller client projects built with Ruby on Rails.
- March 2009 – March 2011, Software Developer, Troove Technologies Inc. – Vancouver, BC
Designing and developing a rich, web 2.0 style application aimed at small businesses.
- Developed both server side and client facing features.
- Wrote software to measure and did usage analysis to help identify ways to improve usability.
- Led the effort to improve testing and code quality, improving feature development time.
- Built the super user functionality of the system as a Ruby on Rails project.
- April 2008 – November 2008, CTO and Co-Founder, TaylorMennie Technologies Inc. – Ottawa, ON
Formed to develop software which would help personalize a web experience. Developed cutting edge rich AJAX based web application for deployment into existing websites to improve customer communication. Java based technologies including the Google Web Toolkit and Hibernate were used extensively.
- Solved complex architectural problems that required in depth knowledge of design patterns.
- Designed and implemented the highly concurrent server core which drove the application.
- Designed and implemented a distributed web based testing application which would generate random user test scripts (mouse clicks and key presses), execute the tests and submit results back to the central server for analysis.
- 2005 – June 2008, Software Developer, Overklick Technologies – Ottawa, ON
Lead developer working on a business to business web store framework written in Java. Spearheaded the effort to modernize the application and reduce maintenance costs while decreasing feature development time. Using an iterative development strategy, individual subsystems were replaced regularly, leading to zero migration downtime.
- Refactoring project was a success, reducing the code base from 140k lines of Java code to approximately 70k lines of code while increasing the number of features.
- Notable user interface features implemented included an easy to use theme editor, AJAX requests to improve the experience of both customers and administrators and moving to a more correct model-controller-view based system
- Implemented a replacement data abstraction layer which eliminated data integrity problems in the original application.
- Organized and acted as a mentor to 5 other developers working on the application.
- Acted as technology lead
- Obtained the position after writing an automation system internally which effectively eliminated two data entry positions.
- Bachelor of Computer Science, Carleton University, Ottawa, ON