Skip to content
View maelvls's full-sized avatar

Sponsoring

@gnachman

Organizations

@jetstack @touist @cert-manager
Block or Report

Block or report maelvls

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
maelvls/README.md

Hi! My name is Maël (prononciation). I am a software engineer living in Toulouse (France). I like to promote psychological safety through transparency, empathy and kindness. I do infrastructure software around networking and containers. After multiple technically successful projects and the realization that no user was using them, I started shifting from building software to helping out figure whether building or not building, and I discovered that "product management" is the role that fits this description.

You may read about me digging into networking, Go development, and Kubernetes on my blog.

Some of my contributions: cert-manager (Go), gitlab (Ruby), boost-graph (C++), auto-multiple-choice (C++, Perl), kubernetes-sigs/kind and kubernetes-sigs/cluster-api (Go), ocaml-minisatocaml-qbf, ocamlyices2opam (OCaml). I authored homebrew-amctouist (OCaml) and a couple of vscode-extensions.

🔰 Curriculum & contact information

System Software Engineer at Jetstack (2021–present)

I joined the cert-manager team at Jetstack.

As part of the cert-manager core team, I mentored new contributors into merging their first pull request. During my mandate as a release lead of cert-manager, I worked on moving away from Bazel in order to reduce the friction new contributors were feeling when getting started. I worked with sig-network on the Gateway API integration in cert-manager, as well as on making the ingress resource documentation clearer for ingress controller implementors and ingress users alike.

Along with the open-source work, I contributed to Jetstack's enterprise offering, and led an effort towards customer success via lean product practices.

System Software Engineer at Ori Industries (2019–2020)

As a Software Engineer at Ori Industries, my main focus was to develop an edge-aware version of Cloud Foundry. Telcos would use this infrastructure platform to leverage its low-latency last-mile 5G network. With this platform, they can sell compute time to developers with a network latency of 1-2 ms, acting as a public cloud provider of their own.

As an individual contributor, I helped shape the Kubernetes components that would make up the Ori infrastructure platform. Among others, my team built a Kubernetes native API for spinning up VMs on AWS, GCP, and OpenStack and bootstrap them into Kubernetes clusters. I also worked on a custom control plane for Envoy (our platform’s data plane) inspired by Istio. I contributed to the company’s initial REST API built-in Go that used a CQRS approach and NATS for the event persistence. My main achievement as an individual contributor has been to become the go-to person anyone would come to regarding Kubernetes controllers as well as for debugging Kubernetes and network-related issues.

After a few months, I stepped up as tech lead in a team of four people. I would run the daily standups, make sure the backlog is in good shape, work with the Product Manager to flesh out stories, point the stories with the team, run a biweekly retro meeting (we ended up working in an uninterrupted sprint). Notable achievements are the “project office hours” I started; the meeting increased the cross-team communication through demos and open discussions about anything more or less related to my team’s project.

Beyond my primary assignment, I also worked with the rest of the company on topics such as

  • Helped grow the remote-first culture thought experiments such as the “wormhole” and by pushing for better video call quality (more than 70% of the company now equipped with proper standalone mics such as the Blue Yeti). A blog post about my experience of remote work is published here.
  • I initiated a movement towards transparency across the company that led to a rewrite of the “values” page. We started recording meetings and creating, for each meeting, a shared document with an agenda and collaboratively-written minutes.
  • Contributed to the company knowledge base on various topics such as “the git guide,” “slack etiquette,” and “recording and sharing meetings.”
  • Attended all weekly meetings of sig-cluster-lifecycle to keep the company up to date with upstream developments as well as advocate for our solution; contributions: kubernetes-sigs/kind, kubernetes-sigs/cluster-api
  • I helped develop a self-learning program where each engineer spends 20% of their time training on various topics. I authored a couple of blog posts and proposed learning topics engineers would pick during their training (mainly around Kubernetes controllers, networking, and Linux-y things).
  • I authored the technical test given to applicants and was part of the technical interviews.
  • I wrote multiple internal kubectl plugins for interacting with our custom resources and a tool for monitoring and removing unused VMs on OpenStack, AWS, and GCP.
  • I authored ngroker, a tool we used at Ori for running a shared ssh session without the hassle of exchanging ssh keys (using Github usernames).
  • I wrote an interactive ChatOps bot using Github Actions for applying Terraform changes through PRs.

Tools used: Go, Kubernetes, Github Actions, Helm, Terraform, AWS, GCP, OpenStack, Agile.

Fullstack Software Engineer contracted to La Banque Postale (2019)

As part of a network operations team, I built a web application meant to become a self-updating repository of IP assignments (as opposed to using Excel sheets), which helps the operations team plan and execute fail-overs.

Tools used: Java, Spring Boot, Typescript, Angular 2+, NgRx.

Systems Software Engineer contracted to Orange (2018)

As part of an operations team, I built a Terraform plugin in Go for a private cloud used within Orange (mainly interacting with VMWare vRA 7 APIs). I also worked on the continuous testing and delivery of Docker images used by application teams across the company.

Tools used: Go, Terraform, Gitlab CI, Bash, VMWare vRA 7.

Education

Ph.D. in Computer Science (2016–2018)

I developed touist, a compiler written in OCaml for a new logic language meant to formalize and solve problems expressed as SAT expressions. The tool is now used to teach logic to first-year students at Université Paul Sabatier in Toulouse and is used by researchers to explore new SAT encodings; see the thesis (in French).

As part of my PhD, I also helped develop a web application serving as a frontend to the compiler written in VueJS and Rust; we deployed it through Docker images built by Travis CI and run using AWS ECS.

Tools used: OCaml, Rust, Typescript, AWS ECS, Travis CI.

Contact details

Pinned

  1. cert-manager/cert-manager cert-manager/cert-manager Public

    Automatically provision and manage TLS certificates in Kubernetes

    Go 11.5k 2k

  2. cert-manager/print-your-cert cert-manager/print-your-cert Public

    Get your certificate printed at the cert-manager booth at KubeCon EU 2024 in Paris!

    Go 5 6

  3. hudevto hudevto Public

    🧵 Push your Hugo posts to your dev.to account!

    Go 9

  4. kubectl-incluster kubectl-incluster Public

    📜 A kubectl plugin that prints a valid token-based kubeconfig you can use to run kubectl and controllers out-of-cluster for debugging purposes

    Go 6

  5. touist/touist touist/touist Public

    TouIST, the IDE & Language for Logic (backed by SAT, SMT and QBF solvers)

    OCaml 65 12