To those stuck with the Gregorian Calendar:
Happy New Year 2017!
To everybody else:
As has become customary, I finished the old year with a review of my goals for 2016 and will start the new one by laying out my new goals. By now the How has become as important for me as the What, so I'll be talking about both.
(If you wonder why anyone would publicly announce their new year's resolutions, the introduction to last year's post gives a short explanation.
Before I start I want to fix something that I just realized. Since 2014 every year had a motto but I rarely talked about it - not on purpose, I just forgot to. Let me fix that:
2014: Getting Started : First contributions to open source, set up this blog, and start writing.
2015: Stabilization : Sustain a constant pace of blogging and FOSS coding.
2016: Expansion : Go beyond blogging and try new things.
Note that these were mottoes, not directives. I don't force myself to obey them but since I picked them carefully after thinking what might make the most sense, I did not go against them on a whim, either. Having a guiding star throughout the year really helped me stay on course.
So here it goes for 2017:
Let me explain why I picked it and what it means to me.
As was planned, I started a lot of new things in 2016 and it should be obvious that saying "yes" to something always means saying "no" to something else. Since I said "yes" across the board to pretty much every opportunity that was offered to me, what did I say "no" to?
- First of all to hobbies but I don't mind that too much because my work is pretty diverse and tickles a lot of my fancies. Besides, this is private Nicolai's problem to deal with so I won't concern you with it.
- Another thing I obviously said "no" to was this blog. Since May I published 17 posts, roughly 40.000 words, on other sites, most of them on SitePoint. There were good reasons for that, mainly the income and helping SitePoint getting started, but the consequence was that since July I published about five original posts in this blog.
- I didn't spent nearly as much time writing my book about the Java Module System as I should have. That's bad because it should come out at roughly the same time as Java 9.
- As I wrote Thursday, I also started a number of smaller software side projects that so far didn't go anywhere.
- Some things I did, I could've done better.
So what really happened is that I spent a lot of time on a lot of different things but didn't focus on any individual thing so lots of them are half-baked. That's something I want to change in 2017! And it's important to do that because I'm brimming with ideas and, sadly, really can't afford to start any of them if I want to do them justice.
So this year I really have to be disciplined and focused on getting the projects I started out the door to have them produce value for me and others. This should also reduce the amount of time I have to put into them as well as the mental load of having something unfinished lying around or, worse, a deadline looming over you. Discipline and focus... not exactly traits I am known for, so this will be hard work on myself.
This year I have to be disciplined and focused
▚Focus On What?
Because it pays my rent but also because it's an awesome job to do, I will obviously put in the 15 - 20 weekly hours for SitePoint. I should spend about the same amount of time on my book. I'd like to continue writing for other sites (although less so than in 2016) and would love to get this blog back on track, ideally with something getting posted every week. I need to prepare new conference talks and three training courses (Expert Java 8, Java 9, JUnit 5) and have to give them a couple of times throughout the year. Having time to code and release my projects as well as answer questions on StackOverflow would also be nice...
This is not looking good... did I mention that I have about 40 to 45 hours per week available for this? I usually work evenings and a few hours during weekends, too, but with conference season starting again I can call myself lucky if they suffice to make up for time lost planing and traveling, not even mentioning all the other small chores being self-employed entails.
Honestly, I have no idea how I'm going to get all of that done. The least I can do is forbid myself to start anything new until a couple of one-shot items on the list are completed:
- conference talks are prepared
- course material is prepared
- final draft of book was handed in
- WorkflowyFX, JUnit Io, and ReRe are released
But I also need to make sure that the really important tasks get the time they need and are not starved by the merely urgent ones. Prioritization and time-boxing went well the last years, so I want to do it again:
- three hours a day on SitePoint, only go above that if very urgent
- three hours a day on the book, go up to four if flow is good
the other one to four hours (depending on the weekday) go into anything else, starting with tasks that I have a publicly committed to:
- conference talks
- course material
- paid articles
- only write blog posts and code during "free" evening hours but also don't work on any of the other tasks then
In light of this I will aim not to publish more than a post per month on other sites. It is also not looking good for regular posts on CodeFX or a lot of coding activities. That in particular will make it tough to stick to the plan because they are what I want to do the most. But that's the consequence of expanding in 2016...
Maybe heightened productivity can save me, here?
Since everything I mentioned above is my job now and I'm doing it full time, I have between seven and ten hours per day for it. This makes it unnecessary to organize time slots (something I had to do until I quit my developer job in July) but as I mentioned Thursday, I have trouble working productively from home because I keep distracting myself with internet shit.
Besides several character traits that sabotage me here (e.g. a curiosity for all kinds of things and the tendency to go wide instead of deep), I identified three main reasons that I can easily tackle (in theory):
- the illusion of time abundance
- the multitude of tasks to do
- the feeling I got nothing done
Let me explain what I mean by that. When the day starts out, it feels like I have this immense block of seven to ten hours that I can spend however I want. I also have a good idea of what I could to that day but that list is usually pretty long. That makes it easy to start out with the wrong thing, then get distracted by an interesting tweet or a question on StackOverflow before taking a break on YouTube only to discover at one pm that nothing got done, the day is fucked and, hell, why not binge on Netflix?! Admittedly, that's a worse case scenario but it's not like it never happened.
What I started to experiment with in the last days of December was sitting down every morning and jotting down a schedule. Simple boxes of "9 - 11, CodeFX" and, importantly, "11 - 11:30 Twitter & News", that would guide me through the day. This artificial scarcity makes it much easier for me to focus on the task at hand because, damn, there's only an hour left! (Side note: I do allow myself to overshoot with important tasks when it's going well.)
The day is fucked, hell, why not binge on Netflix?!
To track what I actually did and to get the feeling of having accomplished something I also write down how much time I eventually spent on a task. It's just as coarse: "9 - 11:15 CodeFX 'Hello 2017'". I also intend to record when I start wasting time and put in big red letters screaming TWITTER! but I can say that this didn't happen so far. :)
So for 2017 I got a calendar (the one you saw above) and did what I just described since December 28th. I am happy to report that it works perfectly so far and it's already been five days. Cool!
So these are my professional plans for 2017. If you want to know how I'm doing, make sure to check back!
Whether you make resolutions, plans, or just take it easy, I hope you reach your goals and have a very happy and fulfilling year!