Get access to all my video courses, 2 monthly Q&A calls, monthly coding challenges, a community of like-minded developers, and regular expert sessions.
Join the Persistence Hub!
Overall, I had a pretty good first half of the year. I spoke at 5 conferences, hosted 3 public workshops, spoke at a few in-house events, did a lot of client work and moved with my family over 450km back to our hometown area. But stress and workload were also pretty overwhelming, and a few things didn’t go that well.
I will get into more details about this at the end of this report. I will share what I learned in the last 6 months, my plans for the remaining 5.5 months of 2018 and how you can support Thoughts on Java.
But before that, let’s take a look at the articles and videos that we published since the last Thoughts on Java Report.
Posts & Videos
OK, here is a sneak peek at one of the topics that I will expand on at the end of this report: In January, I set the goal of publishing 2 articles and 2 videos per week. It looks like I missed my first goal in 2018 by quite a bit 😀
Here are the articles and videos that I published in the last 6 months. These are quite a few but still less than planned.
Let’s try to get better in the second half of this year.
The great news is that the Thoughts on Java YouTube channel kept growing at a rapid speed. As of writing this article, there are more than 8.500 developers subscribed to it. That’s pretty impressive!
One of the reasons is probably that recording and publishing videos worked far better than writing new articles. So, we were able to upload pretty consistently.
As always, the Hibernate Tip videos present a quick and easy solution for a common development task:
In the tutorial videos, I get into more details. So, the videos are a little bit longer than the short Hibernate Tips and bring you a more in-depth explanation of a concept or feature.
In addition to the videos, I also wrote a few articles:
Monday’s tutorial posts didn’t follow any overarching theme. I simply wrote in-depth articles for developers of different experience levels.
- What’s the difference between JPA, Hibernate and EclipseLink
- Composition vs. Inheritance with JPA and Hibernate
- Getting Started with jOOQ – Building SQL Queries in Javar
- Hibernate & jOOQ – A Match Made in Heaven
- 5 Common Hibernate Mistakes That Cause Dozens of Unexpected Queries
- A Beginner’s Guide to JPA’s persistence.xml
- 5+2 Books Every Java Programmer Should Read in Summer 2018
And the Hibernate Tip posts provided you with a lot of easy to use solutions to common Hibernate problems.
- Hibernate Tips: How to use an ORDER BY clause in a CriteriaQuery
- JPA Tip: How to map a Duration attribute
- Hibernate Tips: How to avoid Hibernate’s MultipleBagFetchException
- Hibernate Tips: Easiest way to manage bi-directional associations
- Hibernate Tips: How to map an entity to multiple tables
- Hibernate Tips: How to map the latest element of an association
- Hibernate Tips: What’s the best way to persist a ZonedDateTime
- Hibernate Tips: How to Handle NULL Values while Ordering Query Results in JPQ
- Hibernate Tips: How to use @ElementCollection entries in a query
If you like this format, you can find more Hibernate Tips in my book Hibernate Tips – More than 70 solutions to common Hibernate problems.
OK, that’s all the articles and videos that we published since the last Thoughts on Java Report in January. Let’s now talk about the things that I learned about being self-employed, how it affects my plans for the rest of this year and the new options to support me and this site.
The good and the bad of being self-employed
I quit my day job in 2016 to work on Thoughts on Java and as a freelance consultant. Now, almost 2 years later, I still think that this was one of the best decisions in my career.
Has it been easy?
No, of course not! I have to work a lot harder than I did before and there are several things I didn’t need to worry about as an employee. But it’s also so much more rewarding and allowed me to relocated to a different part of Germany without searching for a new job. The only thing I had to do was to find a 4-room apartment in which I can use one room as an office.
But working as a freelancer also has some downsides: First of all, if you are sick or take a few days off, you don’t get paid. That probably doesn’t surprise you, and I was fully aware of it when I quit my day jobs. But as a result, I took some painkillers and got a pair of crutches so that I was able to speak at a 2-day in-house workshop. In the past, I would have taken a day off to show my swollen ankle to a doctor. Luckily my customers pay me to speak and not to run 😉
I also accepted every workshop opportunity and did as much client work as possible in the first half of 2018. I knew I wouldn’t be able to work during our relocation in June. So, the goal was to earn enough in the first 5 months, that I could take 1-1.5 months off. That worked pretty well. But I was also overwhelmed by the workload and completely stressed out. I wrote far fewer articles and recorded not as many videos as I had planned. It also delayed my JPA for Beginners course. And that were only the most visible issues caused by this situation.
Thankfully, a friend recommended me Sherry Walling’s book The Entrepreneur’s Guide to Keeping Your Sh*t Together (Amazon). It helped me to rethink several things, to restructure my schedule and task list and to do more physical, outside activities. I included a more detailed description of the book in the article 5+2 Books Every Java Programmer Should Read in Summer 2018.
To sum it up: Working as a freelancer is great and gives you a lot of flexibility. But you also need to make sure that you don’t overextend yourself. Unfortunately, I mostly ignored the second part of this in the first half of 2018.
So, how does this affect my goals for 2018?
Plans for 2018
The big goals for 2018 are still the same. I will publish my JPA for Beginners course this summer, and I want to publish 2 articles and 2 videos per week. But I will have to rethink how I can achieve these goals and make the required steps my main priority.
In the past few months, I worked on the course and wrote articles whenever I had some time to spare. I changed that about 2 weeks ago after we settled in at our new place. You probably already recognized the change. This is the 5th article in less than 2 weeks. OK, not all of them were tutorials, but anyways. You see the difference, right 😉
Based on these general thoughts, I added 2 new goals to my list and I will focus on them in the next few weeks:
- I will make sure to clearly structure my work-week so that I exactly know on which tasks I work each day and can group similar tasks. I will also break bigger projects into small milestones that are clearly defined and have an achievable delivery date.
That basically means that I will use the same approach as I used to plan and manage software projects in my previous day job. I also used this method when I recorded my previous courses, and it worked great.
I have no idea why I stopped doing that at the beginning of 2018 :-/
- Keep running. Going on a run is one of the most relaxing things. It has worked great in the past. And when I (re)started to run a few weeks ago, I immediately recognized that I had more energy, felt more relaxed and was able to concentrate much better.
That’s all I want to improve, right now. To be honest, a few weeks ago, I thought that I would need to change more. But the last 2 weeks have shown me that shifting my focus and organizing myself more efficiently is probably all I need to do. So, let’s start with these 2, small changes and see how it goes…
Thanks for reading this far. There is only one thing left that I want to tell you about.
Become a Thoughts on Java Supporter
In the past, some of you asked me how they can support this site and all the effort that I put into it. Up to now, my only answer was to help me spread the word and to share your favorite articles and videos on social media.
That’s still a great way to support this site. The more people, who read an article or watch a video, the better. But maybe you want to take it one step further and invite me for a cold beer or a hot cup coffee.
OK, meeting in person isn’t that easy. That’s why I introduced the Thoughts on Java Supporter subscription. You can think of it as inviting me for a virtual beer or coffee. It requires far less traveling but I appreciate it as much as a real invitation. 😉
And I also prepared a small thank you for your support. You will get access to different member perks, like hiding the ads in the sidebar, exclusive mini-ebooks, preferred access to beta-programs and events with limited seats, special discounts, and monthly coaching calls.
If that sounds interesting to you and you want to invite me for a virtual drink, I appreciate your support and look forward to talking to you on one of the next coaching calls.