Personal details

Nick P. - Remote back-end developer

Nick P.

Based in: 🇬🇧 United Kingdom
Timezone: London (UTC+1)

Summary

I’m a senior back-end developer (Python, Go, DevOps and data pipelines) with broad experience and interests. I focus on, and most enjoy, chances to have a positive impact upon the world. I am familiar with scientific analysis, statistics, and processing sensitive medical image data from my PhD; financial concepts and tools from a small investment fund; the “developer experience” and platform responsibilities of a growing FinTech; and best-practices Python across a huge codebase managing millions of accounts. I particularly enjoy understanding the complete processes of an organisation, and I’m keen to learn new technologies and ways of working, design new systems, and impactfully improve existing ones.

Work Experience

Senior Backend Developer
Kraken Technologies / Octopus Energy | Jan 2023 - Present
Python
Django
API
PostgreSQL
Image Processing
Django Celery
GraphQL
Web App design

I work with API and Mobile teams to develop customer-focussed, robustly tested, high-quality features and performance improvements for mobile apps with over 2M monthly active users across international markets. Besides an inspiring commitment to helping the planet by accelerating our move to electrical power, Kraken and Octopus have a fantastic culture of rigorous testing and review, fast-paced development and continuous releases.

·       Developed Python, Django, REST and GraphQL APIs across a massive codebase.

·       Designed and created a “backend-driven UI” API, powering dynamic content accessed over 2M times/month – a highly visible, customer-facing feature delivered to tight deadlines for marketing, requiring strong attention to detail.

·       Worked with Celery jobs to improve speed and database efficiency

·       PostgreSQL including model design and efficient queries

·       Helped design the architecture of complex API interactions with third parties, for example to debug performance issues.

·       Collaborated with API and app developers, designers, and marketing to improve customer experiences.

·       Several side-projects, including with image processing and machine learning (PyTorch) to help improve the efficiency of operations tasks.

Back-End Engineer, Developer Experience
Thought Machine | May 2019 - Jul 2022
Python
Git
API
PostgreSQL
GitHub
Test driven development
Leadership
Developer Tools
Grafana
Prometheus
CI/CD
Go (Golang)
Grpc/protobuf

Part of an infrastructure team managing the build, CI/CD, testing and code review and repository systems which enable over 300 developers to reliably, securely and efficiently get their code into production.

·       Designed and deployed distributed microservices in Go and Python to cloud environments (GCP/AWS) using “infrastructure as code” with Docker, Kubernetes, Terraform and Bash.

·       Leading projects, I’ve researched, scoped, planned, subdivided and delegated work; written designs, and overseen progress and coordinated delivery to deadlines.

·       Revamped a test analysis system to give developers insight into test duration and “flakiness”, storing millions of test results per day in an efficient Postgres DB.

·       Lead, Python Working Group (1y): steered a team of 7, devoting 20% time to managing our toolchain, code, and libraries.

·       CI/CD: Designed improvements to our custom system to efficiently build a large monorepo, and automate deployments. Added automated error detection, Kibana integration, Slack alerts.

·       Helped design and implement a service tracking and upgrading third-party dependencies.

·       Wrote E2E tests to allow automatic promotion from development environments to production.

·       APIs: Designed and implemented RESTful endpoints, gRPC protobufs and HTTP servers, for communication between internal microservices and tools; and for users e.g., to query CI builds based upon status.

·       Monitored services using logging, Prometheus, Grafana dashboards and ChatOps to notify developers of problems.

·       Team responsibilities include regular code review, design documentation, strategic planning; interviewing; mentoring new hires; delivering tutorials; a regular on-call support rota, raising incidents when necessary.

Education

University College London
Doctor's degreeMedical & Biomedical Imaging
Nov 2012 - Sep 2016
Imperial College London
Master's degreeBioengineering with Medical Physics
Sep 2009 - Sep 2011