... to the digital home of Steven Schwenke.

This site is supposed to be a showcase for my thoughts about software engineering, less a personal homepage. If you want to know more about me, invite me to a beer.

Also, have a look at my book "Developer on the Stage".


Posted by Steven

This is what I learned in April 2019:

Posted by Steven

Yesterday, we had flickering tests in our Angular application, which uses NgRx. Hopping from one test to the next and even sometimes running green, we had this error:

Uncaught TypeError: Cannot read property 'entities' of undefined

Here's the simple solution: Destroy the fixture after each test:

afterEach(() => {


Time Budget

26 Apr 2019
Posted by Steven

This is a short article about a concept that could have massive mind-hacking effects. Years ago, when I first organized workshops for my employer, I got a "time budget" of a specific amount of hours for preparation and execution of the workshop. First, I misunderstood the word "budget" and thought I would get an amount of Euros to spend on whatever.

Posted by Steven

I just upgraded a Java project from Java 8 to OpenJDK 11. The project is running on a Cloudfoundry, using the Java buildpack. After successful deployment with the new Java 11, the application won't start properly and threw the a java.lang.UnsupportedClassVersionError. The solution for this is to add the following variable in Cloudfoundry:

Posted by Steven

Recently, my team and I had a discussion about naming conventions in TypeScript. The question was if to name observables with or without a dollar sign like this:

Posted by Steven

I spend the bigger part of yesterday figuring out why my Spring Boot app was not recognized as such in Pivotal Cloudfoundry app manager. The Spring Boot logo was not displayed in front of the app name and I couldn't configure the log levels or see the "Trace" and "Thread" tabs. Short answer: I used a custom context path. That doesn't work with the Actuator integration in Cloudfoundry. Read more for details ...