RESTful and gRPC APIs development using Java + Spring and Go • infrastructure as code using Terraform • application containerisation using Docker, Kubernetes and ECS • automated testing methods and processes (TDD) • service mesh using Linkerd • CI/CD using Jenkins, Go CD and GitHub Actions • AWS (EC2, S3, ECS, EKS, RDS and others) • Google Cloud (Cloud Run, Cloud Functions, GCS, Firestore, BigQuery and others) • microservice architectures and distributed systems • NoSQL (MongoDB, DynamoDB and Firestore) • database design, optimisation and SQL querying • heuristic optimisation algorithms such as GA and ACO
Built an API and algorithm for generating and finding hikes in various countries across Europe. Hikes are generated using a heuristic algorithm (Ant Colony Optimization) built in Go, matching the user criteria (duration, steepness and starting point), prioritising pretty trails (nice viewpoints, waterfalls, etc.) and avoiding bad trails (industry, airports, etc.).
It has not yet been publicly launched. I work on this in my spare time and for a few months each year in between contracts.
Worked as a contractor through my own software consultancy company. Latest clients and projects (detailed information will be provided upon request):
Promoted to oversee the technology department, reporting to COO & Co-Founder.
Provided technical direction to up to 4 squads and 20 engineers • Improved observability and alerting with Prometheus, Alertmanager and Grafana • Managed a Kubernetes (K8s) cluster running on AWS EKS • Introduced, used and managed a Kafka cluster • Service mesh with Linkerd 2.0 • CI/CD with Jenkins 2 and GitHub Actions
Joined as the second engineer, responsible for all backend and infrastructure.
Designed systems architecture consisting of 10 web services • Introduced DevOps processes and practices to ensure team consistently delivered high-quality software • Developed RESTful and gRPC web APIs with Java + Spring and Go • Data persistence in PostgreSQL and DynamoDB • Database design, optimisation and SQL querying • Test Driven Development (TDD) • Infrastructure as Code with Terraform • Containerisation with Docker and AWS ECS • Service mesh with Linkerd • CI/CD with Jenkins 2
Organised monthly meetups about microservices and distributed systems. The meetup had about 5,000 members and events attract between 90 and 120 attendees. I supported speakers to source and refine ideas as well as providing guidance on individual presentations.
Lead a team of a total of 6 developers • Designed systems architecture consisting of 7 microservices • Introduced processes and standards to ensure team consistently delivered high-quality software • Implemented different types of tools to ensure service management could monitor systems, get accidents alerts and do some basic troubleshooting in case of accidents • Developed RESTful Scala web services with Spray • Front end development in AngularJS 1 • Data persistence in NoSQL database (MongoDB) • Caching in Redis • Test Driven Development (TDD) • Continuous deployment with Go CD and configuration management with Chef
Development of Mylo, a mobile and web app for house sharers to manage bills online.
Developed RESTful Java web services with Dropwizard (Jetty + Jersey + Jackson) and Spring • Highly scalable Akka actor system (built in Scala) to fetch information from different third parties • Data persistence in SQL database (MySQL) • Test Driven Development (TDD) • Continuous integration with Jenkins and configuration management with Chef
Joined as the second engineer. Development of My Ovo 2.0, the new OVO Energy customer portal. Worked under very tight deadlines to ensure go-live before 100,000 customers needed to renew the contract. Doubled the renewals conversion and halved the renewals propensity to contact.
Developed RESTful Java web services with Dropwizard (Jetty + Jersey + Jackson) and Spring • Data persistence in NoSQL database (MongoDB) • Test Driven Development (TDD) • Communication with third party system through SOAP, with caching strategies due to system slowness • Continuous integration with Jenkins and configuration management with Chef
Development of the social bingo website m8tsbingo.com (acquired by Bingo Palace) • Development of a genetic algorithm to create the schedule for networking events organized by The Meeting Space (www.themeetingsspace.com) • Development of an app for iPhone, iPad, Android and BlackBerry using Cordova (formerly PhoneGap)
Development of the A.S. Watson HR extranet • Development of the Wire Mesh Fabrications e-commerce website wiremeshfabs.co.uk • Development of a custom PHP CMS used across several teams • Support to dozens of existing websites including shots.net, minttwist.com, kaba.ch, cbre.co.uk, plan-itinteriors.com and about 25 others
Development of software for the interpretation and graphical visualization of a log file. The software is able to read a lift log file and reproduce graphically its movements (as well as doors, lights, buttons, displays etc.) • Development of a software to customise audio ads used when the elevator reaches a floor • Used Java for all the software development.
University of Oxford (Oxford, United Kingdom)
January 2012 - December 2017 (part-time)
Distinction
SUPSI (Manno, Switzerland)
September 2007 - September 2010
Average grade of 93.6%
SPAI (Locarno, Switzerland)
September 2003 - August 2007
Best apprenticeship project in Switzerland