For the usual readers, you might have noticed I tend to avoid mentioning employers because my blog entries are solely of my own opinions, and any associations or agreements are purely coincidental. Today is a little bit different (in that I will mention my employer) because this is my first anniversary with my current employer, Thoughtworks.
A little bit about my background. 2005 is my fourth year of being a professional software developer, working my way up from apprentice to journeyman, on towards being a master craftsman. I spent my first two years working for Oracle where my fantastic manager gave me the freedom and challenges to grow out of the all important attitude-shaping years of being a graduate. After working with some agile processes there, I continually stumbled across references to Thoughtworks (all in good contexts) and ended up applying for a job. A few (six) months later, the recruitment process ended and here I am today, one year on as a Consultant working out of their Brisbane office.
I realise that my experiences in consulting have been shaped by the nature of Thoughtworks’ Brisbane office and the commercial landscape of Brisbane itself. Despite initial expectations of projects that last between 3-6 months and involve potentially lots of travel (which I don’t really mind in this stage of my life), it so happens that I have been on the same project since first joining and what travel I did do last year was mainly around my own holidays. I’ve been lucky enough to work on a project involving a larger number of Thoughtworkers, though not as many as I imagine I could have, had I been working out of the Sydney or Melbourne office (something I, as well as many other TWers would like to do).
The project itself has been pretty good, both from a technical perspective and an agile process perspective. It has become ever better this year, with the team having more self-empowerment and ability to manage itself. Last year the project had been heavily based on a single person’s interpretation of “agile” and unfortunately almost all input team members gave from both technical and process standpoints were always overridden (an anti-pattern I highly recommend any budding benevolent dictator avoid implementing if you want to build successful self-empowered teams). Agile is great, but I would love other opportunities to experience other projects to see other people’s interpretation and application of it.
I have been here for three internal conferences, where everyone in TW Oz gets together and I find these amazingly refreshing. Besides meeting everyone else in TW Australia (something we rarely get to do), hearing everyone’s passions for different things has helped me challenge myself and grow professionally this last year. I’ve learned so much about lightweight processes, technologies and strategies from the conversations and exchanges I’ve had with other TWers. I even presented (with the great help of Andy) at our last internal conference and despite being accepted into the Agile India conference, had to pull out due to some poor internal timing issues.
I was bit worried by my age when I first joined, calculating that I would have been the youngest member of our Australia office by at least a few years (not now that we have grads though!). Thankfully everyone is treated is the same regardless of age, and everyone can converse with anyone with the same level of passion or argue with the same level of heat. I do wish that there was a bit more of a structure in place, especially for younger people, to provide a little more guidance/advice, because although I can see where other people are in their careers after years in the industry, it takes me a while to work out how they got there, and work out what else I can do to expedite my journey to being a master craftsman. I find that it is sometimes good to have challenges set by other people as well to build upon your own goals and provide opportunities to outreach what grasp you think you may have.
Consulting (especially on-site consulting) is different from traditional software development. The hours are certainly not as flexible as traditional product development, and on top of the hours you do on site being billable, there are many more that eat into your own personal time, doing the things that have to be done. Besides administrative time and definitely worthwhile time catching up with other TWers, the slack time that many other development shops probably have too much of, ends up being absorbed by consultants in their own time (but we’re lucky we’re so passionate about the things we do).
Being onsite all the time, especially for such a long time certainly affects your own working attitude. I know a lot of the things that came out of my review last year was the end result of maintaining the balance between being passionate about your beliefs, arguing over and defending differences in opinions, delivering business value, growing good working relationships with the team, all while trying to maintain the “professional demeanour” expected of consultants. It’s hard to know how you’re doing with such little feedback and advice, and ever harder to do it better without this continuous loop. Asking for help and advice is the one thing I am trying to do more of, so that I can become better at what I do.
So the good: meeting and working with brilliant people, being continuously challenged, growing significantly from a professional perspective. The could be (and maybe even soon to be) improved: being a single-project consultant, lack of travel opportunities, and more feedback.