Owen RL Smith – Curriculum Vitae
Curriculum Vitae
- Full Name:
- Owen RL Smith
- Contact:
- owen@orls.co.uk (Further details available upon request)
- Location:
- London, UK
- Nationality:
- British
Core Skills
- Strong in modern PHP (including some internals/extensions familiarity), Javascript (Node), Python.
- Knowledgeable in Go, C and Bash. Familiar with Ruby and Java. Flirtations with Scala and Rust.
- Front end development: Javascript, React, HTML, CSS.
- Unix/Linux use and administration.
- Development of multi-component service architectures (using REST, message queues, various RPC flavours, GraphQL)
- Relational DBs: MySQL, PostgreSQL, some PL/pgSQL exposure.
- Non-relational DBs: Elasticsearch, Redis, etcd.
- Nginx, HAProxy, DNS.
- Distributed-system components: RabbitMQ, Kafka, Mesos, Marathon, Kubernetes, HDFS.
- CI/CD and Automation: Docker, Jenkins, Chef, Ansible, Git.
Professional Experience
Sept 2011 – present: Lead Developer at DueDil Limited, London
Wearer of Many Hats. Progressed through several roles as lead developer, team lead and senior architect, shifting as needed during company growth from seed-stage startup to growth-stage enterprise SaaS.
Data Access Layer
Most recently I conceived, designed and led the development of a GraphQL schema and server (2017-2019):
- Instigated project to tackle persistent issues that arose from having multiple client applications using heterogeneous databases and services.
- Problems addressed include: code complexity and duplication, development speed, data presentation consistency, inefficiency, high cost of change and preparation for international data expansion.
- Led a small team to successfully implement the project, support migration and manage ongoing data evolution.
- Immediately successful as foundation for a new commercial API version – enabling one of the best combinations of time-to-market, ROI and low maintenance cost in the company’s product history.
- Tackled remaining performance challenges by iteratively developing novel GraphQL AST analysis techniques and a multi-pass control-graph execution engine, allowing targeted high-performance strategies when appropriate.
Development Efficiency
I continually supported other teams with utilities to assist feature development and developer productivity (2013-2019). Some examples include:
- Go-to team expert for debugging and cross-system triage.
- In-house Elasticsearch query-building abstraction library. A prelude to the GraphQL project, this isolated app layers from Elasticsearch specifics, allowing faster and safer data restructuring, smoother Elasticsearch version upgrades and significant performance gains.
- Various performance analysis and regression-testing tools: traffic replay, load simulations, head-to-head benchmarking of development branches, instrumentation and experimental-codepath execution.
- Reverse proxy utility to route webhooks to NAT’d developer environments.
- Caching systems for deep pagination of complex search workloads.
- Fast lightweight HTML-to-PDF conversion service (Node, PhantomJS), before chrome headless made it easy.
Data & Service Infrastructure
I contributed to several generations of infrastructure development (2012-2016):
- Spearheaded adoption of infrastructure automation (initially Chef).
- Built dynamic provisioning for first generation of data-processing infrastructure (Chef, AWS, Hadoop, HDFS, Spark), meeting rapidly evolving needs of new data-processing and machine-learning teams.
- Led adoption of docker for runtime services, developing and promoting effective best-practices.
- Developed microservice deployment atop Mesos/Marathon: defined in-house patterns and built management tools, load-balancing and service discovery via DNS (before it was cool).
Duedil.com Initial Development
I jointly led the rapid development of the duedil.com web platform (2011-2015):
- Evolved existing proof-of-concept beta codebase (custom PHP, monolithic) into initial commercial product release.
- Managed various iterations of web platform teams through substantial growth:
- Onboarded developers, defined in-house standards and practices, promoted testing culture and peer review.
- Managed team priorities in a fast-changing product development roadmap.
- Championed and instigated an incremental migration to modern community-adopted standards, framework and libraries (eg. symfony, composer).
- Designed and implemented a fine-grained feature access system with third-party payment integration. This empowered rapid change in the commercial model, including one-off purchases; pre-paid credit; multi-tiered personal subscription plans; and multi-user enterprise licensing.
- Led feature development for commercial features, internal prototypes and public promotional projects.
- Built bulk database import tools (Elasticsearch and PostgreSQL), in coordination with the new data-processing team.
- Implemented CI/CD system to automatically test and host active development branches for review, QA, demos and acceptance testing.
- Implemented semi-automatic (manual signoff) blue-green deployment system for production staging, testing, release and rollback.
June 2009 – Sept 2011: Senior Developer at OTHERmedia Limited, London
Progressed from Support Coordinator to Senior Developer at a mid-size digital agency.
Senior Developer: Responsible for backend web development for large public brands and e-commerce sites (30+ clients including Paul Smith, Jasper Conran, the Royal Collection, ECB, BAFTA).
- End-to-end new feature development for public events, product launches and e-commerce seasonal cycles.
- Ongoing maintenance of existing client web applications, including stock system integrations and PCI compliant transaction handling.
- Developed innovative caching and scaling enhancements atop existing legacy in-house Java framework.
- Led internal devops efforts and evangelized modern software engineering methodology.
Support Coordinator: Responsible for managing support and technical assistance processes.
- Handled day-to-day relationships with 20+ clients for 40+ sites and managed engineering team resource.
- Halved turnaround times and cleared backlogs, increasing customer satisfaction and facilitating contract renewals/upsells.
- Took on junior development role in the time freed up, later progressing to senior developer.
Education
London School of Economics and Political Science, Aldwych, London
1st Class BSc (Hons) in Government and History (Sept. 2004 — July 2007)
Interests and hobbies
- Electronics and microprocessor projects.
- Programming language design and compilers.
- Information visualization and cartography.
- Generative art, illustration and graphics.
- Music production, synthesis and audio processing.