Some of the most important lessons I’ve learned as a web guy have nothing to do with things like PHP and CSS; they have everything to do with honesty and communication.
On a fairly regular basis, I get calls from disgruntled business owners who have had a less-than-awesome experience working with a web developer.
“My web guy won’t return my f***-ing phone calls!”
“He took our deposit and ran!”
Part of this is great for my business, because I can do simple things like return phone calls, and be perceived as a god-like figure. But in reality, this lack of professionalism by my counterparts taints my industry, and generally makes building client trust that much more difficult.
I spotted a trend with most of the client complaints that I was hearing toward other web developers – most of the time the client was not upset with the technical ability of the developer – they were upset with the lack of communication.
Tip of the day for web developers: If something is outside of your technical ability, either don’t take the job, or share your apprehension with the prospect.
In most cases, they’ll appreciate your honesty. Bite off more than you can chew, and not only will you run the risk of missing deadlines, but you’ll also find yourself in a struggle to complete the project all together – I would know.
In the past, I’ve had stubbornness get the best of me; “sure! I can manually code your website’s complex reservation system and then sync it to your custom iPhone app. How does $400 sound for this little project?”
That’s a slightly-exaggerated real-life thing that happened to me. Maybe I was feeling ballsy and wanted a challenge. Maybe it was a slow month and I wanted to buy brand name cereal. The reality is I should have given the scenario more careful consideration (and given an estimate that was about 40 times larger).
But I was young and dumb.
Now back to my point. How did I handle the scenario above? I could have easily turned into one of the shitheads that decides to not pick up the phone when the client calls and asks for an update, and I could have promptly moved the clients emails into the trash and forgotten about it.
Instead, I called the business owner, I told them that I was struggling with the project, and (gulp) possibly bit off more than I could chew. I offered a couple of alternative work-around solutions, all the while letting them know that if they wanted to take a meeting to discuss in person, I would be more than happy to accommodate.
Guess how the client reacted? They showed up at my house and threatened me with physical violence. Just kidding, but that would have been an interesting twist. But really, they were cool about it.
They didn’t ask for a refund on their deposit. Instead, they were receptive to my alternative solutions, and deep down, I could tell that they appreciated the honesty – perhaps because they had been burned once or twice in the past by developers who took a different road in a similar scenario.
Bottom line: everyone likes a challenge once in a while, but don’t take on projects that are outside the scope of your technical ability. It’s rarely worth it and it’s not fair to bill the client for something that you’re learning as you go. Outsourcing in these scenarios can also present plenty of challenges too, but that’s an entirely different post that I intend to delve into in the very near future.
If you do find yourself in this kind of predicament – for the love of god, communicate! Being honest is not only the right thing to do morally, it will also make your projects go a million times smoother, and help you forge better relationships with your clients. The brand name cereal isn’t always worth the stress.