Generalist software engineer
I'm a curious problem solver that has worked across all parts of the stack - from frontend development to DevOps / SRE work. I have experience with companies of all shapes and sizes - from bureaucratic behemoths to chaotic five-man startups.
I don't constrain myself to any particular technology or language, although I do have favourites (Python & Django, Terraform & Ansible, Linux & Docker). I like to solve real problems using pragmatic tools.
- DevOps practises:
- CI/CD pipelines & automated deployments
- Monitoring, alerting and uptime guarantees
- Infrastructure as code using Terraform & Ansible
- Application design - cloud migrations & scalable architecture
- Backend development:
- Fullstack development with Python & Django
- Microservices & HTTP API's using Node.js.
Work experienceLead infrastructure engineer - Ambrosus
May 1, 2018 - Feb. 1, 2019
I led the deployment of 120 Ambrosus nodes across three AWS regions. These nodes formed the backbone of Ambrosus network.
This was a challenging project as Ethereum-based networks are compute intensive and network hiccups cascade across all the nodes. All error detection and recovery procedures had to be automated to prevent network degradation.
- PoA network using Parity.
- Network resilience and failure recovery using AWS autoscaling groups.
- Monitoring and error detection using Prometheus & Grafana.
- Off-chain storage using Node.js and MongoDB.
March 1, 2018 - June 1, 2018
I set up the AWS infrastructure for Roomigo. Roomigo is a Dublin based flatsharing app.
- Elixir app on AWS EC2
- Postgres RDS as the database
- AWS VPC for network isolation and ALB as the reverse proxy.
Oct. 1, 2015 - March 1, 2018
I spent three great years at Contentful and developed many core API's and features.
- Architecture and the implementation of the component that powers the Developer Environments.
- Wrote the rate limiting layer with OpenResty and Redis.
- Designed and implemented the Upload API.
- Wrote the implementation behind the select operator which strips down responses for mobile clients.
- Wrote auxiliary services responsible for data aggregation and billing.
May 1, 2014 - July 1, 2015
I built a project which extracts and analyses metrics on source code. This was used to identify complex and problematic components in the Ericsson network infrastructure.
- Used Django as an API layer to expose software metrics.
- Used D3.js to visualize the metrics for end-users and to quickly identify problematic components.
- Wrote my thesis on how the number of contributors affect software quality.
Testing Cloudflare workers
Oct. 22, 2019
SEO friendly urls in Django
Aug. 15, 2019
Adding charts to Django admin
Aug. 9, 2019
Optimizing Postgres full text search in Django
June 12, 2019
Caching tricks with Cloudflare workers
June 11, 2019
Assigning the Etherium enode url
June 16, 2018
Extending Ansible with callback plugins
March 16, 2018
Securing a site with Letsencrypt, AWS and Terraform
March 29, 2018
Re-using existing ssh keys on Google Cloud
May 16, 2018
Encrypting secrets with AWS KMS
March 12, 2018