Software Engineer. Architect.

Profile

I am Rein Krul. I accelerate software development teams by giving technical direction and supporting them with hands-on engineering.

Projects where I really thrive are at least 3 months, may be green field, MVP or have complex domains.

Blog

Services

Expert Software Engineering

Java 11KotlinGolangSpring BootMicronautJava EESOAPRESTPostgreSQLOracleMongoDB

Do you need senior engineering on board? I can help out.

Microservice Migration
DockerKubernetesgRPCProtobufWhen your systems are struggling with scalability, team growth and keeping up with the business, migrating to a microservice architecture might be the solution. I can help you set up a strategy to do so, and guide the actual migration.
System Architecture & Design
Emergent DesignC4UMLA clean architecture is essential to build maintainable, reliable software. Having over +5 years of experience designing high-security systems in Agile environments, I can assess existing architectures or design greenfield systems from the ground up. I don't believe in ivory tower architecting; design and implementation should happen concurrently in one multidisciplinary team.
Identity & Access Management Implementation
SAMLOAuthX.509LDAPFederation

Over the last years I've designed and implemented several IAM systems using SAML, OAuth and X.509.

Tech Lead
QualityContinuous DeliveryAs a Tech Lead I can help you and your teams to:
  • Make the right technological choices
  • Design and implement deployment strategy & tooling
  • Raise the bar, setting the quality standard using on-the-job training.

Portfolio

CQRS Light for Micronaut

CQRSJavaMicronautReactJS

CQRS Light is a lightweight CQRS library for Micronaut. It allows the use of CQRS without having to introduce a heavyweight framework which might be impossible.

It helps you to encapsulate commands and queries leading to more cohesion and less coupling, which in turns leads to simpler and more maintainable code. There's a Javascript component for easy front-end integration.

Kotlin Webtest

KotlinDSLSOAPREST

Most of us who had to test SOAP or REST web services came across tooling like SoapUI or Postman but didn't like it. The problem? These tools are UI-centric which often leads to unmaintainable test suites. Kotlin Webtest solves this by enabling a developer/tester to write their SOAP or REST tests in a Kotlin DSL, straight from your favorite IDE.

Also see the corresponding blog post.

Quarkus CA

JavaQuarkusX.509GraalVM

Quarkus CA is an educational project teaching the basics of a Certificate Authority issuing X.509 certificates. At the same time it's an experiment with the (at the time of writing) brand new Quarkus application framework, a strong new rival of Micronaut.

Also see the corresponding blog post.

JMS Gateway

KotlinJMSJava EE

The Java Message Service (JMS) API is complex, especially when used with distributed transactions (2 phase commits), which are downright unreliable. This is where JMS Gateway comes in: you simply write your JMS messages to a SQL database and JMS Gateway takes care of reliably sending it to the remote message broker. This avoids unreliable 2-phase commits (transactions spanning multiple data sources) since your messaging outbox shares the same database as your application.
MongoMigrate

MongoMigrate is a Continuous Deployment tool for automating MongoDB schema migrations using Java. It is a perfect fit for microservice frameworks like Spring Boot or Micronaut.
SailorsTab.NET

C#MonoGTK

A bar-tab-keeping application for a non-profit, yachting-themed bar I used to hang out in (not a joke). Demonstrates how to build a cross platform C# GTK UI application using Mono.
KvK: 75682605