Two hooded men at the top of an orange dune against a blue sky

As a fresh semester starts up for me teaching web development, now seems a good time to talk about communication.

Communicating code and design problems is a skill, something that has to be learned by clients, students, and novice developers alike. You don’t need to be a fully-fledged programmer to ask questions, and you shouldn’t hesitate to ask for help, but gaining a positive resolution to your problem is far more likely if your conversation follows a few simple guidelines.

Web developers building a site under contract typically choose one of two methods for compensation:

  • Charging a flat fee, based on the estimated number hours it will take to complete the site.
  • Working for an hourly rate, invoicing the client at the end of every period.

 Both systems have well-known deficits:

  • Estimates are notoriously inaccurate, often leading to the developer working overtime on projects.
  • Clients will often hold back final payments, demanding further changes to the site.
  • Freelancers can find it difficult to chase up clients with invoices for ongoing work.
  • Clients often don’t understand that “small” requests can inflate development hours.

Rather than choosing one of two bad options, I’d urge web developers to consider an alternative: a “time pool”.

Stephen TobolowkyThis article was inspired by an unlikely source: stories by character actor Stephen Tobolowsky (Groundhog Day, Deadwood, Memento, Glee) from the podcast The Tobolowsky Files, in particular the “X Factor” episode. In that episode, Mr. Tobolowsky talks about the audition process. As he says, auditioning and interviewing for a job is really the same thing: a chance to show how you can fill a role. As such, the rules for success are very much the same: