So you want to build something on the Web.
Maybe you’ve got a great app idea and you just need someone to build it for you. Maybe you’re in charge of expanding the existing platform for the company you work for. No matter what you are building, you will encounter the same question your first time around the block:
Where are all the good Web developers?
After working with various developers in different levels for over 12 years, I’ve learned that finding a great developer can be been hit or miss. Without some guidance or know-how, you will invariably end up with a bad one, since my experience has led me to believe that bad developers outnumber the truly great ones by a hundred to one. Over the course of 12 years, I’ve seen plenty of “developers” who boast their technical ability on paper only to fail a simple “Hello World” screening test.
During my time working for a software company where I was involved in hiring as well as working on projects with various developers at various levels, I encountered this issue time and time again. But as the situation recurred, I began to recognize ways around it. So, to save you from all the headaches I’ve experienced, here’s what I now know.
Don’t be fooled
Why is it so difficult to find a good developer? First of all, it’s 2015 — you and everyone else in the world want a nice Web application. Web development is a huge business. According to a Gartner report, large companies spend roughly $130 billion (with a “B”) on building websites alone. Because Web development is a technical discipline at its core, it’s easy for nontechnical types to get completely lost in the weeds. There is ample opportunity for scammers to fool unsuspecting clients into bad deals, and for mediocre coders to fool you (and themselves) into thinking they know what they are doing.
In addition to being trustworthy and able to code, the right developer must also be able to communicate well, understand your needs, explain options, adapt quickly to problems, and do all of it within budget and time constraints. These can be hard criteria to meet.
What are you doing wrong?
According to a study by the Computing Research Association, overall enrollment in computer science programs increased by 11.5% in the 2011-12 school year, marking the fourth year of increase. Those students should now be graduating, adding to the existing developer pool. So why are good Web developers so hard to find? There are two major reasons you are most likely to find yourself in this conundrum:
- You’re probably a bad client.
- You’re looking in the wrong place.
Let’s examine these possibilities a little more closely.
You’re a bad client
The best developers have had their fair share of bad gigs already, and they know what to look out for. If they see any of these red flags, you’re done for:
Let’s clear this up right away:
Good developers are not cheap. Cheap developers are not good.
Yes, there are exceptions, but if you’re banking on them, you might as well play the lottery. Good developers are notoriously hard to vet. Open marketplace sites that purport to make competition work in your favor actually just serve to create markets flooded with subpar and often unreliable providers. Skilled Web developers who join these platforms are drowned out in the noise and unable to operate at any profit. Quickly realizing there are greener pastures elsewhere, they usually move on.
“That’s OK,” you might say. “I don’t need it to be perfect.” But a poorly built piece of software is often less than worthless: It is a liability. At one point, I was working on a billing software project where we needed skilled C# programmers. Since C# is a programming language that’s easy to learn yet very difficult to master, we struggled in finding the best person to work with us. The hiring process dragged on the whole project timeline, so we ended up selecting from a pool of developers in a marketplace (which will remain unnamed). It was a tedious process, and likely to be even worse for companies that don’t have hiring managers with deep tech knowledge. After a series of interviews and tests, we settled on a couple of C# developers who looked great on paper but were complete letdowns when it came to the actual work. We struggled through to a completed product, but only because we didn’t have much choice.
When I say that we ended up with a “completed product,” I do not mean that our troubles were over. Far from it. In fact, they were just beginning. Buggy architecture is not something you can hide from your users. It’s not just unattractive; it is infuriating to interact with. And once you have started down this path, you will be forever haunted by the compounding costs of the worst enemy you have ever faced: code debt. In the long run, fixing a broken and hacked-together code base can easily cost 10 times as much as it would have cost to do it correctly in the first place.
Do not make the mistake of thinking that you are going to be able to complete your project for a couple of thousand dollars because the median rate for decent freelance Web developers is around $40 per hour. It’s a reasonable rate, but what trips up naive clients is their tendency to vastly underestimate how many hours their project will require. For even a simple custom Web application, a good ballpark figure to get your head is $10,000.
You don’t know what you want or what you are doing
If this describes you, the really good Web developers will shun you. Building a website is a team effort. A developer may be able to do a lot of great things for you, but it’s your responsibility to give the project vision and direction.
Projects that lack proper guidance fall to pieces for a multitude of reasons. Often this leads to disputes and delayed (or even lost) payments. There are many red flags that a potential client is a potential disaster, and good Web developers have a keen sense for detecting the warning signs.
The job is to clean up someone else’s mess
This is a perfect example of how hiring a bad developer will come back to bite you. Most developers worth their salt want to build new things with their talents and are not interested in untangling some other joker’s compounded knots of code. If the job is to fix a broken code base that was built by someone else, you will be hard-pressed to find anyone qualified who is enthusiastic about taking it on.
You’re looking in the wrong place
Let’s say that you’re an ideal client and any Web developer would be lucky to work with you, but you’re still having problems finding one who fits. It seems as if the right developer is but an ephemeral daydream, a passing ghost, a fantasy. Do not despair. You’re probably just looking in the wrong place.
Confining one’s search to one’s immediate vicinity is a mistake that is less common these days. But it’s still important to drive the point home for a first-time client. Modern technology makes it easy to meet with people even if they are on the other side of the planet.
There are few people more naturally adept at making full use of this fact than Web developers. Online and cloud-based tools such as Skype, Google Docs, GitHub and countless more make it possible to do everything that is necessary for a development engagement remotely — be it engaging in live, face-to-face conversation; drawing up paperwork; reviewing deliverables; or launching the product. Remote work has skyrocketed in the last decade and is now well past the proving stage, with all kinds of companies (including Toptal, Automattic, and GitHub, to name a few) finding great success working with developers who are thousands of miles away.
In the pioneering days of remote online work, both the client and the developer had to take on significant risk in working with someone they could not physically meet or hold accountable, but the industry adapted and solutions to the potential pitfalls evolved. Today, companies exist like the aforementioned Toptal that offer a curated network of elite developers, employing a thorough screening process to ensure ability and accountability.
Even if you live in a mega-metropolis with 15 million people, simply focusing locally immediately eliminates over 99% of the global population from consideration. As former GitHub CEO Tom Preston-Werner famously put it, “Companies that aren’t distributed can’t possibly say that they hire the best people. The world is a big place.”
Silicon Valley hype machine
“But there are no good developers in, like, Africa.”
This is flat-out incorrect. It’s easy to get fooled into thinking all the good developers who can build real apps live in California, or, at least, in Western urban centers. But that’s an illusion.
Yes, Silicon Valley is the premier powerhouse of technological innovation globally, spawning revolutionary changes with ever-increasing frequency. But, more to the point, it’s where all the money is. Around this rarified concentration of uniquely talented and enterprising individuals swirls a vast vortex of liquid capital.
As a result, the Valley has become a caricature of itself. Silicon Valley developers are some of the most expensive in the world, and they have to be, because they live in one of the most expensive regions in America, where developers earning six-figure salaries find themselves struggling to pay rent.
There are countless excellent developers on earth who take no part in the Valley hype machine and way of life, either by circumstance or by choice. Some do not have the socioeconomic means to move to a big Western city, and still more simply have no interest in doing so. But they do have the Internet, and are happy to write great code for you.
Don’t underestimate a smart person with a computer. Developers diffuse knowledge like nobody’s business on forums and chat rooms and blogs, and the internet is a vast equalizer where borders are passé. These men and women work hard every day to deliver top-quality software to satisfied customers.
Finding a good Web developer is not a rocket science. There is burden on you to know what you want and to be able to pay for it. However, once you’ve got your act together, it’s just a matter of looking in the right place, and there is no greater pool than the online community of proven, professional remote developers.
Josh Althuser is an open software advocate, Web architect and tech entrepreneur. Over the past 12 years, he has spent most of his time advocating for open-source software and managing teams and projects, as well as providing enterprise-level consultancy for Web applications and helping bring their products to the market. You may connect with him on Twitter.