Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!


1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions


and many more ....



10 Features I Wish Java Would Steal From the Kotlin Language


This article is overdue. After the hype around the release of Kotlin 1.0 has settled, let’s have a serious look at some Kotlin language features that we should have in Java as well. In this article, I’m not going to wish for unicorns. But there are some low hanging fruit (as far as I naively can see), which could be ...

Read More »

“It Never Hurts to Apply”… except when it does


Job seekers are sometimes reluctant to apply for positions that might be considered a stretch for their abilities or qualifications, and there are several possible explanations for the hesitation. Fear of rejection, underconfidence, or concerns about wasting time are all likely contributors when we hover the cursor over the APPLY NOW button. Of course if you were to ask your ...

Read More »

Continuous Stress Testing for your JAX-RS (and JavaEE) applications with Gatling + Gradle + Jenkins Pipeline


In this post I am going to explain how to use Gatling project to write stress tests for your JAX-RS Java EE endpoints, and how to integrate them with Gradle and Jenkins Pipeline, so instead of having a simple stress tests, what you have is a continuous stress testing, where each commit might fire these kind of tests automatically, providing automatic assertions and more important graphical ...

Read More »

How the Fear of Automation Holds Your Team Back


Automation is a term which was coined in the last century during the industrial revolution. It originates from the word automatic, which means “self-acting, moving, or acting on its own.” As soon as a company starts to scale, the teams lacking automation are the ones who struggle the most. And many teams do lack automation, not because they aren’t skilled ...

Read More »

12 years, 12 lessons working at ThoughtWorks


I’ve been at ThoughtWorks for 12 years. Who would have imagined? Instead of writing about my reflections on the past year, I thought I would do something different and post twelve key learnings and observations looking back over my career. I have chosen twelve, not because there are only twelve, but because it fits well with the theme of twelve ...

Read More »

Static Methods are Fine


Today, we’ll be talking about something controversial: static methods. I have yet to read anything that says static methods are good and useful, other than Effective Java recommending them in the use of static factory methods. There are some really interesting (and somewhat dumb) arguments out there against them that rarely, if ever, even get explained. Notably, I’m providing a ...

Read More »

Clean architecture of Selenium tests


In this blog post, I would like to introduce a clean architecture for Selenium tests with best design patterns: page object, page element (often called HTML wrapper) and self-developed, very small but smart framework. The architecture is not restricted to Java which is used in the examples and can be applied to Selenium tests in any other language as well. ...

Read More »

JavaFX Tips to Save Memory! Shadow Fields for Properties and Observables


In the world of JavaFX the Properties API allows UI developers to bind values to UI controls. This capability is surprisingly easy, however when object models use properties too often an application can quickly run out of memory. I usually will write two separate objects such as a pojo class and a presentation model object. This technique is often used in Swing based ...

Read More »

Simplifying nested loops with Java 8 Lambdas


This is just a quick tip for everyone who often has to work with multi dimensional arrays in Java 8 (or newer). In this case you might often end with code similar to this: float[][] values = ... for (int i = 0; i < values.length; i++) {   for (int k = 0; k < values[i].length; k++) {     float value = values[i][k];     // do something with i, k and value   } } If you are lucky you can replace the loops with for-each loops. However, often the indices are required for ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns