Most people I talk to who need web development help are frustrated and unsure. Many have had painful experiences with previous developers, and almost all are suspicious about being taken advantage of.
Getting web work done properly at the right price can be a grab bag of uncertainty and risk.
This stems from the nature of the web development industry itself: it’s a jungle out there. Even more than finding a good auto mechanic, getting web work done properly at the right price can be a grab bag of uncertainty and risk. No wonder people are frustrated!
I thought it could be useful to briefly explain the forces that make finding and evaluating web development help so difficult, as well as give some general advice—for both developers and potential clients—for navigating the industry properly.
So here’s why web development is a jungle:
Vast, Constantly Shifting Knowledge Base
To build a site properly, a competent freelance web developer must have detailed knowledge of the following fields:
- HTML/CSS. HTML/CSS best practices change almost completely every five years or so, with the birth and death of browsers that interpret markup extremely differently, disruptions like the introduction of internet-enabled mobile phones and tablets, and the constant expansion and evolution of the HTML and CSS languages themselves.
- A content management system. Below a certain threshold of complexity, almost all client sites should be on some form of CMS. Any CMS is a vast domain of knowledge in itself, and CMSes are constantly undergoing radical changes.
- PHP or a similar server-side scripting language. Using a common CMS properly implies familiarity with PHP, which is a notoriously large and idiosyncratic language, and undergoes frequent revisions.
- SEO. SEO is a double-jungle: it has all the problems listed here, but is actually even more opaque and volatile because of an ever-shifting Google algorithm and the difficulty of measuring and attributing changes in web traffic over months. A web developer must at least know enough about SEO best practices to avoid making severe mistakes in the construction and deployment of client sites.
- Design. Design sensibilities are constantly changing, in response to both taste (flat design) and the evolving web (responsive design). Developers don’t necessarily need to have a lot of visual talent, but they must understand how to build sites that are both attractive and properly structured for the current incarnation of the web.
- Lots of practical knowledge. “What web hosting is best for different types of clients,” “the best options for building e-commerce sites,” “how to import web fonts and from where,” “which browsers to test and for what,” “when and whether to use a responsive grid”: these and dozens of similar questions can make a huge difference in the quality of the developer’s work, and the answer to each shifts rapidly.
So competent web developers are constantly learning and reinventing the way they do their jobs; this is the only way to offer a quality product. Developers with rusty or missing skill sets can still build websites, but the gaps will show up in ways that are difficult to predict.
If you can find people who’ll pay you to build websites, you’re a web developer.
Despite the huge and ever-shifting body of knowledge required to do competent web development, the field carries no formal credentialling process. If you can find people who’ll pay you to build websites, you’re a web developer. This opens the industry to incompletely educated developers, and makes it more difficult to gauge whether a particular developer is trustworthy.
Judging whether a web development project is going “well” is extremely hard for the client, past the most obvious indication (“I see something when I visit the page”). This is because many missteps in web work are inherently difficult to observe:
Functional but Brittle
Bad development choices often lead to a site that works okay, but is exceptionally fragile and impossible to modify.
Bad development choices often lead to a site that works okay, but only exactly the way it is: it’s both exceptionally fragile—prone to break with different browsers, new devices, etc.—and impossible to modify. When you try to make reasonable changes (say, adding a page to the navigation menu, making a homepage image a little bigger), the whole house of cards topples and you find yourself redoing the whole project.
This is one reason why a web developer’s assessment of a project can be quite different from what the client might expect. Of course, web developers are very prone to complain about the previous developer on a given project no matter what, so as a client it’s very difficult to know which complaints are valid.
These problems may not manifest as “problems” at all—it’s just that the site could have been much, much better if the client or the developer would’ve known about them.
In fact, the most common problems probably occur when a web developer is missing—or badly behind on—an entire field of knowledge, such as one of the fields described above. The site doesn’t work well on mobile phones because the developer doesn’t know about the responsive design paradigm, the site isn’t user-editable because the developer doesn’t know the value of content management systems, the site is a bunch of PayPal buttons because the developer doesn’t understand better e-commerce solutions, etc. These problems may not manifest as “problems” at all—it’s just that the site could have been much, much better if the client or the developer would’ve known about them.
Easy to Identify, Hard to Diagnose
Even problems that are easy to identify can be really hard to diagnose or attribute.
Price estimates for web development work can look like they were pulled out of a random number generator.
Because web development is such a jungle in the other respects described above, price estimates for development work can look like they were pulled out of a random number generator.
This doesn’t mean that developers have any intent to take advantage of clients. Two developers might approach the same project in vastly different ways—build it from scratch or put it on a stock WordPress theme—that imply hugely different amounts of work. One of these approaches could be the right answer for your project, but it’s very difficult to know which.
Then there are the sizable differences in the (formal or implied) hourly rates that developers are able to ask. Because a good developer is so much better than a bad one, and because so much often hinges on finding someone who can solve a technical problem, developers can charge very divergent rates for their time. The differences between developers might not be apparent to you as a client, and they may or may not be important for your particular project—it’s very difficult to know.
Multiply the range of ways of approaching any given problem by the huge variance in developer cost, and you see the result: estimates can contain almost any number with between two and six digits.
What to Do?
There’s obviously no easy answer for any of these problems, or they’d be fixed by now. But a few suggestions can help both developers and clients navigate the jungle.
- Stay educated. You need to be constantly learning, or you’ll be giving your clients subpar results. This is a basic reality of web development. If you’re like most good developers, you love to learn, so this should be a win-win.
- Focus on providing client value. You need to figure out what the client’s real needs are—independent of technology—and provide solutions that will meet them. Whatever technical knowledge you have, you’re most likely to have satisfied clients if your work actually helps them achieve their goals, whether that’s attracting new customers, gaining wider exposure, or beautifully showcasing their interests.
- Do it right. The lopsidedness of the industry makes it possible, in the short run, to make a living doing middling to substandard work. But this kind of work is draining: your clients won’t return, you’ll have to overspend on marketing to make up for the lack of referrals, and you’ll be constantly fighting extinction in a global marketplace saturated with much cheaper (and similarly low-quality) work. The only way to make it long-term is to focus on quality. So be humble about what you don’t know, educate yourself, ask questions, go to developer meetups. It’s fun!
- Get as educated as possible. If you want an online store, read up as much on what solutions are out there, and come to your potential developer with questions. If your developer suggests a particular route for the project, don’t stop asking questions until you understand at least the broad outlines of why this particular solution is the best fit for you.
- Get second opinions. Talk to multiple developers. See if their approaches to your project are at all similar. Mention one developer’s idea as if it’s your own, and see how it bounces off the second developer.
- Use social proof. How did the developer’s last clients enjoy working with him or her? How are the sites the developer built six months ago performing now? Is the site meeting the clients’ goals?
- Focus on value, not cost. Your budget is limited, but money should not be the primary driver of the decisions you make. Know exactly what you want and why you want it, focus on the value you plan to receive, and be willing to pay for quality. Budget should just be another constraint on the project, along with the project scope, your time, and the developer’s.
In this post, we’ve outlined the web development jungle and what makes it that way, and presented a few basic tips for surviving in it. What do you think: Did we miss anything, and do you have any survival tips of your own? We’d love to hear from you in the comments below!
Image Credits: Fabio Venni