Sunday, 8th of May marks five years at Readify for me. This week I am reflecting on the things I have learnt and the experiences I have had. On the bus home tonight, I did some thinking about some of the things I've learned over the years.
- Communication, communication, communication
I learned how important it is to keep my client/team up to date with what I'm up to. It's important to let them know when I am blocked, and also when I accomplish something. Communication is the only "hammer" that can truly solve any problem.
- Act on the voices in your head and cognitive dissonance.
Sometimes I have a nagging feeling that the client misunderstood me, or that I am missing something, but I'm worried about bringing it up again or looking foolish. I learnt to act on that feeling.
- Set expectations, then, set them again
Problems often arise when you and the client have different ideas in mind of what you're going to deliver, often because you both assumed the other knew. Working iteratively and using planning and review sessions really helps with this, but the process can't do it alone.
- Assume the best intentions
Most people are trying to do the right thing, they just have different information and contexts. Instead of assuming the person you're working with is doing the "wrong" thing on purpose, I learnt to take time to talk to them and understand their motivations. 90% of the time I find they are doing the best they can, and I would have made the same choices in their shoes. Through understanding them I'll be able to develop a better working relationship.
- Respect the client
I'm smart with computers, so I naturally assumed I must be smart at everything else. But I learned early on not to assume I know better than the client about (almost) anything. If I see a problem, I'll ask, but I try to always assume the client knows their business better than me.
- Delivery is the key to trust
As a consultant, you work through influence, not control. For that you need trust. I learnt long ago that trust needs to be earned, and the best way to do that is by delivering. When there's a problem, I can't just wave my arms about and offer solutions and expect to be taken seriously. I learnt to roll up my sleeves, deliver something, and earn that trust. Once I have the trust, I can then start to improve things.
- Overtime is never the solution
I once spent 6 months doing 12-14 hour days and working weekends for a client, on the assumption that all the hard work would be worth it. It wasn't. In fact, it was the wrong thing to do. The overtime validated to the client that it was OK to push people that hard, and my willingness to do it "for the greater good" probably hurt my team more than helped. I learned working long hours is never the answer. I haven't heard from the company since, so I doubt it was time appreciated. On the other hand, I get Christmas cards from a company in Adelaide that I worked for (for a shorter time), doing the standard 9-5, adding real value. I want more of those clients.
- When you don't know, say so
It might sound bad, but it actually took me a few years to be comfortable with this. A lot of my self-confidence was tied up in the idea that I was an "expert" in my technology niche, and I felt uncomfortable admitting when I didn't know something that I should. As I've matured, I'm more comfortable answering with "I don't know".
- Ask for help
Readify, from my perspective, has good support structures in place to help when I'm worried about something. Usually it's nothing (I've had good luck in that I've never really had a problem with a client), but I learned that it is better to make a mountain out of a molehill than to have said mountain fall on top of me :-)
Thanks to my colleagues at Readify, both past and present, and to the many clients I've been lucky enough to work for. You made the last five years very rewarding.
Hello, I'm Paul Stovell
I'm a Brisbane-based software developer, and founder of Octopus Deploy, a DevOps automation software company. This is my personal blog where I write about my journey with Octopus and software development.
I write new blog posts about once a month. Subscribe and I'll send you an email when I publish something new.Subscribe