~/dominik.polzer cd ./About

About Me


How I Started Coding
I began coding nearly a decade ago, initially driven by a passion for creating games (using MonoGame/XNA and WinForms) as a hobby while studying civil engineering.
By 2017, I had reached my third year in civil engineering, with most of the courses completed. However, I realized that it wasn't something I wanted to pursue full-time. So, I decided to take an Associate's degree course at one of Croatia's top-tier computer science colleges.
Shortly after completing my courses, I landed my first Full Stack Engineer role at a small startup called Dotmetrics.

Professional Experience

Short version

During my 8 years of professional experience, I've worked with various technologies and tools, including C#, Rust, SQL, JavaScript, PowerShell, Bash, Python, Go, and all the major cloud platforms. During those years I gained experience in distributed systems, multithreaded systems, large codebases, data processing, search systems, and high-traffic GraphQL servers.

Longer version / Career Timeline

  • Dotmetrics: I started working on .NET-based admin portals and a multithreaded backend aggregation engine that processed website user traffic metrics (from our embedded scripts) for EU & UK sites.
    It was a great first job where a small team of principal engineers handled close to 1,000 EU sites. I had the opportunity to learn about write-heavy Cassandra clusters, BigQuery, SQL, key web metrics, and efficient web scrapers.
    Key learnings
    • - How to write efficient web scrapers
    • - How to handle large (write heavy) Cassandra clusters
    • - How to process and store large amounts of data
    • - How to architect multithreaded backend systems that aggregate large amounts of data using C# constructs like ThreadPool, Concurrent Queue, Dictionary, and other Task Parallel library constructs.

  • Combis: After the startup, I transitioned to working on a B2B employee management platform integrated with MS Dynamics 365. My focus was on the backend, particularly the async scheduler, job queuing engine, and invoice generation engine.
    I also developed early versions of Teams chatbots that allowed executives and project managers to trigger internal workflows through Teams chat controls, as well as the initial version of a distributed Black/White listing service for syncing potential B2B actors across the HT group companies.
    Key learnings
    • - How to architect FullStack file sharing (GDrive like) systems
    • - How to develop distributed Black/white listing services.
    • - How to automate invoice generation and job scheduling workflows through tools like Hangfire and Azure.
    • - How to develop code execution Teams chatbots.

  • Bullhorn: I then moved on to work on a U.S. healthcare recruitment platform called Bullhorn. The specific product I was hired for had been in production for 20 years and had significant scale, serving large healthcare groups like HealthTrust, Maxim, and Beacon Hill.
    I optimized systems for these high-traffic clients and was part of the core team that built and maintained the infrastructure code and GraphQL server that was processing requests from new mobile and portal aps. That server was processing about 100k req/min at peek times and was offloading most async workflows to multiple Hangfire instances. This work frequently required deep dives into EF ORM 'intermediate' code called expression trees and SQL execution schemas.(It was code generated by the .NET LINQ lib that was not always optimized for larger queries so it required writing custom expressions that hooked into ORM code generation of final SQL interpretation).
    Key learnings
    • - Working with 5m+ Lines of code - codebases.
    • - High-traffic GraphQL server library and query developement.
    • - How to optimize EF ORM queries by hooing into Expression tree generation.
    • - How to optimize SQL queries, sql execution plans and work with complex sql schema .
    • - Analyze and fix codebase vulnerabilities by writing custom tooling around CVE's.
    • - How to Architect custom HTTP & GQL middleware that propagates both object oriented Exceptions and Functional Errors correctly.

  • Rust Experience: For the majority of previous professional projects we used .NET on the backend, but In 2022, I had my first opportunity to work with Rust in a production environment. I contributed to a Rust-based matching engine that enabled insurance companies to find B2B customers and offer tailored packages. Here, we used technologies such as Actix, SQLx, Grafana, Prometheus, OpenTelemetry, and Postgres. I really enjoyed Rust as a language (coming from previous C# project that had custom Maybe implementation, and a bit of F#)
    Key learnings
    • - How to work with async runtimes and Frameworks like Tokio, Actix and Axum.
    • - Learned alot about memory ordering and Atomics API in Rust from 'Atomics and locks'.
    • - Worked with codegen and Rust build pipeline all the way from AST,HIR.. --> LLVM
    • - How to refactor Rust repositiry deprecated crates and resolve breaking changes.

Open-Source Projects
Throughout my career, I’ve worked on my own projects, prototyping with new tech, cloud services, and languages. I’ve also contributed to several open-source projects, including:
  • Contributed to QrSync (a cross-device file-sharing CLI-based Rust app) by updating the entire dependency tree to the latest versions and resolving breaking changes, mostly related to HTTP middleware.
  • Contributed to the TypeScript-to-Rust parser engine for the Windmill project, which offers a distributed cloud-hosted workflow engine.

Free Time
I enjoy chess puzzles, traveling, swimming, cycling and occasionally participating in hackathons or coding events. What's next

I hope more exciting challenges in the field of distributed systems, and possibly exploring projects in embedded systems as well, since I've become increasingly interested in those areas recently.