After working nearly three years at Legal and General, I finish my notice period there tomorrow, and will be moving swiftly onwards.
It’s been a fun few years, and I think I’ve managed to meet a lot of interesting people and extend my skills in many useful areas. For those (soon to be ex-) colleagues who are reading this, let me just say that I don’t know half of you as well as I should like; and I like less than half of you half as well as you deserve. Either way, I don’t live far away, and I’ll make sure I make an effort to keep in touch.
For the short term, I’m planning to offer my services as a contract software engineer slash architect, though I think that there is certainly scope for me to seek out opportunities using some of my wider skill sets, such as standards based web design, human computer interaction, automated build systems or even configuration management. Perhaps I might even try and publish the odd technical article. I’m still uncertain about the marketing strategy for such a skill set, though, as it sounds too unfocused. Maybe I should market myself as Renaissance Developer for Hire. 🙂
I’ve read a couple of articles in the last couple of months that have resonated with my beliefs and aims with regards to development. One of these is Renaissance Developer, a blog entry by Charles Cook. The gist of his post is the following:
If you only concentrate on what satisfies your immediate career needs, you’ll be living in a box with tinted windows. You’ll not only see everything in the box in a single shade of colour but worse than that you’ll be missing out on a world of other interesting and intellectually entertaining software ideas. So spend your evenings and weekends on something different from how you earn a living. It will be much more fun and you’ll incidentally end up a better developer, a Renaissance developer instead of an MSCE.
The second article is an essay by Scott Ambler, which builds upon this concept and introduces the term Generalizing Specialists. The main points can be summarised from the following quotes:
A generalizing specialist is someone with one or more technical specialities who actively seeks to gain new skills in both their existing specialities as well as in other areas, including both technical and domain areas.
A generalizing specialist is more than just a generalist. A generalist is a jack-of-all-trades but a master of none, whereas a generalizing specialist is a jack-of-all-trades and master of a few.
Both of these concepts are ideals to which I aspire, to such a degree that I’ve just changed the name of my blog to “Renaissance Developer”.
Recently spotted via Google: IBM developerWorks has recently published a new article on… JUnit Antipatterns! The article is quite a good read, as it covers different ground to the Exubero JUnit Antipatterns article. I’ll probably update the Exubero article at some stage to refer to the developerWorks article, and possibly adapt some of its content.
I came across the My Favourite Word website while I was browsing del.icio.us, and I had to submit an entry for sesquipedalian:
This word makes me laugh, because it can be used to describe itself, as well as anyone who uses the word. It’s like a self referential joke.
This has been my favourite word for years, after a friend at work first told me about it. Anyway, back to the haphazardly scheduled technical blog content…
I’ve updated the JUnit AntiPatterns article after receiving a number of emails giving feedback on suggested improvements and new anti-patterns. I’ve made the following changes:
- Added sections for Misuse of Assertions and Redundant Assertions, and reorganised the anti-patterns that relate to assertions.
- Anti-pattern examples and the refactored solutions are now styled differently.
On the subject of changing jobs, here’s a few points I’ve been considering:
- I’m in a stress free but relatively low-paid job as a software engineer in an insurance company. Three miles from home to the office is very handy, especially considering I often have to pick up children from nursery. However…
- I’m generally frustrated with the heavy weight and bureaucratic, yet rather ad-hoc nature of the development processes. Although this is not a major issue for me, there are other considerations…
- I’ve been transferred to a project that could be described as “morale sapping” by applying a generous dose of optimism.
- This new project is based in Redhill, about ten miles away. This is no longer that convenient for me.
- The IT job market has been steadily improving over the last year, and agents are calling me out of the blue asking for availability.
- I’ve been meaning to try my hand at the contract market for a long time now, where I’m certain I could very easily double my income.
- My kids are now at the stage where I should be able to venture further afield without neglecting them too much
On Friday, I came to the point where I had a chance to think these issues over, came to the obvious conclusion, and handed in my resignation. It looks like I’m about to go back onto the job market. Time to update my CV.
(BTW, if anyone knows about job opportunities opening up around late September, let me know).
Mike Clark mentioned my Ant dependencies article on Pragmatic Automation last week. For a low traffic site such as Exubero, it’s easy to look in the referrer logs to see how that reference has spread to various other blogs. I was relatively surprised about the effect that social bookmarking has on propagating ideas. I haven’t paid much attention to the phenomenon before, but the multiplier effect on the incoming referrers certainly made me look a lot closer.