Featured Image with Sidebar

Plans for 2020 and key lessons from 2019

By Thorben Janssen


It’s almost February 2020, and I still haven’t published my end of 2019 review or shared my plans for this year. But I have good excuses for that. So far, January has been extremely busy. I already did a code review, started a new coaching project, taught an in-house workshop, recorded multiple online course lectures and YouTube videos, and wrote blog articles. Not too bad for only 3 weeks.

But I still want to share what I learned in 2019 and what’s planned for 2020. So, here we go …

What I learned in 2019

The last year was incredibly successful:

  • The blog suffered from an issue with an SEO plugin, but in the end, traffic grew to almost 4 Million views in 2019.
  • We got to more than 17000 subscribers on YouTube.
  • I spoke at several conferences and JUGs across Europe.
  • I did more in-house workshops and had more students in my online courses than ever before.
  • I hosted my first in-person workshops in Düsseldorf (Germany).
  • With the JPA for Beginners Online Training, I also published a new course.
  • For the first year since I was a teenager, I established a relatively consistent workout routine.
  • And I learned that traveling by train doesn’t have to take much longer than flying but it isn’t as stressful.

But I also had to learn that too much of something that I enjoy, is still too much.

Sometimes too much fun is still too much

In the beginning, traveling from one in-house workshop to the next was fun. But that changed after a while. It started to wear me out. You might have recognized that I didn’t publish new articles and videos as consistently as I had planned. Doing too many in-house workshops and attending too many conferences was the main reason for that. I either was traveling and speaking, or I tried to catch up with all the things I wasn’t able to do while traveling.

This year, I want to make sure that this doesn’t happen again. I plan to not speak at more than 1 in-house workshop per month and not more than 6 conferences per year. That’s still 1.5 events per month.

If you add onsite and remote coaching engagements to the mix, my schedule still looks pretty busy. But it’s hopefully more sustainable and gives me some extra time to work on new online courses and products.

Hosting my own workshop isn’t complicated or scary

Another thing that I learned in 2019 was that it’s not too complicated to host and promote my own in-person workshops. Sure, it was a little stressful in the beginning, but the result was totally worth it.

In December, I offered an Advanced Hibernate Workshop and a Hibernate Performance Tuning Workshop at the Lindner Congress Hotel in Düsseldorf. Their team did an amazing job and took care of all the logistics. I had booked a meeting room with drinks, snacks, and lunch. So, the only thing that I had to do was to be there on time and teach the workshops.

In the end, I liked these workshops much better than the ones that I did with different training companies in the past. From now on, I will host my workshops myself.

I already planned 3 of them for this year. But more about that in the next section.

What to expect in 2020

OK, so 2019 was great, and I learned a few things. What does that mean for this year? Am I happy with the achievements of last year and keep everything as it is?

Of course not!

I want to grow the team, improve the site, create new courses, and offer more in-person workshops.

One or two new online courses

I’m currently working on my new Data and Communication Patterns for Microservices Online Training. It’s inspired by several coaching projects in which I helped teams to model the persistence layers of their microservices and to exchange data between services in a reliable and scalable way.

The first of these coaching projects started shortly after microservices became popular. Most teams had to recognize that exchanging data and ensuring data consistency had become an issue. They no longer implemented their logic in 1 application and ensured data consistency with a simple transaction. They now did that in multiple services and needed to handle the downsides of a distributed system.

There are several patterns and tools that help you to handle these issues. If you use them correctly, exchanging data in a consistent and scalable way still adds complexity to your system. But it becomes a manageable task, and you will be able to enjoy the advantages of a microservice architecture.

I will show you the most important and most popular patterns in the Data and Communication Patterns for Microservices Online Training. It will launch on February 28th. You can join the early-bird notification list here.

And that might not be the only new course in 2020. I have 1-2 more ideas for new courses, but it’s still too early to share them.

3 in-person workshops

As I said earlier, I also planned 3 in-person workshops for this year.

  1. In the JPA for Beginners workshop, you will learn all you need to know to use JPA with Hibernate or EclipseLink. I will teach you all the important concepts, JPA’s mapping annotations, and the JPQL query language. After these 2 days, you will be able to implement a basic persistence layer on your own or to join a team that’s working on a huge and complex one.
    The JPA for Beginners workshop will take place on June 30th – July 1st, 2020. Make sure to enroll before March 28th to get the best price.
  2. The Data and Communication Patterns for Microservices workshop is the in-person workshop version of the new online course. You will learn how to exchange data between your services in a scalable and reliable way. I will show you different patterns for synchronous service calls, asynchronous data replication, and distributed write operations.
    The Data and Communication Patterns for Microservices workshop will take place on September 15th-17th, 2020. Make sure to enroll before June 12th to get the best price.
  3. The Advanced Hibernate workshop was my most popular in-person workshop in 2019. In this workshop, you will learn to implement complex domain mappings, create dynamic and type-safe queries, support custom data types, use Hibernate’s multi-tenancy features, and much more.
    The Advanced Hibernate workshop will take place on December 8th – 10th, 2020. Make sure to enroll before August 30th to get the best price.

Growing the team

In addition to all of that, I also want to consistently post new tutorials here on the blog and on my YouTube channel. I also teach in-house workshops and help development teams as a coach to use Hibernate more efficiently and to fix issues in their current projects.

So far, we have done all of that with a team of 2.

For the last few years, Rayhan has helped me as a contractor. He takes care of all the important tasks in the background and keeps everything up and running while I’m on the road. He edits videos, creates images, updates WordPress plugins, and lots of other things. To be honest, without his help, there wouldn’t be any YouTube channel, and I would probably still be working on my 2nd course.

But at the end of last year, I had to realize that there is just too much work for such a small team. I decided to hire Khalifa to help me prepare articles, update code samples, and do other Java-related things.

I hope that that’s just the beginning. I’m planning to add another person to the team as soon as the 3 of us got used to each other and found a good rhythm.

I hope I can share more about that soon. Until then, I hope you find our articles and videos helpful, and I’m looking forward to meeting you in person at a conference or workshop.

About the author

Thorben is an independent consultant, international speaker, and trainer specialized in solving Java persistence problems with JPA and Hibernate.
He is also the author of Amazon’s bestselling book Hibernate Tips - More than 70 solutions to common Hibernate problems.

Books and Courses

Coaching and Consulting

Leave a Repl​​​​​y

Your email address will not be published. Required fields are marked

This site uses Akismet to reduce spam. Learn how your comment data is processed.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}