As I described in my look back on 2014, most of what I did last year was rooted in decisions I turned into new year's resolutions. Since it worked out quite well, I decided to do that again. So here are my (professional) resolutions for 2015.
This is my motto for 2015: stabilization. After starting a lot of new things in 2014, I want to spend 2015 stabilizing those efforts. This means continuing to work on Do-FOSS, settling the job question and especially to invest time in open source projects and this blog. I will again focus on the last two points and break them down in more detail further below.
But it might also be interesting to see what didn't make the list.
While I would like to be a real help on StackOverflow, I somehow didn't really get the hang of it. Mainly because I have too little deep knowledge in any field to answer the interesting questions and won't invest the time to continuously stalk the list of new ones for the shallow questions. So I see little chance to build a real presence there any time soon. I like CodeReview more but will also not make it a priority.
I would also have liked to get to know a new programming paradigm and language. Functional programming in Scala is high on my learning wish list. But I don't see how to fit it in and instead of getting frustrated for not making headway, I decided to drop it for this year.
▚Contributing to Open Source
This is my main focus for 2015! I want to invest more time in working on open source projects.
To be more concrete:
- I want to finally get my overhauled SnapshotView merged and released.
- I have another JavaFX control lying around which might make a valid contribution to ControlsFX if properly cleaned up. I want to investigate that.
- I want to continue my work on the support for value-based classes in FindBugs. This includes the checks at their use-site, on which I am currently working, and at their declaration-site, so a user can mark a class as value-based and have checked whether the definition fulfills all requirements.
- Even though I had little interest in Java beans before, the Property Alliance project, aimed at creating and implementing a Java Beans 2.0 specification, really got me. I want to stay with the project to see where it goes.
- I've got plenty of ideas for LibFX and I plan to continuously work on the library.
- I would like to find another open source project to contribute to. As I've got some ideas of my own, I might even start one.
A little prioritization can go a long way:
- SnapshotView in ControlsFX
- Property Alliance
- value-based classes in FindBugs
- another control for ControlsFX (optional)
- contributing to another project (optional, only if ControlsFX and FindBugs are done)
In September I started out with the goal to publish a meaningful post every five days. This was an intentionally crazy pace (for me) to get used to writing and quickly build some content. It worked but took up a lot of time which I could not invest in other projects. As I described above, in 2015 I want to focus on coding so I'm reducing my speed to a meaningful post every ten days.
When I started writing, I was sure I would have problems coming up with meaningful topics. How wrong I was! Now I've got an ever growing list of interesting ideas and little chance to cover them all. But some are more important to me than others:
- JavaFX control tutorial: Proper controls should follow a rigid structure. I want to cover that as well as other details (e.g. how to enable CSS-styling) of creating a control.
- Open source project tutorial: Eclipse, Git, GitHub, PGP, Maven Central, .... After setting everything up for LibFX, I realized that a tutorial covering all those steps would have been really cool. So this was my first idea for a post series and I want to create it in 2015.
- Serialization Proxy Pattern Extensions: When covering the pattern, I had some ideas for extending it. I would like to try them out and write about them, maybe even get someone with a clue looking them over. In my wet dreams, that would be Joshua Bloch, but I guess he's not just sitting around at home waiting to wrestle with some internet guy's harebrained ideas. But apparently, persistence pays off, so I'll try.
- Java 8: I want to continue covering new features in Java 8.
- Project Valhalla: I am very interested in future features like value types and specialization and am following the mailing list of Project Valhalla. Relaying this exciting development would be equally challenging and rewarding.
In 2014 I spent quite some time setting this blog up. This should be more or less over now so I plan to invest that time in getting it more known. There are several concrete steps I have planned:
- Publish posts on JavaCodeGeeks and DZone.
- Distribute links via DZone, Reddit and the like.
- Continue being present on Twitter.
- Patch up my profile on Google+ and at least post my articles there.
I am still getting used to a lot of tools and services I am using. This is good but will continue to demand time, so it should not be omitted. There will also be new things to adopt. A particular example is OpenShift, where I would like to get Jenkins and SonarQube running for LibFX.
Ah, and of course this:
So these are my (professional) new year's resolutions. If you want to know how I'm doing, make sure to check back!
Got your own resolutions? Why not write them down and make them public? Apparently, that helps. However you do it, I hope you succeed and have a very happy and fulfilling year!