I’m looking to learn from people with related careers who have succeeded, either as an independent consultant or with a startup.
Here is Matt’s story:
My background is computer networking, including a PhD from Cambridge, but I really learned to code on the job after graduating (don’t we all). I hopped from area to area every few years (industry standards meetings, hardware simulation, remote configuration, CORBA and business integration, wireless simulators, …) until I settled on providing tools for software development. I spent five years as the primary toolsmith at two or three different companies and during that time wrote a book for O’Reilly (Practical Development Environments) that basically summarized what I was doing for a living.
The next time that I was ready to change jobs, I simply asked to be employed as a consultant, paid by the hour. I was fortunate enough to have a client who had enough work to keep me busy for a few months while I was finding other clients. That was about three years ago and the work keeps rolling in. I’d guess more than half of it has been JIRA work, which mainly comes through the Atlassian Partners page. The rest of it is part word of mouth, part Google? I’m rarely booked more than a few weeks in advance so it’s always a bit edgy that way.
How did you become a “toolsmith”? I’m going out on a limb and guess it was more accidental than intentional, at least at first. Was there a point at which there was a deliberate transition to focusing on providing tools for others?
I complained about the general state of the tools in the company I was at and inevitably was asked if I thought I could do better. So I spent a while working on some of the problem tools and enjoyed getting down into the details of those tools. I also really liked the immediate feedback from people, rather than waiting until a product is released.
When I was next looking to make a move to another company, I thought about what I had enjoyed at the previous company and went for jobs in that area.
How did you become an independent consultant? You said you were “fortunate.” Do you think luck played a large part or were there other factors? Also, was it a conscious decision to become independent or did it “just happen”? What prompted the decision?
I think there’s always an element of fortune in life. But I’m smart, able to focus and communicate reasonably well, and I reckon that all helped. If it hadn’t worked out, I’d have taken another full-time job somewhere (mortage to pay, kids to feed).
It was a conscious decision to be independent, and I’m still enjoying the detachment that brings to the crazy world of software development. A consultant gets satisfaction from what is created or changed, but at the same time if the direction changes, so long as the bills are paid, that’s ok with me.
Why did you decide to write a book? And what motivated you to complete it?
I’m really stubborn! I went looking for a book about what I was doing day-to-day: version control, build systems, bug trackers, wikis etc. and didn’t find what I wanted. I felt strongly that such a book should exist.
Do you find having written it has been a major factor in building your reputation and helped you gain clients?
It doesn’t hurt, but it’s not been the deciding factor in any jobs that I’m aware of.
Personally I’m a bit afraid to open my mouth and “remove all doubt”, as the saying goes; not that I lack the convictions or am too modest to think I have nothing original to say.
I know what you mean. There are ways to avoid pronouncements though – “it seems to me”, “how about this?”, “perhaps I’m fuzzy on this, but”. And then sometimes you eventually have real experience to base your opinions on.