Hiring and working with a freelance web developer can be a difficult thing. It’s no one’s fault, it’s simply the nature of the beast. This is a new relationship. You will have different vocabularies and work styles.When we started CloudDevs, we set out to make the process of working with freelancers easier. So naturally, we wanted to understand the problem. We hired freelancer after freelancer, sometimes from our own platform, sometimes from other platforms, and sometimes right off the street through word-of-mouth. Some projects were successful and others went up (down?) like the Hindenburg. Point is, we learned more than a few lessons about hiring and working with freelance developers along the way. So if you’re looking to outsource some of your development work we’ve compiled the most important of those lessons here into a short guide: We hear you, hiring is hard! But if you want to build your business, you need the right people. Click here to join more than 45,000 entrepreneurs who get our weekly newsletter on hiring, growing your startup, and the future of work.
1. Start with a damn good scopeYou have to start before you even hire the freelancer. It’s your obligation as the person running a project to set everyone up for success. That means giving them the right tools and information to do their jobs. Your scope should be longer than you think it needs to be, and more verbose than you think it needs to be. Everything should be explained well. Find an (honest) friend who doesn’t work in your field to read your scope document. Do they understand what you want made? If they do, you’re off to a good start. If they don’t, refine it until it’s as clear as Pepsi from the 90s.
2. Watch what questions the freelancer asksAfter the freelancer has read your scope, see what kind of questions they ask. They should be asking big questions first and small questions later. For example, early on they might ask about your intent. ‘Why are you building this feature?’ is a good question. Starting with the ‘why’ shows they’re getting to know you and what you want. The more they know about the why, the better they can help make recommendations to save money or time or save the day when things go pear-shaped. Likewise, if they only ask about small details or, even worse, nothing at all, they may only be concerned about getting it done and getting paid. That said, small details are very important, but those questions should appear later on in the process. Also don’t expect to have a single Q&A with them and for them to magically produce exactly what you want. Communication and back-and-forth should be ongoing throughout the creation process.
3. KYF (know your freelancer)Get to know the freelancer socially. Creating a small social bond may seem superfluous for a work project, but the more you understand each other, the easier the work will flow. This is also good chance to see if there are personality conflicts. Don’t be afraid to stop the process if you think the freelancer will be difficult for you to work with, for whatever reason. This is also the perfect time to ask them why they freelance. You want to work with someone who loves what they do, and loves working directly with their clients, not someone who can’t get the full-time job they desire.
4. Expect and be open to changeBudgets will increase, timelines will change, and what you ask for may not be the best way to get what you need. Accept that this is a process and that a good amount of back-and-forth is healthy. The freelancer is an expert, keep in mind. You are hiring them for their mind as well as their code. It’s a good idea to communicate which items can’t change as well. If you need a website live before a planned event or announcement, make sure it’s clear that the go-live date cannot change no matter what. But don’t go too far. The freelancer is more likely to respect your concrete requirements if other requirements are fluid.
5. Know that good freelancers can be expensiveDo you have the proper funding? You can’t expect a freelancer to do amazing work without proper funding. Or to go beyond the initial scope without additional funding. Or do maintenance for free. A freelancer will only respect your project if you respect their time. Every site you love cost a lot more than you probably think. So if you don’t have the budget, maybe think about reducing your scope. One of the benefits of using a network of freelance developers like CloudDevs is that we can find someone who fits your budget, and/or recommend which cuts you can make to save money while still building a successful first version.
6. Discuss your marketing plansIs there a marketing campaign around the site? Are you expecting traffic from search engines? How much traffic are you expecting? From what countries and devices? The way you intend to build your audience can impact how a site is set up. A web developer needs to know about these plans so they can handle the technical side correctly. More importantly, you should know your plans for the site before you write your scope document because, well, that’s just good business planning.
7. Discuss maintenance and long-term obligationsWebsites, once built, don’t last forever. They need upkeep. The web moves fast and sites go stale quickly. Will your freelancer do maintenance and upgrades when your site grows? Will you need to find someone else? How much will it cost? Where will it be hosted and can you easily move it if you grow or need a different team to work on the project? Like most of the items here, this is about communication and clear expectations. Both sides should know and agree with the long-term plans before starting the project.
8. Ask the hard questionsAsk the freelancer specific questions about their work history and don’t be afraid to ask something you may consider uncomfortable. For example, ask how often they deliver their projects on time and what they do when problems arise that prevent delivery. Ask how many of their clients are repeat clients. If you want them to do maintenance, ask what kind of maintenance contracts they have ongoing currently. Ask about their time commitments for future work. Someone with a poor track record may be dodgy or put-off but this type of inquiry. But a professional should be able to say something like: “about 80% of our projects are delivered on time. When there is a problem and deadlines are missed, we meet with the client as soon as we know there might be a problem and discuss an alternate timeline.” It’s less the words you’re looking for and more their comfort level when discussing matters of professionalism.
9. Protect both parties with milestonesSometimes everything seems great before the start, but you just don’t get the work you want. It happens. But, you can protect against this by creating an agreement with the right milestones and the ability to terminate the contract if either party is unhappy with the work to that point. This type of project structure is the default for CloudDevs agreements, so if hiring through us you can set it up easily. For example, you can create a milestone for the wireframe stage. If you then get the wireframes back and it’s clear that the freelancer didn’t understand the point of the project, you can decide to find someone else and not risk continuing with someone who is not on the same page. Or you can pause work until they get it right, if that’s what you agree to. If you do use this kind of clause to protect you, it’s also fair to pay the freelancer for any work done, even if it’s not what you were expecting. Miscommunications are unfortunate, but just as much your fault as theirs.
10. Be kind, but be firmLastly, know that conflicts will arise. Assume everyone you work with has the best intentions and is not trying to get the better of you. They are trying to earn a living and do good work. We all are. Give everyone you work with the benefit of the doubt when necessary. But also don’t compromise on what you want. If a project is not going your way, remain positive, but be clear on what you want and what you expect. Talk to the freelancer in person or over the phone instead of via email for the benefit of human empathy, but write everything you agree to in an email to them after the meeting to confirm what was said. If in the end you can’t resolve a problem together, say thank you, pay for the work done, and spend your time finding someone new knowing everyone tried their best but it just wasn’t the right fit. These things suck. But they happen.
If there is one clear theme here, it’s communication. Clear, open and possibly uncomfortable communication between you and your freelancer is the only way to ensure a good result. Think about it: you have a picture in your head. You have to get that picture into someone else’s head, intact. A relative stranger, no less. Have you ever tried explaining a dream to someone? They’ll never get the full picture no matter how many flowery words you use to describe the amorphous blob speaking in your father’s voice. Getting a freelancer to grasp what you want to make is the same. The end result may seem obvious to you but it is not to anyone else unless you talk and talk and talk. Over-communicate. Ask and answer a lot of questions. Be prepared for it to take time and money. And have fun. It’s only a website or app, after all.