Mathias Kools
Software Engineer
Hi, my name is Mathias Kools. I am a Belgian-American 🇧🇪🇺🇸 from the Boston area.
Resume
If I didn’t have to squish my resume onto a single page, this is what it’d look like.
Education
- I graduated from Reading Memorial
High School 🚀 (2014 - 2018).
- I recieved Valedictorian, Presidential Gold Award, and Patrick A. Schettini Award honors0.
- I graduated summa cum laude with a
combined Computer Science and Mathematics degree at
Northeastern (2018-2022).
- I finished Software Development, Artificial Intelligence, Computer Systems, Object Oriented Design and Algorithms.
- Additionally, I studied Dynamic Models, Combinatorics, Complex Variables, and Statistics and Stochastic Processes.
Technologies
I’ve been programming for about a decade.
-
In 2012 I first started programming in lua to make games in Roblox1. I inspected “Free Models” of scripts others created and practiced changing snippets.
-
In 2013 I got into web programming2. I deployed lots of little LAMP stacks on the family desktop and free webhosts. This gave me an early introduction to SQL, PHP, JavaScript (notably with jQuery), and CSS.
-
In 2014 I learned Python. Python was great for quick scripts to assist with homework.
-
In 2014 I also learned Java. Java was one of two options to program robots for First Robotics Competition3. As a team we used the Command-Based Programming paradigm. To collaborate with the team I also became proficient in Git4.
-
In 2017 and 2018 I turned my web stack experience and connections into dev-ops summer internships. I got to use Ruby on the Ruby on Rails stack, Chef, and Sensu.
-
In 2018 I started college and learned Racket and more importantly functional-programming.
-
In 2020 I worked my first co-op work experience in app development. On the front-end we used Flutter. In the backend, we used Express, and React for both API and internal dashboards.
-
In 2021 I worked at SmartLeaf and gained new experiences in (Oracle) SQL, and Redux. I could re-use my Ruby on Rails experience as well.
-
In 2022 I started work at ChaosSearch. This gave me experience with Scala. We used Akka Actors, Akka Streams, and AWS S3 to make distributed systems. We debugged our JVM app with tools like JFR, VisualVM, and Java Agents. We created terraform providers. And we made custom spark data formats.
(1) Back then it was just a shareable game-engine. The business model has since become more complex.
(2) Brett McLaughlin’s Book PHP & MySQL: The Missing Manual was the first programming book I ever owned.
(3) Outside of FRC, Java was also my first step outside Roblox for game development. And of course, the java.awt.Robot class was great for pranks.
(4) The book Git Pocket Guide: A Working Introduction has been influential to my git workflow. Commit often, rebase and squash before pushing, and make decision-capturing messages.
Work Experience
I consider myself very fortunate to have had early work experience. I’ve included my prouder moments.
-
In 2017 and 2018 I worked at CloudHealth technologies during high school summer breaks in a DevOps role.
- I led a cross-team design of a Content-Security-Policy header to harden the company app against XSS-attacks.
- I deployed custom sensu code to create JIRA tickets for low-hanging infrastructure events. Something like this from yelp but with different functionality to cut down on duplicates.
- I mucked around in configuration (e.g nginx site rules, and systemd services).
- I prepared the company monolith Chef cookbooks for operating system upgrades. There was a lot of updating, and patching shared dependencies.
-
In 2020 I worked at Liberty Mutual’s Solaria Labs on the Dwellbeing app as my first Northeastern work experience.
- I designed a role-based access control system for internal sites to enable and limit access to customer data.
- I investigated, replicated, and patched user-discovered bugs with long tails stretching between UI and the back-end.
-
In 2021 I worked at SmartLeaf as my second and last Northeastern work-experience.
- I navigated the company’s large (rails) codebases. SmartLeaf has up to two decades of history in some repositories.
- I designed and implemented APIs to help large clients automate workflows.
- I chased down some crazy bugs down to HTML input “dirty values”, database caching, and nested database transactions.
- I learned how to get stuff done. SmartLeaf uses resources judiciously and taught me to make the practical decision (which isn’t always perfect).
- In 2022 I graduated college and after taking a brief
vacation got to work at ChaosSearch in June. Here I was a
“core” engineer working on the backend of a
distributed search and analytics database.
- I joined a churning “windowed monitoring” project. Here, I helped get implementation5 and a complete internal rollout over the line. By connecting ingestion directly to our query engine (skipping index traversal), we could monitor on just the latest data, and provide huge compute savings6.
- I headed an effort to modernize our deployment and application APIs with best RESTful practices. This was my part in a larger effort to develop OEM opportunities.
- I headed a significant effort to
connect spark to SAAS ingested data to open
opportunities in Databricks and
Amazon
EMR.
- I implemented a crazy and brilliant idea from one of my colleagues. To break into a rather locked down databricks runtime, we used a java instrumentation agent to modify bytecode as it was loading. We modified databricks libraries to allow us to call into our own library code. I’ve written more about bytecode here.
- I was also happy to contribute to open source
projects during this time.
- Either to help library dependencies stable release milestones.
- Or to further my own understanding of the tools we used.
- I started a running tradition that’s outlasted even my own interest in distance races. You can read about the first event we did here.
(5) Implementation touched all sorts of interesting technology that ChaosSearch had developed.
- A distributed query engine that spread work across hundreds of nodes.
- A sophisticated query optimizer to rewrite and pushdown parts of a query.
(6) These savings were so significant that we could turn on old alerts. We wrote new alerts for faults in ingestion. We could even ring phones 15x faster (running every quarter of an hour to every minute!)
Contact
I communicate from mathiaskools at gmail dot com.
External Pages
These are public profiles I maintain.