Summary

Product-focused software developer and technical leader. I endeavour to always focus on the end user(s) and ensure my team and I are building products that solve real problems. I take a risk-reduction approach to technical design: focusing on producing the simplest solution to a problem and building up from there. I enjoy working at all stages of a project, but find the discovery and validation stages to be particularly interesting: engaging with prospective users, validating concepts and establishing tight feedback loops.

Stack

Languages

PythonTypeScript/JavaScriptDartJavaC++

Backend

DjangoFlaskNode/ExpressPostgresqlSequelizeRabbitMQCeleryElasticsearchNGINX

Infrastructure

DockerKubernetesTerraformGKEEKSEC2RDSCloudFrontAWS IoTIAMLambdaS3Route53

Frontend

EmberAngularJSFlutterSass/SCSS

Recent Roles

VP Engineering / Curv Health

March 2020 - Present / Halifax, NS

This is a people and technical management role. I review pull requests, contribute to the design of each service and the overall system and provide mentorship and goal-setting to members of the development team. I work with the business/design side of the company to shape feature ideas into appropriately-detailed and scoped tickets. When needed, I draw on my background in UX design to help guide the product design process.

My management style is collaborative. I'm not a fan of edicts and, as someone whose experience is largely as an individual contributor, I'm well aware of the fact that those writing the code often have the best visibility into how best to approach a problem. My role is to connect the dots and make sure all members of the team are working with enough context. This could manifest as anything from coordinating discussions around API contracts to conveying the design team's intent when it hasn't been made explicit in the docs.

I try to keep my hands in the code a bit, in order to remain up-to-date. Mainly, this means tackling non-blocking features or minor bug fixes. Occasionally, I will work on a prototype to validate a technical concept. I also handle most of the infrastructure work.

Senior Software Developer / Curv Health

Sept 2019 - March 2020 / Halifax, NS

I worked on designing and developing the platform for Curv’s movement analysis product, including the architecture of the overall system and individual services. This covered a broad range of tools and techniques, from C4 diagrams for describing architecture and data flows to Terraform and Kubernetes for infrastructure to Flask and Express for web services. I conducted code reviews and provided mentorship to junior developers on the team.

Senior Software Developer / ​Osprey Informatics

Dec 2014 - Aug 2019 / Remote

Worked on every aspect of the Osprey Reach remote monitoring platform, from the Django-based backend and REST API, to the AngularJS and Ember frontends, to the edge video processing device. For a few years, I divided my time between software development and UX design/user testing. I built a number of early prototypes which went on to become core features of the product and consistently pushed the team toward a more user-focused, iterative workflow.

Creative Technologist / ​Freelance

Apr 2013 - Dec 2014 / Calgary, AB

Developed a number of independent projects, including a now-defunct subscription service for creators (a la Patreon), a pair of award-winning gesture-based applications for Intel's RealSense Developer Challenge, and a number of tech/art pieces exploring passive WiFi tracking as a tool for mapping social networks. During this period, I spoke at a couple of conferences on the subjects of indoor positioning systems and on principles of interactive art.

Tech Director / ​Globacore Interactive Technologies

Jan 2012 - Feb 2013 / Toronto, ON

Provided technical leadership and managed a team of six developers in a fast-paced environment, producing interactive exhibits for events. This often involved taking new projects from concept to deployment in a matter of weeks (deployment in this case meaning installing a 12-foot-wide touchscreen on a street corner in downtown Austin, for example), which necessitated a different approach to project management and team structure than one typically finds in software companies.

Education

Certificate in User Experience (Interaction Design Specialty) / ​Nielsen Norman Group

2018 / Vancouver, BC

Bachelor of Fine Arts (New Media) / Ryerson University

2008 / Toronto, ON