About Me
I'm a software engineer with 12 years experience building software that drives online businesses. I'm most experienced with Java, but lately I've been developing with PHP, Bash, Python, and Kotlin. I enjoy working with engineering teams that are working on challenging problems and strive to develop quality software.
Professional Experience
Senior Software Engineer ▪ August 2019 - Present
- Currently leading a team developing data synchronization processes that sync data from Salesforce to our MySQL database and vice versa. Recently completed our first implementation on a tight deadline to avoid an expensive contract renewal. Now working on an event-based implementation using Kafka and Debezium
- Responsible for infrastructure automation, operations, and improving observability as a member of the SRE team
- Implemented auto scaling for the monolith. Used Jenkins to trigger builds on github commits and CodeDeploy to manage deployments to an EC2 auto scaling group. Migrated monitoring from Nagios to Datadog using systemd timers to generate custom metrics. Used Terraform to manage required AWS and Datadog infrastructure
- Developed load testing scripts using Locust to ensure capacity for the launch of our mobile application
- Helped plan and execute a lift and shift migration from our colo to AWS
- Integrated distributed tracing into the monolith and instrumented to improve observability of our GraphQL API
Principal Software Engineer ▪ March 2019 - July 2019
- Strong leader in an agile development team that built, tested, and supported several Java REST APIs that power LendingClub's personal loans origination platform
- Met often with the product team to gather requirements. Used requirements to produce technical designs to evaluate and discuss with team members. Broke down technical designs into stories that could be executed upon by team members
- Acted as a mentor to less experienced engineers. Pair programmed to work through issues and evaluate design alternatives
- Worked closely with the architecture team to establish a technical roadmap for migrating the components of the personal loans origination platform to AWS
- Member of the data architecture working group. Collaborated with the data architecture team to evaluate database designs. Ensured DDL changes adhered to our data architecture standards
- Member of the engineering hiring committee. Interviewed engineering candidates on an ongoing basis
Lead Software Engineer ▪ October 2016 - February 2019
- Extended and refactored our loan application REST API as required to migrate various funnels out of our monolithic application. Upon completion of migration, all personal loan applications were serviced by our REST API
- Responsible for performing code reviews of all contributions to our loan application REST API. Ensured quality of contributions by working with engineers to achieve goals, such as readability, maintainability, and performance
Senior Software Engineer ▪ May 2015 - September 2016
- Ported sections of a monolithic application to a new REST API designed to aggregate user data and decision loan applications
- Launched a new product that enabled users to apply for a loan with a joint applicant. Extended our loan application REST API to handle joint applicants and modified the front-end to leverage the new capabilities
- Created a testing library to make it easier to write integration tests for our loan application REST API. The library powers an integration test suite of over 200 integration tests and is still used to author new integration tests
BlackRock ▪ Web Engineering ▪ San Francisco, CA ▪
https://www.blackrock.com
Web Development Engineer ▪ August 2008 - April 2015
- Developed a Java web framework that integrated with our content management system to drive our marketing websites. The framework was successfully used to launch over 20 production websites including blackrock.com
- Led an engineering team to successfully launch newly designed product pages. The product pages were implemented as a set of configurable components that were flexible enough to accommodate the unique data/regulatory needs of BlackRock's 1000+ funds marketed globally
- Developed a web dashboard that tracked historical build information for all our websites. The application aggregated the build information from 100+ application servers and was used by the entire department to monitor build changes in our many environments
Recent Achievements
- Certified AWS Solutions Architect ▪ December 2018
- Big Sur Marathon Finisher ▪ April 2018
Education
Bachelor of Applied Science, Honours Computer Engineering ▪ University of Waterloo ▪ Waterloo, ON, Canada ▪ April 2008
Languages
Java ▪ Python ▪ Bash ▪ PHP ▪ Kotlin ▪ SQL ▪ Javascript
Databases
MySQL ▪ Oracle ▪ Memcached ▪ Sybase
Production Support
Datadog ▪ Pagerduty ▪ ELK Stack ▪ Splunk ▪ New Relic ▪ Opsgenie
Infrastructure
AWS ▪ Linux ▪ Ubuntu ▪ systemd ▪ Puppet ▪ Terraform ▪ Packer ▪ Docker ▪ HAProxy ▪ Apache ▪ nginx
Tools
Jenkins ▪ Locust ▪ Git ▪ GitHub ▪ Maven ▪ Jira ▪ JMeter ▪ tmux ▪ JetBrains IDEs ▪ Vim ▪ JSON ▪ XML ▪ HTML
Frameworks and Libraries
Spring Boot ▪ Spring IoC ▪ Spring AOP ▪ Spring Data Repositories ▪ Jackson ▪ JPA 2 ▪ Hibernate ▪ JUnit ▪ Mockito ▪ Selenium ▪ FreeMarker ▪ Bootstrap ▪ Struts ▪ Tiles