Open to software engineering roles

Maximilian Bonengl

Low-Level & Backend Engineer | Full-Stack experience

Projects

ft-transcendence

Real-time Pong SPA: Fastify + Socket.IO, Nginx (WAF), OAuth 42, optional TOTP-2FA, Vault-managed TLS, Docker Compose.

TypeScriptFastifySocket.IONginx+ModSecurityDockerViteOAuth 422FAVaultSQLite

webserv

42 project: HTTP/1.1 server in C++98 (no external libs) — event-driven, handles multiple concurrent connections, serves static files, and supports core HTTP methods as configured.

C++HTTPepoll

minishell

A small interactive POSIX‑like shell written in C. Supports tokenization, quoting, environment expansion, pipes, redirections, and the required builtins.

CShell

Skills

Legend: Skill points

  • 1 dot — Foundational
  • 2 dots — Proficient
  • 3 dots — Advanced

Programming Languages

CC++TypeScriptRustPythonAssembly (x86_64)

Full-Stack(Web)

HTML & CSSReactNode.jsTailwind CSSFastifySocket.IOREST APIsHTTP/1.1

Systems & Shell

Unix/LinuxShell Scripting (bash/ zsh)MakefilesSystem CallsNetworking (TCP/IP)Processes & Threads

DevOps & Security

Hashicorp VaultDocker/ComposeNginx / TraefikModSecurity (WAF)

Tools

GitVS CodeSQLite

About

Portrait of mx3

I’m Max, a systems-minded software engineer in training. I care less about buzzwords and more about how things actually work – under the hood and over time. I try to make sure the “why” is clear before committing to the “what” and the “how”. I started out in digital consulting as a project and key account manager in data and digital marketing. Over time I realised I was more interested in how systems behaved than in selling them, so I moved to 42 Vienna to focus on software engineering. Most of my work now is low-level and backend-heavy: a POSIX-like shell in C, an HTTP/1.1 server in C++, and a real-time web app with Fastify, Socket.IO, Nginx, Vault and Docker. I like breaking down complex problems, understanding the constraints, and building solutions that are simple, observable and robust. When something breaks, I stay calm, reproduce the issue, and work through it step by step. I document decisions, keep communication clear, and optimise for code that other people can understand and extend. Right now I’m focusing on low-level work: writing assembly (libasm), implementing my own malloc (ft_malloc), and rebuilding tools like nm.

Contact

I usually reply within 24h.