It’s hard to find a good web developer.
Part of that is because web development is a jungle of unlicensed practitioners with very different interests, price points, and skill levels—meaning it’s a lot tougher to know where to start than if you were looking for a good, say, heart surgeon. But it’s also important that you know what you’re looking for: you’ll want to think carefully about what a good developer actually is, and how to test for those traits as much as possible before you get deep into a project.
Elements of a Good Developer
Being a good web developer requires combining a number of crucial traits.
To be good at some things, you need to have as much as possible of a very limited set of qualities. Sprinters, for example, just need to be fast—everything else is secondary.
Being a developer is the opposite of that. It’s more like being a good musician (well trained, technically skilled, expressive, good musical taste, blends well with other musicians…) or a good parent (ethical, caring, resilient, emotionally stable…): it’s a combination of a number of crucial traits which don’t even have any particular priority because they’re all mandatory.
So to we’ll be describing each of these traits, and looking at ways you can quickly tell whether the person you’re talking to embodies them.
Focused on Value for Clients
Your web developer should not be out to just “build what you ask for.” A huge part of a web developer’s value is that he or she may know solutions to your underlying problems that you never would have considered.
So your web developer will need to know what underlying goals you’re trying to achieve, and should orient every technical decision he or she makes around solving those goals. He or she should be a partner in strategy as you decide what shape your online presence should take, constantly suggesting better ways to move toward solving your goals.
Testing for This:
Pay attention to how your developer acts in your first conversations. He or she should make it a point to understand clearly and exactly what your underlying goals are, and should start to piece together technologies and processes that can move toward them. Try to throw out a question about a piece of your project you’re unsure of (“Do I really need a mobile app for this?”). Your developer should be opinionated, and you should consistently be thinking, “Hey, that’s a pretty good point.”
You can also look at the developer’s track record with previous clients. What was the key goal of each project, and how did the developer move the client toward achieving that goal? Your developer should have a ready answer—if the question comes as a surprise, watch out.
Your developer needs to deeply understand the technologies at play in your web project. Depending on the project, that could mean a huge number of things—such as:
- Writing HTML markup and CSS styles that are sensible, compliant with current best practices, and compatible cross-browser
- Turning complex project needs into clean, secure, reliable, extensible PHP code
- Knowing WordPress deeply enough to code within the environment it creates, rather than hacking around it
- Troubleshooting hosting configuration issues
If your project calls for one of these types of technical knowledge and your developer doesn’t have it, you’re likely to have a bad experience. Perhaps your project won’t work properly at all, or perhaps it’ll work but be built in rickety, archaic ways that immediately break in new environments.
Testing for This:
After explaining your goals, ask your developer what types of technical knowledge the project is likely to involve; then ask for examples of that knowledge in the developer’s own work. Check out how smoothly and convincingly the developer answers both questions: a confident, experienced developer is likely to have a good grasp on the technologies that your project will require, and a long list of prior projects that engage those skills.
Also, as much as you can, try to present problems or technical challenges to the developer early. Bounce one or two technical issues or uncertainties off your developer, or mention something that’s broken and see if he or she doesn’t mind taking a look. Even employing your developer for a small initial “tech support” job that you think will be related to your larger project can be a great litmus test.
In either case, try to pay attention to the developer’s general energy: Do things tend to fix themselves around him or her—or do they tend to break further or come out half-working and fragile? Does he or she seem in control, or half-panicked?
Has the Domain Expertise to Find the Right Solutions
This is related to technical skill, but distinct: it means that the developer knows enough about your particular problem domain to find the best route to solving your goals. In other words, your developer may have great programming chops, but he or she will also need the training, experience, and common sense to make good decisions like the following:
- Using WordPress—and not static code—for a blog site
- Generally not using a CMS for complex standalone web applications
- Cutting unnecessary refinements from sites that are supposed to be cheap, simple prototypes
- Understanding what security practices a given site requires
- Finding existing plugins and code where a solution to a problem already exists
Testing for This:
Have the developer talk you through their vision for the project’s technical path. Do they know that path? What are the known pieces and the unknown pieces? Does anything sound strange? (Are they budgeting a lot of time for something—like “Write a custom contact form”—that it would make sense had been solved/standardized/automated by others?)
Why do they recommend the technologies they’re advocating for your particular needs and goals? What similar projects has the developer done in the past, and why were those technologies the right one for that situation?
Has the Auxiliary Skills Your Site Needs, or Can Subcontract
Most websites take a suite of skills—development for a start, but also facility with web design principles, some knowledge of online marketing practices, and potentially many others. (For example, does someone need to train your team on using the new site, and does your developer work well enough with people to make that happen? Are you trying to get your developer to write some initial content for you, and is he or she a good writer? Is your site legally complex, and who will help you sort out these complexities? Your site will need ongoing support; is your developer a source for that, or does he or she have a good answer for that need?)
Your developer may understand well the need for these skills, but may not have them him- or herself. If you’re hiring a single developer or a small boutique agency, you’ll want to make sure that there’s a clear source for all the skills required by the project—whether it’s your developer, someone he or she can subcontract to, or someone you know.
Bear in mind that adding more entities who have to “touch” a site on its way to completion will increase costs and complexity, so look for a developer who has as much going on in-house (or through healthy, established subcontractor relationships) as possible.
Testing for This:
As early as possible, work with your developer to try to understand the types of auxiliary knowledge your project will require. See how many of these knowledge areas your developer is very established in—through prior work, testimonials, and the general “feel” of your developer as he or she discusses them.
For areas outside your developer’s ken, is there a good plan to get the help you need? Does the developer have an agency he or she recommends—or, better yet, always partners with— for this type of work, or ill you have to bring in a totally foreign third party?
Ethical, Reliable, Professional, Considerate, and Responsive
Your developer must be a good, responsible businessperson—and you’ll enjoy the process a lot more if he or she is a good person, full stop. That means answering communication in a timely fashion, meeting deadlines, honoring commitments, taking your goals and well-being to heart, and treating you with a high level of respect. None of these qualities exist across the board in the web development world (just as they don’t with all clients!).
Don’t get snowed under by a developer who appears to have all the answers but doesn’t listen to your actual questions, or someone who treats your little project with contempt, or someone well-meaning but chronically late and disorganized, or someone who finds little ways to be amused at your lack of knowledge. Any of that makes for a bumpy ride.
Testing for This:
This is where general “vibes” come into play. How do you feel around each of the different developers you may talk to? Do they meet small initial deadlines (“I’ll call you at 3,” “I’ll have our proposal in tomorrow afternoon”)? Do they feel too rushed to pay attention to you, or are they attentive? Do they seem genuinely interested in your project and excited to help you with it? Do you like them?
Okay, so that’s what a developer should have going on. Hopefully you feel more equipped to start looking for one. What do you think? We’d love to hear from you in the comments below!
Image Credits: Phil Whitehouse