Ultimate Guide for Hiring Freelance Developers

Published May 08, 2017
Ultimate Guide for Hiring Freelance Developers

25 years ago, the on-demand market only made up 17% of the total U.S. workforce — today, the percentage has gone up to 36%, not to mention the worldwide on-demand market growth. Large companies like Facebook, IBM, and Paypal and countless startups are already hiring freelancers to build and grow their operations.

Hiring freelance developers is typically not a walk in the park. Before you dive in, it’s good to know what you’re getting into and how to make sure you hire the right freelance developer.

Why, when, and how should you hire freelance developers? This guide will include everything you need to know, so keep reading!


Why Should You Hire a Freelance Web Developer?

Before you decide to hire a freelance web developer, it’s important to highlight the comparative advantages of doing so. Here are some of the most important reasons why businesses are already taking advantage of the gig economy instead of hiring full-time developers.

Affordability

One of the most obvious reasons why businesses are hiring more and more freelance developers is that it is very cost-effective to do so. In our previous post, we analyzed and compared the cost of hiring full-time versus freelance software developers. On top of paying annual salaries to full-time developers, you also have to pay for legally required benefits, insurance, paid leave, retirement and savings, supplemental pay (overtime and premium), and much more. Unless you’re hiring remote developers, there’s also overhead and general & administrative costs.

We’ve found that you can easily save up to 50% by hiring freelancers instead of full-time employees. Here are the numbers!

With access to developers all across the world, you can hire freelance web developers within your budget without compromising on quality — more on that later.

Global market & access to talent

access to talent

Stack Overflow annually conducts detailed surveys of developers all around the world. In 2016, they looked into the 46 million visitors who visited their website and estimated that 16 million of those were professional developers located in the U.S., India, China, the U.K., France, Morocco, Russia, Taiwan, Argentina, and more.

Thanks to online freelance platforms, businesses can now hire the best freelance developers from around the world for their projects. Furthermore, businesses located in more expensive areas of the world can easily hire quality freelance developers at a much lower cost.

That’s not all — not only can businesses tap into the global talent pool, they can even work with top developers who already have full-time jobs.

Let’s say you’re trying to find data scientists to help you out with a Hadoop project. Wouldn’t it be great if you could hire data scientists from Google? Unfortunately, they are probably not in the market for a new job. Whatever the reason, these amazing engineers are not available to work full-time for you. With that said, they may have some extra time after work or on weekends, and may be open to working on a few fun side projects.

By hiring freelance developers, you wouldn’t have to worry about visas or relocating someone. Not only can you find freelance developers who are ready to work immediately, but you can also hire domain experts, saving time and money.

Specialization

The Globe and Mail published an article in 2016 titled “Specialized freelancers shaking up the traditional advertising business model.” Susan Krashinsky Robertson, the author of the piece, talked about an interesting shift in the ad industry: “There has been a growth in reliance on freelancers in the ad business [because] the industry is demanding more specialized talent.”

The same is true for the software development landscape.

Let’s say you’re trying to find a web developer well-versed in Go because it scales nicely and can handle high concurrent performance issues. Even though Go is an awesome programming language, there is a relatively small pool of developers skilled in it, especially if you’re limiting the search to specific locations. Hiring a freelance web developer who specializes in Go would be significantly easier.

Maybe you’re not looking for something as niche as a Go developer. Let’s say you want to develop an Android app. Even though the developer you are currently working with is somewhat familiar with mobile development, he or she may not be an expert in Android development. A freelance developer who specializes in developing Android apps will definitely deliver better results.

Flexibility

Whether you’re a startup founder or an engineering manager, being able to hire quickly and as-needed is one of the most attractive reasons to work with freelance developers.

Imagine this: the IT project manager calls the entire development team into the meeting room and lays down a close-to-impossible timeline for your project. You have three people on the team but you’ve just been asked to deliver five people’s work.

What do you do? Hire more full-time engineers? With all the logistics involved, it’s going to be very difficult to hire someone in time. Not to mention, will these developers be needed after the project’s finished?

This is where freelance developers come in. By hiring freelance developers, you can temporarily scale your team without any premature commitments.


When Should You Hire a Freelance Web Developer?

The question that follows “why” is “when.” When should you hire freelance web developers?

Sometimes, people may think that only startups hire freelance web developers. It is certainly true that many successful startups started their business with freelance web developers, but many established companies, like Facebook, IBM, PayPal, and Nintendo also hire freelancers to build and grow their operations.

Whether you’re creating an MVP for your startup or implementing enterprise software for your Fortune 500 company, here are some situations where you would benefit from hiring freelance web developers.

When you’re short on time

short on time

As previously mentioned, sometimes you simply don’t have enough people to get the job done in time. Here’s a real-life example we've encountered:

Ben (alias) has been working on his project for a while. He’s got some great response from customer development and is quite optimistic about getting more funding. The problem is, he doesn’t have an MVP yet. Not only is there no way for him to demonstrate traction, it’s also impossible for him to show a working prototype. He’s only two months away from a startup accelerator’s application deadline and desperately needs his MVP built. Ben doesn’t have the time to hire and train someone — he needs someone who can get the job done. Now.

This is when hiring freelance developers come in handy. Whether you need more people to complete a huge project or someone to help out with side projects, hiring freelance developers can help lighten your team’s load and allow them to focus on other priorities.

If you're looking for a senior developer to augment your team (e.g. a senior React Native or iOS dev for 3 months) or hit your product milestone faster (e.g. launching v1 of a mobile app in 2 months instead of 4), freelance developers who are experts in specific technologies that are relevant to your project are more likely to be able to deliver — especially when you’re on a tight schedule.

When you have limited skill-sets

Business News Daily conducted an interview with a popular freelance platform and found out that “70 percent of companies that hire freelancers use them to fill very specific skill gaps in their staff.” Some of the high-in-demand programming skills include React, Angular2, Node.js, and Laravel. These niche developers may be difficult to find, but it is certainly not impossible.

Why might this benefit you? Let’s say you’re looking for an iOS developer — you have two options: hire someone knowledgeable in iOS or hire someone to provide iOS trainings. According to the 2014 State of the Industry Report by The Association for Talent Development, “on average, direct learning expensidture per employee is $1,208,” and the cost of trainings goes up to $1,888 per employee for small businesses.

Not only are trainings costly, if they’re not done well, trainings may not translate to on-job success. To save money and minimize risks that come with failed training, you can find freelance developers who already have the specific skill sets you’re looking for.

When you’re on a tight budget

tight budget

Not every company or startup founder has the need or the budget to hire full-time developers. Especially if you only require short-term help, freelance talent from around the world can offer the services you want while also fitting your budget. Let’s say your budget is $60/hr, but developers in the U.S. cost $70-$250/hour, while developers in Australia might cost $50-150 — you can easily find developers who are not physically located in the U.S. within your budget. With the world at your fingertips, you can hire skilled developers at various rates depending on your need.


How to Find a Top Freelance Developer

Now that you’ve decided to hire a freelance developer, it’s time to look into how you can find the most suitable one. Hiring developers can be a daunting task; however, with some proper prep work, it’s definitely doable! Before you start your quest for a top freelance developer, you have some homework to do. There are two parts of the equation to ensure success:

  1. Knowing what to expect and clearly stating the job description
  2. Use trustworthy online freelance platforms

Now, let’s break these two points down!

Think about your software developer job description

Before you look for someone to help with your project, you should spend some time thinking about your expectations and drafting a comprehensive job description. The more accurately you describe your project and expectations, the more likely you are to find the perfect candidate.

1. What is your project about? What are some of the required skills?

One of the most important steps is to outline your project as specifically as possible without going into unnecessary detail. Here are two example job descriptions for comparison from Typical Programmer:

  1. PHP and MySQL programmers with 3+ years experience
  2. Web developer needed for goal equipment retailer fulfilling 10,000+ orders per month, must interface with existing back-end system written in PHP

The second job description is significantly better than the first — it is detailed enough to attract people who might be a good match without filtering out too many candidates in the initial stage.

With that said, both of these software developer job descriptions did a good job keeping the technical requirements concise. Don’t try to throw in too many technical requirements, unless they’re absolutely crucial to your project — this would unnecessarily narrow down your options. Also, you should be able to evaluate the freelancers’ competence in the technical requirements that you list.

To help you define your projects, here are some questions to consider:

  • What is the central problem?
  • Why is this project being pursued right now?
  • What are the possible solutions you have considered?
  • What are the effects of this problem on your bottom line?
  • How much would it cost to live with this problem?

In general, try not to write project briefs that are too vague or too specific — fuzzy project specs and a lack of direction will most likely cause unnecessary complications and potential project failure. Why would it be a problem if you’re too specific? You could scare away potential candidates!

2. Do you have a geographical preference?

geographical preference

Some of the biggest development hubs in the world include North America, the UK, India, and Ukraine. With that said, when it comes to hiring freelance developers, you’re not limited to these regions.

India, China, Malaysia, and Thailand consistently ranked in the top four countries for offshore services throughout the last decade, according to Gartner. In fact, there are more than 300K developers in India, mostly concentrated in Bangalore, the local Silicon Valley, so you could easily find a qualified developer there if location is not a concern. Other high-ranking countries include Indonesia, Egypt, Philippines, Chile, Jordan, and Vietnam.

You can also look at HackerRank’s ranking or TopCode Statistics for countries with the best talent. According to HackerRank, the top ten countries are China, Russia, Poland, Switzerland, Hungary, Japan, Taiwan, France, Czech Republic, and Italy. Each of these countries have amazing talent that can help with your project.

Here are some questions to help you decide whether or not location matters:

After answering these questions, you can shortlist a few locations and move on to the next step.

3. What are your preferred communication style and personality traits?

When it comes to hiring talent, most people have an “it” factor they’re looking for. More often than not, the “it” factor they’re looking for is someone who has a working and communication style that complements their own. Finding someone you can easily communicate with is one of the most important but most overlooked factors when it comes to hiring freelance developers.

Do you prefer someone who’s extremely proactive or someone who’s a bit more relaxed? Would you like to work with someone who gives you a lot of feedback and suggestions or someone who simply takes orders?

Keep in mind that you’re not looking for a best friend — you’re looking for someone you can work well with. In addition to listing out some desired personality traits, here are some additional questions to ask freelance developers and yourself:

  • What types of communication tools are they familiar with?
  • If the tools they use are not similar to yours, will they be willing to use alternative tools you suggest?
  • How often would you like the developer to check in with you?

Communication can really make or break a project — the more compatible your communication styles are, the more smoothly your project will go.

4. What’s your budget and timeline?

Before you even consider posting your job on a freelance platform, you should bring in all the stakeholders and decide how much money the project would bring to your business — you can use that number as a basis for budget projection. You should have a complete understanding of how much you’re able to invest in your project before you start looking for a freelance developer.

As we’ve mentioned in our previous post, How Much Does it Cost to Make an App in 2017, freelance rates are all over the place. In general, freelance developers in the U.S. charge somewhere between $60 and $250/hour. Freelance developers in India, on the other hand, range from $10 to $80/hour. Having a solid idea of your budget will help narrow down your search.

There are two things to keep in mind when you think about your total budget and how much you’re able to pay a freelance developer:

  1. Your budget should be reasonable. If you’re hoping to develop a Facebook clone, offering someone $1000 is not realistic.
  2. Be sure to ask the freelance developer whether there are any additional costs associated with the project that are not obvious or not included in the proposal.

Now that you’ve set a budget for your project, it’s time to set a timeline! The process is similar — you want to make sure your project timeline is realistic. Here is some helpful advice from an independent consultant:

There is a big difference between urgency and importance.

If it’s urgent, it simply cannot wait. If it is important, it may not be urgent, and therefore you might consider being more flexible with your timeline. Lastly, you should never expect to find a freelancer with immediate availability. The good ones will usually be booked at least a few weeks out.

For this reason, try to factor in a few extra weeks into your timeline to account for a delayed start date, revisions, and the other unknown factors (sickness, vacation, etc.) that can sometimes cause delays to a project.

Now that we’ve covered most of the prep work, let’s talk about where you can find a top freelance developer.

Some people may try contacting or cold emailing developers from Stack Overflow and LinkedIn, while others may post their projects on job boards and social media. With that said, the chances of hiring a high quality freelancer through these channels are quite low, as it may be seen as an unsolicited request. Therefore, we will focus on freelance platforms because they are designed to connect you with freelance developers.

Choose a trustworthy freelance platform

There are a ton of freelance platforms out there — each have their strengths and weaknesses. For example, it may be easier to post jobs on certain platforms with less rules and restrictions, but harder to actually attract quality developers there. Other platforms may pride themselves on having a large pool of developers, but many of them may not be high quality developers. Here are five crucial features of a good online freelance platform:

  1. Niche talent
  2. Technical screening
  3. Communication & working style interview
  4. Project management assistance
  5. Secure payment process

Niche talent

The most basic, yet most important, feature of a successful software developer freelance platform is a good selection of qualified freelancers. There are some freelance platforms that can connect you with a wide variety of freelancers — designer, content writer, quality assurance, you name it. However, if your goal is to find a top-notch freelance web developer — a platform that focuses on software development is crucial.

Once you’ve located developer-specific platforms, there are two types of platforms you can choose from:

  1. Platforms that allow you to post jobs or search for freelance developers by yourself
  2. Platforms that hire specialists who will chat with you and shortlist freelancers for you

If you’re highly technical, know exactly what you’re looking for, and have the necessary time to find and vet candidates, the first type of platform might be more fitting for you. However, if you’re rather inexperienced in hiring freelance developers, the second type may be more efficient and effective.

Technical Screening

Since your project will most likely require very specific technical knowledge, the platform you select should have technical interviews and/or tests to pre-screen developers for you. These technical screenings will help you understand the developer’s programming ability and experiences.

This is especially important if you do not come from a technical background — whether you’re looking for a niche developer or a jack-of-all-trades kind of developer, there are platforms that can help you expedite the process and avoid screening unqualified developers.

In case you are vetting developers yourself, here are some sample questions you can ask a React.js developer:

  • What is React? How is it different from other JS frameworks?
  • What happens during the life cycle of a React component?
  • What can they tell you about JSX?
  • Are they familiar with Flux?
  • What are stateless components?

Here are some interview questions you can ask different types of developers:

Communication & working style interview

good attitude

Aside from the technical interviews, the freelance platform you choose should ideally conduct communication and working style interviews with their pool of developers. If not, that’s okay, here are some key questions to consider when conducting a behavioral interview with a freelance developer:

  • How do they engage in small talk?
  • What are their experiences and interests?
  • Are they able to translate technical concepts into simple, everyday language?
  • Do they seem trustworthy and responsible?
  • Are they proactive and engaged?
  • Are they articulate, clear, and logical?

In addition to these questions, you can find out more about the developers’ freelance experience. Here are some additional questions you could ask:

  • Have you worked mainly with startups or more established companies?
  • Have you collaborated with other freelance developers on projects?
  • Have you dealt with scope creep before? If so, how did you handle it?

Through the interviews, you can gauge the quality of freelance developers by looking at the specific situation they were in, the tasks they had on hand, their actions in response, and the results of the situation. These four elements are also known by their acronym, STAR.

Project management assistance

There’s much more to project management and project/product success than merely staying on-schedule. According to the most recent Standish report, 31.1% of software projects will be cancelled and 52.7% of projects will cost 189% of their original estimates. Why is that and how can you avoid it? Some important things include having clear definitions of success, clear objectives and requirements, and end-user involvement. For the full list, here are 10 Reasons Why Software Projects Succeed.

So, how can freelance platforms ensure that your projects will succeed? Is it enough for them to offer time-tracking tools? The short answer is no.

If you’re a non-technical person who wants to make a WhatsApp clone, you may have a rough idea of what you want. However, this is definitely not enough to get you to the finish line. This is where a project management service would come in. In this case, you’d most likely need someone to help lay out the scope of the project, write out a detailed list of specs, break the project down into milestones, and coordinate expectations with the developer. A holistic project management service would greatly help your project.

You may be thinking, “Well, I already have a pretty solid project plan — why would I need such a service?” A huge part of project management is knowing the right questions to ask and when to ask them. Project managers know when to check up on a developer and when to offer help. Most freelance platforms may not offer such holistic project management help; however, you can and should find ones that do. Project managers are there to help ensure that your project proceeds as smoothly as possible.

Sometimes, freelance platforms only allow you to communicate with the project manager, instead of with the developers directly. Since direct client involvement is crucial to a project’s success, it’s better to avoid platforms that do not allow you to talk directly with your developers.

Secure payment process

payment

Having a secure payment platform or a third party payment service is standard across all freelance platforms. What matters beyond this is how payments are collected and released on these platforms. Mature freelance platforms should have different billing processes for contractor positions and project-based work.

What does that mean? A contracting gig would be hiring someone to assist your team remotely, while project-based work would entail hiring someone to fulfill a fixed project. Though the two are not necessarily mutually exclusive, there are generally two different ways to guide your billing process. First, you’ll pay an initial security deposit, which may be refundable or non-refundable, depending on the platform you choose, then:

For contractor positions:

A fixed rate will be billed weekly, bi-weekly, or monthly, depending on your agreement. These payments will be processed automatically.

For project-based work:

Before a project goes into development, a dedicated project manager will help you define milestones and use them as payment points. After a milestone has been completed, you will have 3 days to review the work via the agreed method and make a payment. If you have trouble reviewing the work within 3 days, you can inform your project manager. Otherwise, the payment will be processed automatically.

An important thing to keep in mind is to always pay your freelancer on time. The way billing works may vary in different freelance marketplaces — we simply outlined what we do here at CodementorX! In general, there should be reliable and automated ways to help you process payments. If the platform you’re using doesn’t provide secured payment process, you can consider using Escrow’s online payment service. Instead of worrying about payment, this can save you a lot of time and energy that can be spent on perfecting your project.


How to Identify and Hire a Top Freelance Developer

Now that you’ve shortlisted a few freelance developers, it’s time to pick the right one for you. Though there isn’t necessarily a cookie-cutter approach, here are some general steps to help you pick out and hire the best freelance developer from your list.

Step 1: Review their portfolio and examples of their work

code

At this point, the shortlisted freelance developers have most likely gone through some serious technical screening already. So, instead of sending another coding test to all the shortlisted freelance developers, ask to see their portfolios. Understanding the work they’ve done will give you a better idea of their technical abilities. Most experienced developers will have a public or private portfolio for this purpose.

Many freelance developers, especially those that are more experienced, may have authored or contributed to open source projects on websites such as GitHub and SourceForge. Find out more about the freelancers’ contributions and, if you’re also a developer, conduct code reviews with them — how did they decide on the design, architecture, frameworks, coding style, and patterns? That way, you can learn more about how their minds work and their decision-making processes, which will set you up for success.

Step 2: Get to know the freelance developer on a more personal level

chatting

After looking at the freelance developers’ portfolios, it’s time to dig a little deeper and get to know them personally. For the majority of freelancing platforms out there, you would need to conduct your own behavioral interviews with the candidates. Even if the platform you use conducts communication and working style interview, since communication styles and preferences are extremely subjective, it’s important for you to hop on a call with them to find out whether you’re compatible or not. Here are some additional things you can accomplish through a Skype or phone call before you jump into the project details:

  • Gauge their verbal communication skills
  • As about their past projects
  • Ask hypothetical questions to understand their problem-solving process
  • Find out how they keep up on the latest programming languages and technology
  • Ask them about their interests
  • Establish personal connections

Another way to learn more about freelance developers is to read their blogs (if they have one). A lot of developers regularly write about the new technologies they’re using and the projects they’re working on. This will give you a better sense of how passionate they are about coding and technologies in general. You can also evaluate whether they’re able to communicate clearly, effectively, and succinctly through their writing.

Step 3: Discuss the project in detail

Unlike when you wrote the job description, you want to be as specific as possible about the project now. In this guide, the author explains exactly what interviewers expect to hear from developers about their projects. Even though the article was written for interviewees, it can be a useful guide for describing your company’s project to freelance web developers. Here’s what you should cover:

  • Project introduction: Give an overview of what the project will be about.
  • Modules description: Break the project down into various modules, then explain what you imagine each part will do, and how they will fit into the whole.
  • Main purpose of the project: Help the developer out by describing how your project came about and what you hope to achieve with it. Is this a brand new project or is it an improvement on an earlier version? Will this project be integrated into a bigger system or will it stand alone?
  • Tools, technologies, and platforms that will be used: Name all the tools the developer will need to finish the project. Make sure to mention both the main tools and side tools, and ask the developers about their familiarity with each one. If this project will be integrated into a greater system or with another project, make sure to mention that.
  • Number of people involved in the project: Will the freelance web developer be working with someone else on this project? If so, let him or her know how many people there will be, how often they will communicate, and how much independence is expected.
  • Estimate of project length: Let them know how long the project is expected to take and how it will be divided up. Giving developers clear milestones will increase the success rate of your project.

The more specific you are in explaining your project, the more likely it is to succeed. If you’re able to discuss your project in great detail, it means you’re certain about what you’re looking for. Additionally, by providing a detailed description of your project, you’re also giving the developer an opportunity to ask for clarification early on, which can prevent misunderstandings down the line.

Step 4: Offer a (paid) trial period to your selected candidate

The trial period is a lot like a third or fourth date — now that you’ve both shown interest, and have put some time into getting to know each other, it’s time to consider making it official. Before you go ahead and change your “relationship status,” you might want to go on one or two more dates, just to be sure.

Many freelance platforms now offer a “risk-free trial” period, but they all look slightly different. Whether the freelance platform offers 2 days or 2 weeks, the key is knowing how to make the most of the trial period.

First, let’s discuss how risk-free trial periods usually work. Depending on the platform you use, the length of the trial period will vary. With that said, most of them operate similarly: if you’re satisfied with the results you get within the trial period, you will be billed for the time and continue to work with the freelance developer. If you’re not completely satisfied, you won’t be billed (and in our case, we will still pay the freelance developer out of own pocket), and the freelance platform will find you another developer who will hopefully be a better fit.

Second, let’s talk about how to best utilize this risk-free trial period. To optimize the trial period, identify a smaller part of the project that can be finished within the trial period and assign it to the freelance developer. By doing this, you can tell if the freelance developer understands the bigger picture and can finish tasks on time. Additionally, you can also find out whether he or she follows software development best practices like:

  • Test-Driven Development
  • Regular refactoring
  • Continuous integration
  • Simple design
  • Detailed documentation

Be sure to read our next section on how to properly manage freelance developers for more about requiring detailed documentation. If you continue to work with the same freelance developer, he or she will have already built up some momentum.

Lastly, we want to highlight the importance of paying freelance developers during this trial period. Though you’re both not 100% sure it’ll work out yet, you both have your fingers crossed. Why should you pay the freelance developer though? Because he or she is working just as hard as you are to make it work. Whether you end up working with this developer or not, this is the first step to establishing a foundation of trust and respect. Who knows, you may want to hire the developer in the future.

Side note: Choose value over price

Though this is not necessarily a “step” in the hiring process, it’s important to note. As you’re talking to and comparing different freelance developers, the question of cost is probably constantly lingering in the back of your mind. People are always looking for deals that are too good to be true. As the phrase suggests, those deals don’t exist. In fact, startups have failed because they opted for the cheapest freelance developer instead of the most qualified. Read about how choosing price over value sank a startup in Horror Stories I: Freelance Developers Gone Bad. If you’ve ever made a similar mistake before, this quote will resonate with you:

“The bitterness of poor quality remains long after the sweetness of a low price is forgotten” - Benjamin Franklin

If all freelance developers were the same, of course you could make the call purely based on cost. However, more often than not, you get what you pay for. A good developer knows his or her worth, so don’t opt for the cheapest option if you want to find a top freelance developer.

When you’re deciding which freelance developer to work with, make sure you choose someone who understands your business, has the right experience and qualifications, and is someone you feel comfortable working with.

Step 5: Prepare your contract and non-disclosure agreement (NDA)

contract

Even though hiring freelance developers is becoming more and more common, a lot of businesses and individuals are still concerned about accountability and intellectual property. This is where contracts and non-disclosure agreements (NDA), also known as confidentiality agreements (CA), come in.

Though contracts may look slightly different from traditional full-time hire contracts, there are some basic things you can mention in your contracts with freelance developers. Here's a list of things to cover from Contract Killer:

  • A simple overview of who is hiring whom, what they’re being hired to do, when, and for how much
  • What both parties agree to do and what their respective responsibilities are
  • The specifics of the deal and what is or isn’t included in the scope
  • What happens if either party changes their mind
  • A simple overview of liabilities and other legal matters

A sample freelance developer contract can be found here on Docracy. Even though the original agreement was written by a freelance developer, it can be tweaked and used by both clients and freelancers.

Another part of the contract that can sometimes seems a bit more complicated is the non-disclosure agreement (NDA). Why is this?

Most NDAs are written in very specific legal language and it can be hard for developers to know what kind of information, exactly, they’re not allowed to disclose. Additionally, some NDAs are not clear about the time limits — are they not allowed to talk about the project “forever,” or can they discuss the project after it comes to fruition? Here’s how an NDA usually begins, according to the balance:

This Agreement is hereby entered into between (Company) and (Freelancer) specifically to avoid the unauthorized disclosure of trade secrets, confidential information, and company intellectual property as defined below. Both Company and Freelancer freely enter this confidential relationship as evidenced by their signatures below.

Some of the clauses may include:

  • Definition of Protected Information
  • Definition of Parties
  • Material Limitations
  • Breach
  • Court Requirements
  • Freelancers’ Acknowledgement
  • Parties’ Acknowledgement

Unlike the rest of the contract, NDAs are mostly written to protect the company’s rights and intellectual property. With that said, it’s a mutual business relationship where both parties are doing their best to make it work!

Once you’ve finished writing the contract and NDA, it’s time to send them to your choice of freelance developer for his or her signature. Be open to discussing and making changes to the contract where appropriate, to help foster a good relationship before the contract begins!


How to Manage a Top Freelance Developer (and be a Great Client)

Congratulations on successfully hiring a top freelance developer!

You've probably heard that all healthy relationships are built on trust. Your business relationship with a freelance developer is no exception. If you’ve read the first part of our ultimate hiring guide and hired a freelancer according to our advice, hopefully you’ve started off on the right foot! With that said, this business relationship needs to be maintained.

Instead of only giving you tips on how to manage a freelance developer, we want to give you some advice on how to be a great client as well.

Provide a clear roadmap

Providing a vision or even a product strategy to freelance developers is not enough. Uservoice wrote a blog post on the difference between product vision, strategy, and roadmap. Broadly speaking, product strategy covers the following points:

  • Who is the product for?
  • What problems are you trying to address?
  • How will you address them?
  • How will you monetize the product?

A roadmap, then, consists of “a set of plans and instructions that get you close to achieving the goals laid out in your product strategy.”

It is your responsibility to come up with a roadmap that describes how a product is expected to grow. You do not necessarily have to share all the nuts and bolts in your roadmap (i.e. how you’re going to acquire funding), but you should have clearly defined requirements, deadlines, sprints, and specific tasks. For a detailed explanation on how to create a product roadmap, read these tips and examples from Smartsheet.com.

Require detailed documentation

As a general rule of thumb, developers should keep a record of the various components that make up an application. This documentation can come in different shapes and forms — code comments, api descriptions, user guides, and/or help files. There are instances where detailed documentation may not be necessary, but when it comes to working with freelance developers, it’s a must.

For a single project, freelance developers may be supporting multiple applications at the same time — it is important for them to keep track of all aspects of the applications. More importantly, documentation plays a crucial role when you’re reviewing the freelance developer’s work. Since the project/product will most likely be passed from the freelancer to another person in your company or another freelancer, documentation will help make the process significantly smoother.

Follow up & provide useful feedback

feedback

Communicating clearly and frequently is crucial when you’re working with freelance developers. Regularly ask freelancers which parts they need help or feedback on. When providing feedback, write out all the critiques or questions you might have, evaluate the stage of the project, and deliver them accordingly. Since you’ll most likely be collaborating with your freelancer and providing feedback regularly, avoid sending too much feedback at once.

Some freelancers may not be diligent in asking for feedback or providing updates. They may just be more independent, but to make sure things are going well, make sure you initiate the follow ups. If the freelance developer insists that there are no problems and everything is going perfectly, you may want to ask more questions or request a portion of their work. There are definitely some freelance horror stories where freelancers may have been overly optimistic.

In addition to frequent communication, it’s important to make sure the code you’re shown matches your specs. If you’re not technical or are not familiar with a specific coding language or framework being used, you can ask someone on your team or someone you know to take a look.

Give them all the resources they need

Along with a detailed roadmap, you might want to consider what other information can help the freelance developer do his or her job well. For instance, if you’re hoping to build a website with various types of content, make sure you provide these files to the freelancer.

Though some people might think creating a website is like building an empty and unfurnished apartment, it’s really more like building an apartment with basic fixtures and furnitures. Providing a freelance developer with the intended content is like giving them a floor plan — this will result in a better structured website, one that will meet your expectations more.

If you’re not sure what information he or she might need, ask your freelance developer at every stage of the project. The earlier you know their needs the better, but better late than never — stay in touch with your freelancer and try to meet their needs throughout the project.

Pay on time

Even though this may seem somewhat obvious, it’s often overlooked. Most of the time, clients simply forget about it. If you’re not using a platform with built-in payment services, be sure to set a reminder!

Here's an example of how we do it at CodementorX: after a previously agreed upon milestone has been completed, you will have three days to review the work via the agreed method and make a payment. If you need more time — that’s alright, just remember to get in touch with your project manager and coordinate accordingly.

Keep in mind that maintaining a mutually respectful relationship with freelance developers is one of the keys to success, and being paid on time is one of the basic expectations quality freelancers have.


Putting It Into Action

Congratulations! You’re now ready to enter the world of hiring freelancers!

As we’ve mentioned, hiring and working with freelance developers is no easy matter, and if we said we knew everything, we’d be lying. By no means did we cover everything related to hiring freelance developers here. With that said, this is a rather comprehensive guide that will hopefully help ease any anxiety that you may have and start you off on the right foot.

With the world at your fingertips, you should be excited to start this journey! Just like everything else that we do, practice makes perfect. Don’t worry or feel defeated if you run into obstacles when you’re working with freelance developers — the more experience you have, the easier it’ll get.

Other Resources

Here are some additional resources for you!

If you have any questions or comments, we’d love to hear from you! Leave a comment below or tweet us at @CodementorIO. We hope this guide was helpful to you — after all, our mission is to help you succeed.