Mateusz Grużewski

About Me

I am a software engineer focused on understanding how complex systems behave in production. For more than a decade, I have been designing and evolving backend systems, with most of my work centered around the Java ecosystem, the JVM, observability, and performance diagnostics.

Background

My professional path combines hands-on engineering in large-scale production environments with research in compilers and parallel computing. I currently work as a Principal Software Engineer and Software Architect, where I design and improve mission-critical systems operating under real production constraints.

Before that, I worked on high-scale systems at Allegro, one of the largest e-commerce platforms in Central Europe. Across these roles, I have focused on runtime behaviour, reliability, latency, memory pressure, and the practical realities of operating JVM-based systems at scale.

What I Do

My work is centered on performance-critical systems, system architecture, and production diagnostics. I am particularly interested in how systems fail, how they degrade over time, and how engineers can move from symptoms to root cause using the right diagnostic mindset.

I also speak at conferences and meetups, where I share practical knowledge about JVM internals, profiling, observability, and software architecture. In addition to speaking, I run workshops and create technical materials for engineers who want to better understand how modern systems behave in production.

Technical Focus

  • JVM runtime behaviour, profiling, and performance engineering
  • Observability, production diagnostics, and continuous profiling
  • System architecture and long-lived backend platforms
  • Distributed systems reliability and operability
  • Compilers, parallel programming, and performance portability

Research

Alongside industry work, I completed a PhD in Computer Science focused on compiler and runtime systems. My research explored polyhedral model-based compilation and techniques for generating efficient and portable parallel code for multicore CPUs and GPUs.

This combination of industry and research gives me a perspective that connects low-level execution models with real-world software engineering problems.

Speaking & Community

I regularly speak at software conferences and developer communities about JVM profiling, JIT internals, observability, runtime performance, and system architecture. I am also the founder and organizer of Szczecin Java User Group, where I help build a local community around Java and modern backend engineering.

Beyond Work

This website is where I share selected talks, technical writing, and materials related to performance engineering, observability, and architecture. It reflects the areas I care about most: understanding systems deeply, solving difficult technical problems, and helping others grow through practical knowledge.