Stories from our daily work.
We want to focus on what we love doing - shipping great features to our customers. In this blog post, we explain how an OpenAPI client code generator supports us in achieving this goal. We also show how we've integrated it into our build pipeline.
An attempt to provide another measure for the decision when to use Jupyter notebooks – and when not.
How to implement and use the builder design pattern in Kotlin and what different language features you can use
From June 14th to 15th we're at the WeAreDevelopers conference in Berlin. Come meet us at our booth!
KEDA is a Kubernetes-based Event Driven Autoscaler. In this blog, you will see how we migrated a legacy integration service into Kubernetes and use KEDA for scaling. It explains a solution for short and long-running jobs that responds fast, is running resilient against deployments, and will be controlled based on load.
How we switched from "push" to "pull_request" event triggers in our workflows to reduce the GitHub Action minutes spent on feature branches significantly.
This is a guide to replace the jest-jasmine2 runner with the jest-default runner. Additionally, you will find a cheat sheet to write tests without using jasmine.
How to do component testing within a Node.js service with Jest
Finding the balance between team autonomy and having an infrastructure team is hard. This post shares our approach to having a dedicated infrastructure team, while enabling product engineering teams to quickly provision their required infrastructure via a simple API.
The values that we live by and strive for at LeanIX.
How to create a prefix search in a Node.js service using Knex.js and a Postgres database
How to make Fact Sheets comparable using Graph Neural Networks
An attempt to raise awareness of a topic that should be important to anyone building user interfaces for humans.
A banal story about what went suddenly wrong in the annotation processor step that generates source code for JPA metamodel classes. This might be helpful to quicker get out of similar situations.
By combining the "nx affected" and "nx dep-graph" commands we were able to reduce the number of projects to check in our continuous integration runs. The code is available as a reusable GitHub Action for your nx monorepo.
Web applications often use CSS preprocessors. In this post, we share how we managed to migrate from Stylus to SCSS in an Angular monorepo.
This post is about how we moved from a cronjob to a python based task queue and the learnings we had on the way.
Defining and measuring business outcomes is one of the most important challenges we need to tackle in order to sustainably generate value. Kanban holds a lot for agile software development and is worth having a look at.
Find out how we made sprint retrospectives interesting by involving everyone in the team and overcame work-from-home blues
Cross-Site Request Forgery (CSRF) is an attack that forces an end user to execute unwanted actions on a web application. Find out why the CSRF is still a threat, the concepts related to it and how to protect your users.
Have you ever wondered what bugs are, why they love to sneak into software but you're not a software developer yourself?
Utilizing the type system to precisely and concisely model SQL queries.
Integration API Visualiser is an experimental project to demonstrate an alternative UI for Integration API. The goals of the experiment is to improve readability of large, complex Integration API processors
Migrations in mature software projects can be challenging. This post shares some guidelines and best practices that work for us.
Comparing two architectural approaches and when to favor one over the other.
Creating clear and consise technical stories is a subtle art but done right an effective tool to prioritise and eventually overcome technical debt.
Some tips on introducing people to coding based on a two week intership of a school student.