Summary
Overview
Work History
Education
Languages
SELF-TAUGHT SKILLS AND PERSONAL PROJECTS
Timeline
Generic

Michiel Boekhoff

Nottingham

Summary

My passion has always been software engineering. I have been coding since I was 13 and realised quickly that this was what I wanted to do. During all of these years, I've settled into a mix of a back-end software engineer and a platform engineer using public cloud.

Overview

9
9
years of professional experience

Work History

Contractor

Tide Through 101 Ways
08.2023 - 10.2023
  • Developed business-critical services in Java to facilitate fraud prevention.
  • Helped to introduce more cohesive forms of tests to ensure functionality functioned as expected.
  • Supported a large-scale migration from an old, legacy stack to a new reference architecture.

Contractor

Attest Through 101 Ways
01.2023 - 08.2023
  • Led the build of an entirely new business vertical (video surveys).
  • Developed Go microservices deployed on AWS EKS using state-of-the-art technology like Kafka & Linkerd.
  • Pushed for BDD.
  • Worked to secure access to crucial PII.

Contractor

Atos
07.2022 - 01.2023
  • Worked as an infrastructure engineer specialist within the company on various projects.
  • Handled AWS, GCP & Azure infrastructure.
  • Acted as a consultant within the enterprise to deliver scalable, maintainable solutions.
  • Created serverless functions in Go using AWS Lambda & Azure Functions.
  • Wrote microservices in Kotlin and Go.

Contractor

Attest Through 101 Ways
02.2022 - 07.2022
  • Led a team of three to expand the audience reach across new markets.
  • Developed Java 18 & Spring Boot, and Go microservices deployed on AWS EKS.
  • Used Kafka to decouple services from their upstream event producers.
  • Used DynamoDB as a NoSQL database.
  • Helped to implement service-level tests.
  • Pushed for contract tests using Pact.
  • Helped migrate to GitHub Actions from Jenkins.

Contractor

Marshmallow
09.2021 - 02.2022
  • Helped expand the business by designing and developing a home insurance product.
  • Developed Java 17 & Spring Boot microservices deployed on AWS.
  • Led the initiative for the business to employ contract testing using Pact to verify cross-service interoperability.
  • Helped build the AWS infrastructure for this product, using Terraform and deployed as part of a Jenkins CI pipeline.
  • Helped the business migrate to mainline development from Gitflow.

Contractor

Sky
03.2021 - 09.2021
  • Worked to develop large-scale, customer-facing services in Scala.
  • Helped to develop and made recommendations to migrate to a modern tech stack with Kubernetes.
  • Helped to develop and improve pipelines and continuous delivery.
  • Helped mentor junior developers.
  • Pushed for fixing tech debt and deployment setup, such as automated secrets deployment & management.
  • Contributed to an application by being responsible for my team’s changes by volunteering to help pipeline reliability.

Contractor

Truphone
12.2020 - 03.2021
  • Responsible for architecting and developing a new way of delivering mobile phone data usage to business customers.
  • Owning several microservices written in Java using Spring Boot and some Go.
  • Designing and testing high-performance solutions, particularly using Apache Kafka and AWS-managed services.
  • Responsible for setting and recommending new, best practices for the business and for cross-functional teams.
  • Pushing for better-supporting infrastructure to aid application delivery, such as service mesh.

Contractor

Keysight
07.2020 - 12.2020
  • Responsible for setting up and maintaining all infrastructure, both internal and customer-facing, particularly Kubernetes clusters using Kubespray and EKS clusters using Terraform.
  • Set up a GitOps workflow using the Flux Kubernetes operator & ArgoCD.
  • Set up and managed a private cloud using OpenStack.
  • Automated the deployment of a PaaS solution to end customers using Terraform, Ansible, Kustomize and Go.
  • Set up & managed automatic certificate provisioning using cert-manager.
  • Implemented a secrets solution with Vault, including automated credentials rotation.
  • Facilitated the migration from a traditional reverse proxy to an API gateway using Kong.
  • Helped implement progressive rollout using Flagger.
  • Set up a service mesh using Istio.
  • Wrote microservices in Go to elegantly solve architectural problems.
  • Managed various Ceph clusters.
  • Helped debug various network issues, for example, issues with OpenStack & on-prem networking hardware.

Contractor

Sky
10.2019 - 07.2020
  • As a Java Developer, I helped develop several microservices in Java (8 & 11) and Scala
  • Helped educate people about reactive architecture (mainly using Micronaut and ReactiveX)
  • Aided the migration from on-prem VMs to GCP.
  • Designed and developed a new container repository solution using GCR.
  • Implemented several Kubernetes plugins (admission webhooks and operators mainly) in Go to help with business-specific use cases.
  • Helped implement a GitOps approach by championing technologies such as sealed secrets, Flux, Istio & Flagger.
  • Aided in the migration from manual Pact contract testing to using Pact Broker.
  • Helped migrate from Kubernetes 1.10 to 1.16.
  • Paired with key team members to disseminate knowledge of technologies; practised XP.
  • Helped to instil a culture of TDD in Go.
  • Improved service resiliency on several fronts by leveraging cloud-native and Kubernetes best practices.
  • Aided in the migration away from Oracle 12c to other database solutions (including but not limited to PostgreSQL, and MongoDB)

Contractor

Oddschecker
04.2019 - 08.2019
  • Worked for a comparison site for bets from different
  • Bookmakers, as part of a complete redevelopment of their platform.
  • Worked as part of an Agile (Kanban) team, developing microservices that were deployed on Kubernetes using Helm.
  • Used Java 11, Spring Boot and Camel to create, from scratch, a generic system that would ingest large quantities of data from bookmaker APIs.
  • Helped improve the existing infrastructure to use Python 3 and pioneered concurrent pipelines on GitLab CI within the company.
  • Set up alerting and monitoring using Grafana, powered by Prometheus.
  • Created a Camel test slice usable with JUnit 5, unlike the official Camel test support.
  • Championed the use of tools like Telepresence to aid in the debugging and testing of our services.
  • Gained experience using the Google Cloud Platform during this time; both professionally and personally at home.
  • Did a lot of pair programming and mentoring of other developers.
  • Developed Python microservices using Flask

Contractor

OpenCredo
01.2019 - 03.2019
  • Worked for a challenger bank based in London through OpenCredo, as part of developing an online bank platform as a service.
  • Worked as part of an Agile (Scrum) team to develop and maintain the suite of customer origination and management services.
  • Used Java 8 - 11 and Spring Boot to develop, using TDD, microservices deployed on EKS (Kubernetes) with a service mesh (Linkerd 1.x). Similarly maintained said services including all ops needs, which included exposing our apps through Apigee.
  • Used Terraform to write infrastructure as code.
  • Used Kafka as a pub-sub messaging system.
  • Used Avro as a standard, binary communication protocol over Kafka.
  • Helped migrate from AWS DynamoDB to the more relational CockroachDB.
  • Used Swagger extensively to document our APIs.
  • Migrated some services over to Kotlin.

Full Stack Engineer

BJSS
08.2018 - 01.2019
  • Responsible for working on different projects with different clients as a full-stack engineer, all within an Agile (Scrum) environment, including industry leaders in finance and construction supplies.
  • Worked with cloud technologies and various deployment models, in order to accelerate business growth.
  • Used Java 8 and TDD to develop a payment platform for one of the biggest builders merchants in the UK. Included developing a RESTful JSON API, and a Bootstrap & jQuery based, ES6 front-end library.
  • Helped refine the deployment strategy with Terraform & Ansible.
  • Integrated the payment platform with a third-party payment provider, who exposed a SOAP API, using Apache Camel.
  • Gained AWS DevOps Professional (included CloudFormation experience) & Certified Azure Developer certifications.
  • Practiced TDD using JUnit, Mockito and Spring Test. Also in charge of developing end-to-end and performance (Gatling) tests.
  • Integrated our components using an off-the-shelf message bus, using JMS.
  • Wrote open-source TypeScript code (on GitHub).
  • Experimented, in my own time, with Kubernetes, in particular setting up a production-grade, high availability Kubernetes cluster, setting up a service mesh with Istio and developing applications for Kubernetes.
  • Created Python APIs using Flask

DevSecOps Engineer

Experian ECS
08.2017 - 08.2018
  • Acted as the DevSecOps engineer for our domain.
  • Responsible for creating and maintaining a suite of RESTful, JSON-producing microservices and creating new consumer-facing products in Java (8+).
  • Used both Maven and Gradle.
  • Part of an Agile (Scrum) team.
  • Championed a CICD (TravisCI) pipeline and several integrations into our workflow, including SonarQube for quality analysis and Veracode for security vulnerabilities.
  • Held the title of security champion in charge of maintaining the security of our service suite.
  • Responsible for extending and maintaining legacy systems written in Python 2 and Java, including some Ruby, Perl and Bash.
  • Wrote utility scripts in Python 3.
  • Pushed for the containerization of services to make deployment less error-prone.
  • Wrote tools to benefit developer productivity in Ruby.
  • In my spare time, acquired knowledge of popular cluster management tools and deployment strategies, such as Kubernetes and automated deployments using Forge. Also contributed to several Ruby projects on GitHub.
  • Practised TDD/BDD using Spock, Mockito, JUnit 5 and Spring Test.
  • Implemented caching using Spring and Redis.
  • Used Redis as a low-latency KV store.
  • Refactored security proxy, written in NodeJS, into testable, extensible ES6 code.
  • Integrated with many cloud services such as SQS, SNS, Lambda and S3.
  • Was the engineer on a cross-functional team that pioneered the use of Apigee to expose our APIs to selected partners.
  • Skills acquired: large-scale microservice architecture, contract testing (Pact), Docker, furthered coding standards, deployment in a large-scale, distributed environment, maintenance of legacy components both in Python and Java and contributing to large projects (both internal and open-source).

Full Stack Engineer

Marks Electrical Ltd
01.2017 - 08.2017
  • Developed a critical, fault-tolerant in-house management system for stock, sales orders and pricing using Scala and Java (8), also some Ruby as a full-stack engineer.
  • TDD was a large part of the culture.
  • Responsible for the infrastructure of this new service.
  • Maintained forks of open-source projects for internal use.
  • Helped migrate critical components of the website to a new, serverless architecture in Java.
  • Maintained most of the new infrastructure, which was built on EC2 and ECS (running on Docker containers).
  • Skills acquired; Scala, C#, .NET Core, Ruby, React, Redux, CQRS, AWS Lambda, EC2, functional programming paradigms, Docker, Agile.

Full Stack Engineer

Mindera
09.2016 - 12.2016
  • Developed high-performance applications in Java for various companies, primarily Appscatter.
  • Skills acquired; collaboration with international teams, Java knowledge, self-management and the deployment cycle of high-performance applications, TDD, Agile.

Full Stack Engineer

TeachClub
09.2015 - 09.2016
  • Supported & extended legacy CodeIgniter (PHP) application.
  • Following deprecation, developed full front-end (Ember.js) and back-end (Ruby on Rails) for an educational platform to connect tutors to students for educational support.
  • Skills acquired; CodeIgniter, leadership, organisation, communication, work flow, BDD and Ruby (on Rails).

Tutor

College
07.2014 - 03.2016
  • Tutored students in Maths, Physics, Chemistry, Spanish and IT, at Spinoza Lyceum (equivalent of college).
  • Skills acquired; patience, problem solving, adapting to different teaching methods, and communication with both colleagues and students.

Software Engineer

First Center Publishing BV
07.2014 - 02.2015
  • Supported internal CRM/CMS in PHP and mitigated several important security vulnerabilities, including but not limited to SQL injections, weak hash algorithms and some XSS.
  • Full front-end (Ember.js, Angular, CoffeeScript, jQuery) and back-end (Ruby on Rails) development of a web application with the purpose of integrating a new workflow and to
    ease communication between graphical designers, publishers and editorial staff
  • Wrote code in Java
  • System administrator for Mac OS X & Debian servers (Apache, nginx), performing maintenance during system outages and setting up deployment environments.
  • Integrated features of the new workflow into a desktop application (Qt, Objective-C, C).
  • Skills acquired; communication with stakeholders, independent working, project management, time management for deadlines, TDD and Ruby (on Rails).

Education

Alevels -

Spinoza Lyceum
Peter Van Anrooystraat 8, 1076 BH, Amsterdam
2014

Languages

Dutch
Native language
Dutch
Proficient
C2
English
Proficient
C2
Spanish
Upper intermediate
B2

SELF-TAUGHT SKILLS AND PERSONAL PROJECTS

  • Used automation (Terraform and Ansible, mainly) to set up private Kubernetes clusters, utilising Istio as a service mesh and GoCD as the continuous integration system on GCP.
  • Made some functions with the Fn framework as a vendor-agnostic serverless (FaaS, to be precise) provider.
  • Experimented with Knative to implement serverless on Kubernetes.
  • Experimented with GraalVM to AoT compile Java applications to an executable.
  • Developed and deployed Go applications onto Kubernetes
  • Used Chaos Monkey to do resiliency testing on private cluster.
  • Used Envoy, which is the data plane provided by Istio, to implement several approaches to bolster service resiliency (think circuit breaker & retries).
  • Tinkered with newer versions of Gradle, optimising it to see how fast it could be, particularly for multi-module projects.
  • Implemented a GitOps workflow using Flux, Flagger and sealed secrets, with automated canary roll-outs.

Timeline

Contractor

Tide Through 101 Ways
08.2023 - 10.2023

Contractor

Attest Through 101 Ways
01.2023 - 08.2023

Contractor

Atos
07.2022 - 01.2023

Contractor

Attest Through 101 Ways
02.2022 - 07.2022

Contractor

Marshmallow
09.2021 - 02.2022

Contractor

Sky
03.2021 - 09.2021

Contractor

Truphone
12.2020 - 03.2021

Contractor

Keysight
07.2020 - 12.2020

Contractor

Sky
10.2019 - 07.2020

Contractor

Oddschecker
04.2019 - 08.2019

Contractor

OpenCredo
01.2019 - 03.2019

Full Stack Engineer

BJSS
08.2018 - 01.2019

DevSecOps Engineer

Experian ECS
08.2017 - 08.2018

Full Stack Engineer

Marks Electrical Ltd
01.2017 - 08.2017

Full Stack Engineer

Mindera
09.2016 - 12.2016

Full Stack Engineer

TeachClub
09.2015 - 09.2016

Tutor

College
07.2014 - 03.2016

Software Engineer

First Center Publishing BV
07.2014 - 02.2015

Alevels -

Spinoza Lyceum
Michiel Boekhoff