Back in March I made the decision not to renew my contract for a 4th year and instead to take some time off. After discussing my financial situation with my Accountant (aka wife) I found I could easily take 4 months off, but probably longer if I sent her out to work more :-) In the end it's been 6 months and I feel thoroughly refreshed and ready to dive back into working life. So did I manage to achieve all that I had planned?
Well, not exactly. I had grandiose plans of trying to attain a working style day where between 10am and 3pm would be devoted to 'career enhancing activities'. I would use this time to read various blogs & books and continue to work on my personal codebase to keep my eye in. Also I intended to get into writing by starting a blog and publishing some articles in the ACCU. The good thing about your work also being your hobby is that career development is far from being a chore! The bad thing is that it's hard sometimes to differentiate the two and ensure your family and social life gets the time it deserves.
More family time was the main reason for me taking a sabbatical. Commuting takes its toll, and with only occasional working from home, I missed the little things like taking my kids to school and picking them up again. Those short periods of time in the playground at the start and end of the school day allow you to track your child's ever changing circle of friends. Although I never worked long hours in the office (preferring to get home and work remotely instead after the kids have gone to bed) I still missed the family evening meal which is a nice time to find out what's happened during the day at school.
However, much as I love my family dearly, they aren't very good at the Geek talk :-) My eldest son is on his way to becoming a hardcore techie (not through any fault of mine you understand) but it's not the same as spending all day in a team with like-minded individuals. The biggest thing I miss is the social aspect of work. Even when I broke my ankle a year or so ago and did 3 weeks working from home, I found that being at home and keeping in touch with people by phone, email and chat just doesn't have the same buzz as being in the office.
Clearly it's been a case of 'Mission Accomplished' as far as family life goes, but did I manage to achieve anything else? Well, I got the writing started by having two reviews published in C Vu, and this blog, although not not daily or weekly, is getting some erratic TLC. I've read a considerable number of books - Imperfect C++, Extended STL, Extreme Programming Explained, Implementation Patterns, C++ Gems 1 & 2 to name a few. Plus I've bought and read selected chapters from numerous others, mostly as a result of following up on ideas I've read in other blogs and on the accu-general mailing list. The rabbit-hole soon gets pretty deep doing this :-)
Naturally I have managed to get some coding done, but not quite what I had intended. I was going to write a Wrapper Facade for the COM based Windows WMI infrastructure along with a couple of WMI based tools. I've only just started on that as I was distracted by some articles on Good Unit Tests by Kevlin Henney that caused me to do some refactoring of my unit testing framework in preparation for some serious TDD on my impending WMI library. The other major interruption was caused by finding out how easy it was to get GCC to compile my main C++ libraries and that snowballed into an investigation about using it for additional Static Code Analysis.
And what to next? Well, my new position is going to be something of a departure. After 15 years of C++ I am going to be entering the world of C#. At first it's supposed to be business as usual on the C++ front, but then it's probably going to be C# all the way. I'm hoping there will be some C++/C# Interop to ensure I still get to apply some of that rekindled and newly acquired knowledge from Imperfect C++ & Extended STL :-). I'm also looking forward to working again with some colleagues from previous jobs.
I've only written the obligatory 'Hello World' program in C# so far, but I'm sure the transition from C++ to C# will provide some blog fodder in the future...