TLDR: I’m Johannes Bechberger, a nerd passionate about compiler building and program analyses that enjoys cooking and works on the JVM at SAP (LinkedIn), making profiling easier for everyone.
I’m a JVM developer working on profilers and their underlying technology in the SapMachine team at SAP. This includes improvements to async-profiler and its ecosystem, a website to view the different JFR event types, and improvements to the FirefoxProfiler, making it usable in the Java world. I started at SAP in 2022 after two and a half years of research studies at the KIT in the field of Java security analyses. My work today is comprised of many open-source contributions and my blog, where I write regularly on in-depth profiling and debugging topics, and working on JEP Candidate 435, adding a new profiling API to OpenJDK.
I started programming many years ago when I was in school. But my real passion is programming languages and everything around them (like tools to help developers). I started in 10th grade with programming and learning about new languages, first Java then Ruby and PHP. In grade 11 I started to learn ANTLRv3 and created my first transpiler for Mealy and Moore automatons into XML for school. This started my interest in everything compiler related. During this time I started working on small projects like implementing a tiny brainf*ck interpreter in ruby or creating audio versions of the German Wikipedia articles on brainf*ck, Java, and Ook! that are still online. I finished school with the aim of becoming a compiler engineer.
My studies started in 2012 at the Karlsruhe Institute of Technology, where I honed my craft, taking every compiler-related course available. During this time I started my own language POOL which never saw an actual implementation. To learn how parsers work, I created a parser and lexer generator at the end of my Bachelor which can generate GIFs of the parser automation construction. My bachelor thesis was on benchmarking, resulting in temci. I started my Master’s degree in 2016, developing a compiler. for a simplified version of Java and finishing it with a thesis called “Quantitative Information Flow Control on Program Dependency Graphs” and a 1.0 grade.
During my master’s I also worked a working student in the compiler division of aicas and took part in the seminar Evidence About Programmers for Programming Language Design in Schloss Dagstuhl. The latter sparked my curiosity and led me to start a PhD at IPD Snelting in May 2018, where I focussed on security analyses for Java programs (paper) and parallelization of program analyses.
I got the opportunity to join the SapMachine team at SAP in January 2022 for which I aborted my PhD. My work at SAP is comprised of many open-source contributions and my blog, where I write regularly on in-depth profiling and debugging topics, and working on JEP Candidate 435, adding a new profiling API to OpenJDK. In February 2023 I started giving talks on profilers at various conferences, like FOSDEM 2023, QCon London 2023, and various Java User Groups and smaller conferences. You can find more on past and upcoming talks on my Talks page.
To be updated on my blog posts and upcoming presentations, consider following me on Twitter: