How to be a great freelancer
There is one thing I get praised for by every client I work for. The lack of the same thing frustrates me most when other freelancers work for me. One simple thing.
In software development (and in any other complex endeavor) things never go exactly as planned. Some stuff turns out to be more difficult than expected. Different solutions have to be explored. Manuals need to be read. Delays accumulate and deadlines need to be pushed.
All of this is normal. No big deal.
What is a big deal, however, is leaving your client in the dark. Letting deadlines slide without acknowledgment and explanation. Taking days to reply to the briefest emails.
It’s not rocket science. If you’re getting behind, tell your client it is happening and why. When you hit a hard problem, explain what you’re doing to solve it. When you mismanage your time, admit to it. And when everything is going great, communicate that too!
Sounds like a no-brainer? Good for you. Most developers I know don’t get this. You could be writing amazing code but if you make it hard for people to cooperate with you they will not hire you again.
Be a team player. Never stop talking to your client.