Florian Biermann
Software Engineer, PhD in Computer Science
Currently
Senior software engineer at Keylane A/S.
Overview
PhD in computer science, M.Sc. in IT, with extensive industry experience as tech lead, leading architecture, programming language design and parallel and concurrent programming.
My technical core strengths are object-oriented and functional programming; weak memory models; concurrency and parallel programming; and programming language design and implementation.
Languages
F#, OCaml, Java, C#, C++, Python, Ruby, Racket and Emacs Lisp.
Domains
Weak memory models, concurrent programming, DSL design and implementation.
Employment
2026-now
Keylane A/S, Copenhagen, Denmark
- Senior software engineer
- Implementing business features in Java
2026-now
Thread & Type
- Owner and chief consultant
- IT consultancy for parallel and concurrent programming (thread) and functional programming (type).
- Running workshops about parallel and concurrent programming using threading mysteries.
2025-2026
NES Tech A/S, Copenhagen, Denmark
- System developer
- Implementing business features using the in-house domain-specific language (DSL).
- Built an experimental backend for the DSL for enhanced performance and safety, including Hindley-Milner style type inference.
2023-2025
IT University, Copenhagen, Denmark
- Part-time lecturer for “Advanced Programming”
- Functional programming in Scala
- Monads, type theory, API design
- Covering first five-six lectures of the course
2018-2025
SimCorp, Copenhagen, Denmark
- Principal Software Developer, Tech Lead
- Previous titles:
- Software Developer (2018)
- Senior Software Developer (2020)
- Lead/Principal Software Developer (2022)
- Planning business features and enablers in the financial derivatives (OTC) space
- Onboarding and mentoring of new colleagues
- Maintenance and development of a domain-specific language (DSL) for OTC instruments in OCaml and C#
- Key projects:
- various enhancements for the OTC DSL (performance, consistency, expressiveness, ease-of-use);
- technical roadmap for improving performance of the OTC platform;
- inventing an operational semantics for modelling a new business logic execution mechanism;
- designing a CodeQL-style database for business logic DSL for use in development tooling or non-technical stakeholders;
- inventing an API for OTC instruments, allowing for architecture reconciliation across departments;
- implementing a Gherkin-based DSL to allow business testers to write integration tests, going from 100 to more than 5000 business tests;
- re-design of the OTC importer flow;
- bootstrapping of the OTC web API from the Trade Manager importer;
- mentoring master students during their industry thesis; and
- experimental compiler from OCaml bytecode to .NET CIL;
- C#, OCaml, F#
2014-2015
IT University, Copenhagen, Denmark
- Research assistant
- Key projects:
- A gaze-tracking enabled, interactive LEGO construction manual that was presented at CES 2015
- Running HCI experiments
- Teaching assistant for “Practical Parallel and Concurrent Programming”
- Java, F#
2013-2014
Medial Insight A/S, Copenhagen, Denmark
- Student programmer
- C++, Ruby
- This is where I learned how to use Git and that trailing whitespaces are bad.
Education
2015-2018
IT University of Copenhagen, Denmark
- PhD in Computer Science
- Teaching assistant for “Practical Parallel and Concurrent Programming”
- Exchange at The University of the Chinese Academy of Sciences (UCAS)
- Dissertation: “Data-Parallel Spreadsheet Programming”
- Supervised by Prof. Peter Sestoft
2012-2014
IT University of Copenhagen, Denmark
- M.Sc. in Software Engineering
- Thesis: “Connected Set Filtering on Shared Memory Multiprocessors”
- Supervised by Prof. Peter Sestoft
2010-2011
Art Institute of Boston, Boston, USA
- Exchange student
2008-2011
University of Bremen, Bremen, Germany
- B.Sc. in Digital Media
Publications
2018
Puncalc: Task-Based Parallelism and Speculative Reevaluation in Spreadsheets.
- with Alexander Asp Bock
- HLPP ‘18 and The Journal of Supercomputing
Rewriting High-Level Spreadsheet Structures into Higher-Order Functional Programs
- with Wensheng Dou and Peter Sestoft
- PADL ‘18
2017
Quad Ropes: Immutable, Declarative Arrays with Parallelizable Operations
- with Peter Sestoft
- ARRAY ‘17
2016
Declarative Parallel Programming in Spreadsheet End-User Development
- Technical report
Wrist-worn Pervasive Gaze Interaction
- with John Paulin Hansen, Haakon Lund, Emilie Møllenbach, Sebastian Sztuk and Javier San Agustin
- ETRA ‘16.
2015
A Gaze Interactive Textual Smartwatch Interface
- with John Paulin Hansen, Janus Aksø Madsen, Morten Jonassen, Haakon Lund, Javier San Agustin and Sebastian Sztuk
- UbiComp ‘15
- with John Paulin Hansen, Emilie Møllenbach, Haakon Lund, Javier San Agustin, Sebastian Sztuk
- MobileHCI ‘15
2012
The Animation Loop Station: Near Real-Time Animation Production
- with Benjamin Walther-Franks, Nikolaas Steenbergen and Rainer Malaka
- ICEC ‘12