~/ team / elias

Elias Groot

Last updated:
Picture of Elias Groot

It is time to understand our systems again.

During my studies (BSc Computer Science, MSc Computer Security), I've learnt to appreciate thoroughness. From understanding how DRAM accesses work in hardware to how your OS manages virtual memory, and from architectural memory leaks to advanced compiler-based mitigations: only when you take the time to understand them thoroughly, you can meaningfully reason about them.

With the thoroughness came a deep appreciation for the theoretical side of computer science. Yet, what made it really click for me is how easy (and rewarding) it can be to make topics tangible. There is no need for expensive equipment, nor for decades of experience. A laptop and (sometimes a lot of) motivation is all you need. Using my theoretical skills to solve real problems in a creative way has always been the appeal for me, and I quickly turned it into work.

A large part of my studies consisted of learning about software, systems and methods that are twice my age (if not more). They were built by people that I respect deeply. The legends on whose shoulders we stand: they who stood at the cradle of our omni-digital age, and they who put in so much effort to maintain it. They who built the foundation of so many systems that, I too, rely on today. Yet, I started to realize that these systems are shaped by many decisions were made by the lack of better alternatives. Really complex systems have been built using really primitive ones and the population of those who can maintain them is slowly shrinking.

I realized that it is up to my generation to take care of the systems that we inherit. We should take the knowledge of many decades of systems engineering and rebuild the foundations of those we continue to rely on for decades more. We stand at the cradle of the second chapter of our omni-digital age: one with future-proof systems and tools that have been built and rebuilt thoroughly. Of course, no silver bullet exists, but that should not keep us from trying to improve the status quo.




Curriculum Vitae

My passion lies in systems engineering work (specifically in Rust and Go), but I have extensive experience with building backends (from Axum to Nest), front-ends (from Vanilla to Svelte), deployment pipelines (from Github Actions to Kubernetes, with Terraform and Pulumi) and low-level systems (most notably, building my own, functional, kernel from scratch).

Career

  • From 2017 until 2023, I have been active as a freelance developer and technical support. This started as "PChulp Castricum", where I helped to solve technical problems on location. This mostly involved setting up WiFi, restoring bricked Windows setups and installing printers (it's always the printers). From 2020 onwards my work shifted towards software development.

  • Since 2023, I am the founder of LJZ Digital Solutions B.V. at which I lead, build and consult the development of digital solutions for business and education. I like to be on both ends: in contact with the client and end user, as well as in the technical land where I can express myself through code.

  • In 2026, LJZ has become part of Defined Once Engineering B.V., which I co-founded with Max Gallup. Here, we focus on systems engineering work for companies that need their foundations ported to the 21st century.

As volunteering work, I help organizing national and regional elections in my hometown.

Education

  • I have received my pre-university diploma (VWO, gymnasium) in 2020.

  • After this, I started my Bachelor's Computer Science at the VU, where I specialized in security and (distributed) programming in the Deep Programming minor. Relevant highlights are the Secure Programming project (rewarded bonus points due to exceptional code quality and extensive test coverage), advanced network programming (developing my own TCP stack in C), and concurrent and multithreaded programming. In 2023, I received my Bachelor's degree cum laude, with a 9.0 GPA.

  • From September 2023 until August 2024, I have taken a gap year to focus on LJZ and client work.

  • In September 2024 I went back to the VU to pursue my Master's in Computer Security.

Projects

I've been active in many projects since I was young: from building a small scale social network in PHP to deploying browser-based binary explorers. You can find some of my work on Codeberg. A few projects that deserve highlighting:

  • In 2017, I first got into contact with programming, by developing an invoicing and customer management system in PHP. I like to put it on the list, because it did not only teach me the fundamentals of PHP, JavaScript and HTML, but sparked my interest in programming in general.

  • In 2022, I worked as a teaching assistant for the VU's Systems Programming Project. To help me explain the important concepts to students, I built IJVMore, an IJVM inspector, debugger and scripting tool that runs in your browser. In 2025 I rebuilt the project in Rust to get some experience with WebAssembly, but that version is not deployed yet.

  • In 2023, I was the lead developer in my own team for the first time. In a team of three, we created Cadens, an interactive online learning module for dental care students. I liked to work on CI/CD, working with a lot of Docker, Kubernetes and Terraform, but I also built the front- and backend. It is a project that grew my love for TypeScript and types in general.

  • Since 2021, I have been part of Project Autonomous Driving at the VU, where I participated in the NXP Cup with my own autonomous vehicle. In 2023, I led the software development and course creation of the new Autonomous Systems Engineering labs at the VU. With this framework, based largely on Go and Rust, we won the NXP cup in 2024. After that, I have supervised two rounds of Bachelor Computer Science students at the VU until 2025.

  • In 2021, I first got in touch with building operating systems by building my own memory allocator. In 2025 I have built my own kernel from scratch. Both projects cannot be shared publicly, but I can show them when interested.

  • Since 2017, I have been participating in Google Hashcode at the STORM hub in Amsterdam. I always enjoyed these nights of puzzle solving, coding and pizza. Unfortunately, Google discontinued Hashcode. Maybe it wouldn't be as fun in the AI era anyway...

  • Since 2023 together with Max, I am the lead on developing tight and performant data synchronization integrations for a client of LJZ. This is mostly concerned with Rust development (API endpoints, synchronization logic and job scheduling), but together with Max, I am concerned with and set up the infrastructure (including idempotent and fast deployments using Pulumi, authn/authz with Ory, traefik and tailscale).

Publications

  • Integrating Small-scale Autonomous Vehicles in CS Education: An Experience Report. Natalia Silvis-Cividjian, Joshua Kenyon, Maximilian Gallup, Elias Groot, Hugo van Wezenbeek, Eduardo Lira-Cossio, and Niels Althuisius. 2025. In Proceedings of the 30th ACM Conference on Innovation and Technology in Computer Science Education V. 1 (ITiCSE 2025). Association for Computing Machinery, New York, NY, USA, 235-241. https://doi.org/10.1145/3724363.3729078

  • The Story of the VU-Rover and its Many Capstone Projects. Elias Groot, Maximilian Gallup, Darian Janevski, Joshua Kenyon, and Natalia Silvis-Cividjian. 2025. In Proceedings of the 30th ACM Conference on Innovation and Technology in Computer Science Education V. 2 (ITiCSE 2025). Association for Computing Machinery, New York, NY, USA, 723-724. https://doi.org/10.1145/3724389.3731264