01
System architecture
Designing system software that lasts: interfaces, data models, modularisation and communication infrastructure — from requirement to a concept that holds up.
Software Engineering & Consulting
I am Roman Krüger, a freelance software engineer and consultant. For more than 20 years I have designed and built business-critical system software — for public administration, cybersecurity, industry and retail.
“It’s the quality that makes the difference.”
Services
I work where software has to be long-lived, correct and maintainable — as an engineer who designs, not merely implements.
01
Designing system software that lasts: interfaces, data models, modularisation and communication infrastructure — from requirement to a concept that holds up.
02
Fast, memory-safe system software in Rust: parsers, compilers, analysis engines and tooling — including embedded applications.
03
Domain backend systems with Java 21, Spring Boot, Kafka and Camunda. Kotlin and Scala too, where the use case calls for it.
04
Data modelling, data warehouse design, Oracle/PL-SQL development and tuning, PostgreSQL and distributed stores such as Cassandra.
05
Static code analysis and taint-flow analysis (SAST), compiler construction, domain-specific languages and code generation.
06
Technical leadership as lead developer, code reviews, architecture consulting and developer coaching within the team.
Technologies
A selection from more than 20 years of project practice.
Languages
Platforms
Data & messaging
Operations
Methods
Profile
My path began in the banking sector and then led into airline cost controlling: ten years of architecture, development and support for an airline cost management product, including the design and implementation of its central data warehouse.
Since 2014 I have worked mainly as a freelancer — in public administration, automotive, wholesale, market research and cybersecurity. Today I serve as lead developer for central, cross-sectional business services in the tax domain.
From a technical standpoint, I enjoy working closely with the machine, such as system software in Rust, static code analysis, machine learning, and data models that will still be viable in 10 years. At the same time, I’m right at home in the business-driven enterprise software space, where there are entirely different challenges to overcome. After all, the code – and thus the product – can ultimately only be as good as our understanding of the business processes and the true requirements behind them. Who needs what and why, and what happens when the standard scenario doesn’t occur? Here, for example, it often requires acting as a bridge between the business unit and technically sound solutions, as well as making dependencies, implications, or benefits of potential extensions or changes to the larger system transparent. In addition to implementation and consulting, I see myself in a sort of ambassador role here, constantly bringing in suitable state-of-the-art technology and current software development methods. Clients appreciate my ability to quickly grasp their domain and challenges, as well as my skill in sharing knowledge with the team.
After many years in established domains, new territory appeals to me: research-oriented work, autonomous systems, AI-driven applications. That is precisely where closeness to the machine meets open questions — a combination I am happy to stay with for the long haul.
Open source
Publicly readable code — the best evidence of how I work and what I expect.
Contact
Send me a short note about what you have in mind — I usually reply within one working day. Enquiries welcome in English or German.