email: kellyrob at gmail.com
Last Updated: 28-March-2012
Agile Java software developer and project lead working in the Enterprise domain. Skilled in gathering and documenting project requirements, managing and reporting on project execution, developing and executing test scenarios, and regularly releasing working software. Proven ability to rapidly design, estimate, prototype and implement complex systems in an atmosphere of evolving project requirements. Evangelist for test driven development, Agile Scrum methodologies, offline peer code review, and adoption of Groovy and other technologies to increase velocity of development. Possess a track record of success delivering quality software on time and on budget.
xMatters, Inc. Victoria, BC
July 2010 – Current
Senior Software Developer, Project Lead
- Leading a team of twelve to build and maintain a complex distributed messaging platform, and to deliver the next major release of the company’s flagship software, including web applications, Swing applications, and a variety of focused tools designed to work on a multitude of different platforms.
- Working with an Agile, Scrum methodology to ensure delivery of high quality work with every monthly iteration.
- Spearheaded efforts to upgrade from legacy CruiseControl build system to newer, more capable installation of Hudson/Jenkins, allowing for a significant increase in test automation.
- Updated legacy Ant build infrastructure to new Gradle based build system, enabling more robust test, build and release procedures.
- Created and presented training materials for Groovy, Unit Testing, the Gradle build framework and others.
GroovyMag and JSMag
July 2010 – Current
- Have produced more than 100 articles working with more than 40 authors from around the world.
GenoLogics Life Sciences Software Victoria, BC
Aug 2009 – June 2010
Project Lead – Robotics Integrations
- Leading a team of 5 in three week iterations to develop low-level integrations with the GenoLogics LIMS for four laboratory robotics workstations.
- Leveraging Groovy scripting to provide a dynamically extensible environment.
- Agile development environment including Scrum methodology
Sept 2008 – Aug 2009
Software Developer – Biomedical Informatics
- Worked with a team of six to design, plan and implement GenoLogics newest product line of information management and collaboration tools, a distributed Java Seam deployment of BioVault, BioQuest and BioChronicle applications, enabling high volume search and storage of clinical data related to biological sample materials and biorepositories.
- Worked in a Scrum Agile process with two week iterations delivering new features and working software at each iteration.
- Modeled the Hibernate JPA domain layer and integrated Apache Lucene search capabilities.
- Provided external API access leveraging RESTEasy.
- Created and presented training materials surrounding adoption of the Groovy language.
- Created and presented training materials for Crucible code review system.
June 2008 – August 2008
Software Developer – Hibernate Cascade Delete
- Implemented a database domain migration to allow for efficient delete of extremely large object graphs.
- Integrated JMS and Swing GUI to allow for speedy update of views in response to deletion of underlying model data.
- Involved extensive evaluation of business cases in a complex Hibernate configuration of interconnected domain objects to decide on an effective strategy for a system-wide update.
April 2008 – June 2008
Software Developer – Image Handling Enhancements
- Worked with a team of three adding image annotation abilities to the GenoLogics LIMS.
- Developed Swing UI visualization and interaction elements for visual and textual annotation layers requiring extremely precise placement
Feb 2008 – April 2008
Software Developer – Process Migration
- Worked with a team of eight to ten on significant refactors enhancing scalability, functionality, robustness and testability of core GenoLogics LIMS features.
- Favored composition over inheritance as a strategy to separate concerns and provide a highly configurable platform for modeling of complex scientific experiments and the associated data analysis.
Jan 2008 – Feb 2008
Project Lead – Query Enhancements
- Led a team of three to enable nested boolean grouping of search criteria and associated Swing UI elements to create complex multi-dimensional queries dynamically in the GenoLogics LIMS.
Sept 2007 – Dec 2007
Software Developer – Workflow Task Enhancements
- Worked with a team of three to improve business rules definition and application for internal GenoLogics LIMS workflow.
- Enabled pipelining of laboratory specimens through a series of tasks and added support for routing select specimens back into the pipeline in response to quality control factors.
May 2007 – Aug 2007
Project Lead – Affymetrix Instrument Integration
- Led a team of three to achieve Affymetrix GeneChip Compatability certification for GenoLogics LIMS products.
- Developed a deep integration to Windows based GCOS Affymetrix software using a Java/COM bridge.
- Developed a deep integration to AGCC Affymetrix software utilizing an XML transport format.
Feb 2007 – May 2007
Software Developer – Array and Hybridization Modelling
- Added support for micro-array modelling to LIMS Genomics science module.
- Leveraged Hibernate to reuse and repurpose existing domain entities for modeling variations in terms of functionality and view selection.
June 2006 – Jan 2007
Software Developer – LIMS Genomics Module
- Worked with teams of up to 12 developers to design and build a new Genomics purposed science module package for the GenoLogics LIMS.
- Extracted common interfaces and support structures to ensure reuse and interopability of existing Proteomics software package with new Genomics functionality.
- Extensive refactor of existing independent implementations into a common configuration driven set of behaviours using Factory, Builder and Prototype design patterns.
- Developed pluggable run-time module deployment environment leveraging Spring.
Sept 2005 – May 2006
Software Developer Co-op – GenoLogics LIMS
- Eight month co-op term through University of Victoria.
- Transitioned a legacy EJB data access layer to Hibernate.
- Implemented Command pattern extensively to decouple client and server components in an enterprise laboratory information management system.
- Upgraded Java 1.4 codebase to Java 1.5, incorporating extensive use of Generics.
British Columbia Ministry of Transportation Victoria, BC
June 2003 – Jan 2004
Software Developer Co-op – Road Inventory Management System
- Designed and built data mining and transformation tools to centralize information from disparate data sources maintained by the Province.
- Developing tools to relate static inventory data of road features with geospatial mapping data across the province.
- Worked extensively with Microsoft Access and Excel in a self-organized project.
- Productivity: IntelliJ Idea, Eclipse, NetBeans, Microsoft Office, OpenOffice, Apple iWork
- Frameworks: Maven, Spring, Grails, Griffon, JBoss Seam, Swing, Struts, Hibernate
- Operating Systems: Mac, Linux, Windows
- 2007/Q4: No Fluff Just Stuff Conference, Seattle
- 2010 SpringOne 2GX Conference, Chicago
- 2011 Certified ScrumMaster, Scrum Alliance
- University of Victoria, Bachelor of Science With Distinction, Computer Science, 2008 [7.24 GPA]