As the end of the year comes closer, it’s time to reminisce. A lot of stuff happened over the last twelve months, both personally and in the glamourous world of software development.
**Personal**
* The most important thing certainly was the 6 week long trip to New Zealand with my girlfriend. What an amazing and beautiful country. They might not know how to make good bread and good cheese, but damnit, if that isn’t one of nature’s wonders, then I don’t know what is. I’ll be back Kiwis!
* We also moved to a new place, which was no big deal, because it’s only about 100m air-line distance from old to new flat. But the place is bigger, better, has just been renovated, and what have you. After 5 years it was time for something new. Also, we lived right on a place called “Boxhagener Platz” which was quite noisy all week long, even on the weekends with a farmer’s market and a flea-market.
* Got my hands on a lot of great tools for the Mac. VoodooPad, MarsEdit, TextMate, OmniGraffle and OmniOutliner (my favourite project management tool), to name a few. This year I actually started buying shareware again. The vibe of the Mac community where people appreciate and pay for great software, finally caught me.
* Went to a lot of great shows, including Silverstein, Alexisonfire, Alkaline Trio, Rise Against, Boysetsfire, and Turbonegro. If you didn’t already know: that’s my way to blow off some steam after a hard day’s work.
* Got to ride my longboard through the whole summer.
**Professional**
* Finished my first big project in my company. A lot of effort went into it, gallons of sweat and tears (and blood?) have been spilled, but it was worth it.
* Made the very unexpected transition from developer to project manager, something I wouldn’t have ever imagined. But that’s the way life is. Unexpected things wait right around the corner. I don’t regret it though. It taught me a lot of things, especially concerning the social aspects of work life. And I’m still learning.
* Got to work with Hibernate which has its joyous and dark sides. The later in the project it was the more the dark side lead the way we used it. Maybe more on that later. While it’s a great tool it certainly has some weird issues and problems with error messages. We also tapped right into the performance issues. 10000 objects in a single session, and you can get a coffee when flushing it.
* Ah Oracle, how I love thee. Hibernate brought the unavoidable relational database with it, and Oracle it was. Has some weird issues (e.g. handling timestamps, not to mention clobs), but it’s still top-notch and incredibly fast.
* Got to love (or hate? or love? or hate?) InstallShield Universal Installer. Spending time with this tool comes close to torturing yourself with a needle, but a really big one.
* Switched from Eclipse to IDEA. Boy what a great IDE.
* Learned so much new stuff that I can’t remember it all.
* Worked a lot of overtime. I’m still not sure if it was really worth it, but I’m leaning towards yes, although it brought me a herniated disk.
**Software development**
* Ruby on Rails rose from the ashes of bureaucratic and overly complicated Java web development
* No sentence could have said, no new web page launched, and no new framework created without mentioning Web 2.0 or AJAX. Time will tell, if both are to stay. If Hani is right, then maybe not. At least not the word Web 2.0.
* Java went lost a lot of heavy weight over the last year nonetheless. Leight-weight is the new EJB. The Spring Framework and Hibernate gained a lot of momentum and made Java enterprise development (one of those words that everyone uses, but no-one has a good explanation for) some kind of fun again.
* A lot of endless, useless and far too emotion-filled discussion about languages, frameworks and tools.
* Much, much more, but I’m sure you all read about it ;)
**Books**
I read a lot last year, and now I can’t wait to get my eyes on something novel-ish.
* J2EE Development without EJB - The sequel to Expert One-on-One J2EE Design and Development. Good stuff, gets boring over the chapters introducing all those mighty and numerous Spring features, but the first chapters are very good and informative, and give quite some insights in how to develop better code, even without Spring. Applying the principles of Inversion of Control to your code already improves it in my experience.
* Cryptonomicon - Read that one on my trip to New Zealand. Good stuff. Weird plot at first, because the setting takes place in different places and times. But gets more and more tensing. While the ending was a little bit disappointing and fast-coming, a great read nonetheless.
* The Penguin History of New Zealand - We brought it with us from NZ, where it’s a best-seller, so it was a good read to complete that great trip.
* Getting Things Done - Well, you’re not a real (Mac-)geek, if you haven’t read it. Getting Things Done was also a huge thing in 2005. Pages like 43 Folders and tools like the Hipster PDA or Kinkless GTD did a lot to help spread the word about it. I’m not religious about GTD, but I’m pretty convinced that it did and will help me a lot as a project manager.
* Hibernate in Action - Well we started working with Hibernate around April, so this one was a must-read.
* Data Crunching - Already wrote a review about it.
* The Art of Project Management - An outstanding book. I picked up some great advice helping me to make the transition from developer to project manager, which is, of course, far from being complete, but I’m working on it ;). I’m definitely gonna read this again next year.
* Ship It! - Wrote a review about it as well
* Agile Web Development with Rails - The Book about The Framework. Great book that is. Fun to read and fun to work with.
* Pragmatic Version Control with Subversion - A slick and easy read about a great improvement over CVS.
* Secure Coding - Dry stuff at first, but makes you think while you’re reading it. The authors provide a lot of practical advice on how to tackle security with your application.
* Beyond Java - This book got a lot of attention over the last few weeks. It has some good points, but I think I’m not the only one when I say that it could have needed a few more eyeballs and maybe some more detail.
* Peopleware - Now those guys are managers everyone wants to work for.
* Refactoring - Was about time to read that. Interesting to see what progress has been made with IDEs and refactoring compared to how it’s done in the book.
Although the real-life work is very important for learning, in my opinion you just can’t read enough. It helps a lot to get different insights and to build an own opinion from it over time.
**Something left for next year?**
Why certainly, me and my team have been working under a lot of pressure for the last 5 months. Now I need to get some more quiet time in my life. And some more time to work out. Coming home after ten to twelve hours of work isn’t really a good motivation to go jogging afterwards, especially if you have a comfortable couch waiting.
My last vacation being that infamous trip to New Zealand some months back, the next stop is Australia. Can’t wait to get back there. Just like New Zealand a huge cultural difference compared to Germany, when it comes to the way of life. With it now being winter in Germany a great place to go. And besides all that, learning, learning, learning.