Ten-Email Volley or Five-Minute Phone Call?
In my experience, some of the formality of programming for hire seems to precipitate an unfortunate reliance on email for communication in lieu of picking up the phone, and this goes both ways: client to programmer, and programmer to client. There are a number of reasons for this that I can see:
- The stereotype that programmers are anti-social and/or need to concentrate (a client might think “maybe I shouldn’t call them and interrupt their programming mojo”).
- The reality that programmers are anti-social and/or need to concentrate (a programmer might think “if I call them we’ll get wrapped up in all kinds of winding dialog about out-of-scope feature requests and what-ifs”).
- An unclear working arrangement for that kind of time spent (does phoning up the programmer hotline rack up billable hours?).
- A perceived notion that an email, being less intrusive, is a better way to respect the other party’s time.
These are all valid reasons, but the downside of being stuck with them is the [largely hidden] downside that lurks in relying on email communication for such a thing as software development.
Software development is complex.
It’s not necessarily hard, but it’s complex: there are many small parts that come together to make up the finished product. The process of creating it is therefore is ripe for ambiguities, misunderstandings, and varied interpretations of the same stated intentions.
The antidote? Clear and fluid communication. Communication that does not require formalities like a scheduled meeting with 2 weeks lead time. My ideal is being able to pick up the phone, get my client up to speed on what’s going on, and answer whatever questions are on the table. Five minutes is par for the process, and when it really works we end the call feeling like genuine collaborators building something great, clear that our visions are aligned and we’re on track.
By email that kind of satisfaction just isn’t possible. If I have a question, there’s a decent chance that what I’m asking won’t be fully addressed by the email answer I get back, and an even better chance that I’ll have a follow up question precipitated by that answer. The minutes both me and the client have spent typing up our correspondence quickly passes the five minute mark, and the back and forth doesn’t do nearly as much to bolster a sense of team, or confidence that all is progressing smoothly.
That’s why I like to encourage that kind of accessibility: I want my clients to call me up when they’ve got something on their mind pertinent to the project, and I request of them license to do the same. I have yet to have a client abuse the privilege or even come close to doing anything that could be called wasting my time. When I come across a design decision I hadn’t considered and don’t know enough to pick what will be best for the business, I love calling my client and getting them in on the scenario. It gets them interested and involved in new opportunities, and lets them be more at the helm of getting exactly the end product they want.
Next: Public Service Announcement: Have a Translator
This is Programmer for Hire, a series of essays and explorations on the art of being a great programmer doing on-demand custom software development.