cv/main.typ

211 lines
8.2 KiB
Typst

#import "@preview/basic-resume:0.2.3": *
#let name = "Felix Schröter"
#let location = "Lüneburg, Germany"
#let email = "dev@felschr.com"
#let github = "github.com/felschr"
#let linkedin = "linkedin.com/in/schroeter"
#let personal-site = "felschr.com"
#show: resume.with(
author: name,
location: location,
email: email,
github: github,
linkedin: linkedin,
personal-site: personal-site,
accent-color: "#26428b",
font: "New Computer Modern",
paper: "a4",
author-position: left,
personal-info-position: left,
)
== Work Experience
#work(
title: "Senior Software Engineer & Tech Lead",
location: "Hamburg, Germany",
company: "upsquared GmbH",
dates: dates-helper(start-date: "Jun 2024", end-date: "Present"),
)
- Leading Cloud-native Development, Infrastructure & DevOps solutions
- Main technologies: Rust, Nix, Kubernetes, OpenTofu, TypeScript, React, Next.js, MongoDB, GitLab CI, GCP
- Onboarding, mentorship & technical leadership of new team of engineers
#work(
title: "Senior Software Engineer",
location: "Hamburg, Germany",
company: "upsquared GmbH",
dates: dates-helper(start-date: "Oct 2019", end-date: "May 2024"),
)
- Full-Stack Architecture, Development, Infrastructure & DevOps for Cloud-native solutions
- Main technologies: C\#, Rust, Nix, Kubernetes, Terraform / OpenTofu, React, MongoDB, GitLab CI, GCP
- Adopted Nix for reproducible builds & environments used both locally for development and for CI/CD
- Expanded Observability using Sentry and integrations with Rust, C\#, React & Google Kubernetes Engine (GKE)
- Adopted Rust as core part of our tech stack due to its strong type system, excellent tooling, safety & performance
- Established reference architecture using Rust, Google Cloud Run, MongoDB Atlas, Nix & GitLab CI with scalability and evolution from monolith to microservices in mind
#work(
title: "Senior Software Engineer",
location: "Hamburg, Germany",
company: "Digital Spring, Dirk Solbach",
dates: dates-helper(start-date: "Apr 2019", end-date: "Sep 2019"),
)
- Full-Stack Architecture, Development, Infrastructure & DevOps for Cloud-native solutions
- Main technologies: C\#, ASP.NET Core, TypeScript, Service Fabric, Cosmos DB, Azure, AWS
#work(
title: "Software Engineer",
location: "Hamburg, Germany",
company: "Digital Spring, Dirk Solbach",
dates: dates-helper(start-date: "Oct 2016", end-date: "Mar 2019"),
)
- Full-Stack Development, Infrastructure & DevOps for Cloud-native solutions
- Main technologies: C\#, ASP.NET Core, TypeScript, Service Fabric, Cosmos DB, Azure, AWS
- Created a microservice-based backend with ASP.NET Core & Azure Cosmos DB
- Implemented frontends in React & Angular for different projects
- Built serverless backends for various client projects with AWS Lambda, DynamoDB & Serverless framework
- Migrated Windows containers to Linux containers to improve performance
- Migrated from Azure Service Fabric to Kubernetes for container orchestration
#work(
title: "Software Engineer",
location: "Lüneburg, Germany",
company: "Werum IT Solutions GmbH (now Körber Pharma Software GmbH)",
dates: dates-helper(start-date: "Jun 2015", end-date: "Sep 2016"),
)
- DCS/PCS and ERP interface development with .NET and PL/SQL
#work(
title: "Trainee, Software Engineering",
location: "Lüneburg, Germany",
company: "Werum IT Solutions GmbH (now Körber Pharma Software GmbH)",
dates: dates-helper(start-date: "Aug 2012", end-date: "Jun 2015"),
)
- Process automation (DCS/PCS) interface development with .NET
== Education
#edu(
institution: "University of Colorado Boulder",
location: "Boulder, Colorado, USA",
dates: dates-helper(start-date: "May 2024", end-date: "Present"),
degree: "Master of Science in Computer Science",
)
- Relevant Coursework: Data Structures and Algorithms, Software Architecture for Big Data, Network Systems
#edu(
institution: "Berufsbildende Schulen I Lüneburg",
location: "Lüneburg, Germany",
dates: dates-helper(start-date: "Aug 2012", end-date: "Jun 2015"),
degree: "Computer Science Expert in Software Development",
)
== Projects
#project(
name: "NixOS Config & Homelab",
dates: dates-helper(start-date: "Aug 2019", end-date: "Present"),
url: "codeberg.org/felschr/nixos-config",
)
- Maintaining my personal & work computers as well as a homelab via a declarative NixOS configuration
- I self-host various services for single sign-On (SSO), home automation, git forge, build server & more
#project(
name: "Pheno-Inspect Plant Analyzer Web",
dates: dates-helper(start-date: "Jan 2022", end-date: "Jun 2024"),
url: "youtu.be/JMkj8vP0eJw",
)
- Client project associated with upsquared GmbH
- Developed a web-based frontend for Pheno-Inspect's Digital Phenotyping platform powered by Computer Vision
- Large drone images can be rendered & annotated efficiently with pixel-perfect accuracy
- Main technologies: Next.js, Redux, MUI, fp-ts, OpenLayers, Rust (WASM), WebGL
#project(
name: "pgp2ssh",
dates: dates-helper(start-date: "Mar 2024", end-date: "Mar 2024"),
url: "github.com/pinpox/pgp2ssh",
)
- Derive private ed25519 SSH key from private PGP key
- This functionality was not implemented in GPG and no other tools existed for this before
- Implemented in Golang and in close collaboration with another member of the open source community
== Volunteering
#project(
name: "NixOS",
role: "Nixpkgs Contributor",
dates: dates-helper(start-date: "Oct 2019", end-date: "Present"),
url: "github.com/NixOS/nixpkgs",
)
- Contribute to the largest open source package repository and one of the most active GitHub projects
- Maintain a few packages & NixOS modules including Tor Browser & Mullvad Browser
- Nixpkgs Maintainer since Dec 2020
- Nixpkgs Committer since Aug 2024 with permissions to merge pull requests
#project(
name: "Letzte Werbung Melder",
role: "Lead Software Engineer",
dates: dates-helper(start-date: "Nov 2018", end-date: "Aug 2019"),
// url: "web.archive.org/web/20191021030141/https://www.letzte-werbung.de/melder",
)
- Allows users to report companies that send mail advertising despite a "No advertising please" sticker on the mailbox
- Main technologies: TypeScript, Node.js, React, AWS Lambda, Serverless framework, DynamoDB
#project(
name: "Stoppt die Plastikpost",
role: "Lead Software Engineer",
dates: dates-helper(start-date: "May 2019", end-date: "Aug 2019"),
// url: "web.archive.org/web/20220710170444/https://www.plastikpost.de/",
)
- Every week, up to 20.7 million issues of "Einkauf Aktuell" land in German mailboxes
- Allowed users to object very easily: over 79 000 objections have been recorded
- Main technologies: TypeScript, Node.js, React, AWS Lambda, Serverless framework, DynamoDB
== Certifications
#certificates(
name: "CompTIA Cloud+",
issuer: "CompTIA",
// url: "www.credly.com/badges/11d97688-587b-4a60-b37e-3cc197755c16",
date: "Feb 2024",
)
#certificates(
name: "Certificate of Cloud Security Knowledge v.4",
issuer: "Cloud Security Alliance",
// url: "www.credly.com/badges/feb95a38-7883-494d-95fa-b8e79093e06d",
date: "Feb 2024",
)
#certificates(
name: "EF SET English Certificate 77/100 (C2 Proficient)",
issuer: "EF SET",
// url: "cert.efset.org/8exL1K",
date: "Nov 2021",
)
#certificates(
name: "Elements of AI: Building AI",
issuer: "University of Helsinki",
// url: "certificates.mooc.fi/validate/wdfg5sj67vs",
date: "Jul 2021",
)
#certificates(
name: "Functional Programming in Haskell",
issuer: "University of Glasgow (via FutureLearn)",
// url: "www.futurelearn.com/certificates/d625jwr",
date: "Jun 2019",
)
== Skills
- *Industry Knowledge*: Software Architecture, Cloud-native Architecture, DevOps, Infrastructure as Code (IaC), Reproducibility, Scalability, Functional Programming, Open Source Development
- *Programming Languages*: Rust, Nix, TypeScript, C\#, HCL, Bash, Nushell
- *Backend*: Podman, Docker, gRPC, MongoDB, OpenAPI, GraphQL, buf, tokio, tonic, prost, axum, ASP.NET Core
- *Frontend*: React, Next.js, Redux, emotion, MUI, storybook, webpack, fp-ts
- *Infrastructure & DevOps*: Kubernetes, OpenTofu, GitLab CI, Linux, direnv, treefmt, git-hooks.nix
- *Cloud Providers*: Google Cloud Platform (GCP), Firebase, Amazon Web Services (AWS), Azure
- *Languages*: English (fluent), German (native)