Archive for December, 2009In software development, refactoring is the process of improving how code is structured, usually because the original implementation was sub-optimal or the circumstances in which the code is being used have changed. The aim is elegance: that subjective and elusive blend of functionality and simplicity.
My family recently decided to set a ‘theme’ for 2010 - a guiding concept for the decisions we make through the year. We chose “simplicity”, but it has since occurred to us that what we’re really after is elegance. I want to move through life with as little resistance as possible, while still achieving and growing and living. That means cutting things back to their simplest yet most functional, removing the accumulated cruft, reforming into the optimal shape.
One of the interesting things about elegance is that it is underpinned by a clear purpose. While you can superficially simplify, you cannot hone down to the core functionality without knowing the exact purpose. In order to work towards creating an elegant life I need to clearly define what I want to achieve, which obviously has been rattling around in my head a little lately.
Essentially, I want to refactor my life.
Although I know how to refactor code, applying those same principles to my life is sure going to be interesting. But I like it as a metaphor because refactoring is most effective when it’s incremental and constant. Small achievable improvements done regularly, rather than wholesale re-writes, sounds like a pretty good way to approach life.
I foreshadowed this post almost a year ago when I wondered aloud about what I really liked doing. The thoughts that were starting to form then have melded with a year of experience, and I find myself at a rather definite decision point in my career. According to my pay grade I’ve been a middle manager for a few years now, but in reality I’ve been almost purely technical with the occasional bit of staff & project management thrown in. I moved into my current team 6 months ago because I’m passionate about the work - it’s an area I’ve previously put a lot of energy into and I feel a strong connection with the business. The team is large enough to have a dedicated project manager and a senior tech lead, and the plan of course was that I would be the tech lead. But for various reasons I haven’t written any code (at work) for the last 6 months, which is easily the longest period since I finished uni 8 years ago. If I wasn’t writing code because I was too busy with deep technical designs maybe this wouldn’t be an issue, but in reality I’ve been spending most of my time on project management. And I have to admit, I’ve been enjoying it. I’ve learnt a lot of new skills and have started thinking at a different level, and having the ability to concentrate on what my team needs without worrying about my own technical delivery has been somewhat freeing. At this point I could go either way: pick up the management thread and see where it takes me; or push back into the technical and try and etch out a career for myself there. I’m only just starting to come to terms with the consequences of each of those options. Read the rest of this entry » Although I’ve known about it for a little while, I’ve finally set up a Posterous account. The concept is very cool - publishing to all of your social sites (Twitter, Facebook, Flickr, YouTube, your blog etc) by sending an email to one place. So the subject of your email goes to Twitter with a link to the post, photo attachments are sent to Flickr, video attachments send to YouTube and embedded in your post, and the whole thing is sent to your blog. Of course there’s a whole heap of flexibility in how you direct things. I’m looking forward to getting to know Posterous a bit better - if it lives up to its potential I think I’ll be in love.
|

Entries (RSS)