diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a136337 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pdf diff --git a/main.typ b/main.typ new file mode 100644 index 0000000..06e29b1 --- /dev/null +++ b/main.typ @@ -0,0 +1,186 @@ +#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"), +) +- Technical Lead for Cloud-native Development, Infrastructure & DevOps solutions +- Main technologies: Rust, Nix, Kubernetes, OpenTofu, TypeScript, React, Next.js, MongoDB, GitLab CI, GCP + +#work( + title: "Senior Software Engineer", + location: "Hamburg, Germany", + company: "upsquared GmbH", + dates: dates-helper(start-date: "Apr 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 & development environments +- Migrated from Windows containers to Linux containers to improve performance +- Migrated from Azure Service Fabric to Kubernetes for container orchestration + +#work( + title: "Software Engineer", + location: "Hamburg, Germany", + company: "upsquared GmbH", + 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, Azure Service Fabric, Azure 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 + +#work( + title: "Software Engineer", + location: "Lüneburg, Germany", + company: "Werum IT Solutions GmbH (now Körber Pharma 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 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, Network Systems, Software Architecture for Big Data + +#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: "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 + +== 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 Nixpkgs, which is among the most active GitHub projects +- Maintain a few packages & NixOS modules including Tor Browser & Mullvad Browser +- Since Dec 2020 I am a Nixpkgs Maintainer +- Since Aug 2024 I am a Nixpkgs Comitter 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", +) +- A web app where users can report companies that continue to send mail advertising + despite the "No advertising please" sticker on their mailbox. +- Main technologies: TypeScript, Node.js, React, AWS Lambda, Serverless framework, DynamoDB + +#project( + name: "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. + Plastikpost.de allowed users to object to them very easily. + Over 70 000 objections have been recorded in the course of the campaign. +- Main technologies: TypeScript, Node.js, React, AWS Lambda, Serverless framework, DynamoDB + +== Personal 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. + My homelab hosts services from home automation to media servers & more. + +#project( + name: "pgp2ssh", + dates: dates-helper(start-date: "Jan 2022", end-date: "Jun 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 + +== 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", +) + +== Skills +- *Industry Knowledge*: Software Architecture, Cloud-native Architecture, DevOps, Infrastructure as Code (IaC), Reproducibility, Scalability +- *Programming Languages*: Rust, Nix, TypeScript, C\#, HCL, Bash, Nushell +- *Backend*: Podman, Docker, gRPC, NoSQL, MongoDB, GraphQL, .NET +- *Frontend*: React, Next.js, Redux, emotion, MUI, fp-ts +- *Infrastructure & DevOps*: Kubernetes, OpenTofu, GitLab CI, Linux +- *Cloud Providers*: Google Cloud Platform (GCP), Firebase, Amazon Web Services (AWS), Azure