Working With Contractors Made Easy

Share this article

One of the most challenging parts of growing an Internet business is the location, qualification, and engagement of contractors. Although contractors offer major advantages over full-time employees, finding them is at best a costly and time-consuming process.

Over the last few years, I’ve developed a methodical approach based on some basic lessons that I’ve learned the hard way. In this article, we’ll look at some of the core concepts that will allow you to get the most out of your contractors while fostering the long-term relationships that will put your business in a strong position from which to grow.

The article is broken into six parts:

Part 1. Finding Candidates (starts below)
Part 2. Qualification and Trial
Part 3. Managing Contractors
Part 4. Money and Payments
Part 5. Legal Agreements
Part 6. Working with Offshore Contractors

Part 1: Finding Candidates
How Much Would You Pay for the Perfect Contractor?

Large corporations spend billions of dollars on recruiting, human resources, and employee benefits every year. Many small businesses, however, fail to see the importance of quality recruiting and outsourcing techniques; instead, they attempt to just ‘make it happen’ without any budget or time allocation at all.

These businesses soon learn that ongoing contractor problems quickly become a frustrating source of stress, expenses, and client dissatisfaction. Given the fact that human resources are arguably the most valuable assets a business can have, concrete steps should be taken to avoid this pitfall.

In other words, you need to be prepared to spend money and time to find the right contractors. If you don’t spend a little money at the beginning, you’ll fork out more in the end. Most of the money will go to trial projects, with the rest spent on advertising and networking.

Even the smallest company can create an effective outsourcing plan on a shoestring budget. Here are some must-do tips for getting started:

  1. Refine your goals and narrow down what you’re looking for.

What are the skills you need? Would you prefer one jack-of-all-trades type, or three highly-skilled professionals with more specialized capabilities? Do you want an expensive, high-end contractor who can handle client communications in your absence, or would you prefer a younger, less-experienced contractor who you will need to manage personally?

  • Create a budget including some well-planned trial projects.
  • That’s right, trial projects. Trial projects are the single most important thing you can do to ensure that you are working with qualified, skilled contractors (see next section for more on this). Also include advertising, phone calls, and your own time in the budget. How much is it worth to you to find the right contractors? If you’re seeking two great contractors to perform $1000-$2000 jobs, expect to pay for 3-5 trial projects of about $200 each before you find the right one.

  • Create a timeline.
  • When can you put your contractors to work? Are you bursting with overflow work today, or are you getting ready for future projects? Be up-front about this with potential contracts, and make your position clear.

  • How much can you spend?
  • Don’t wait for potential contractors to set the price for you. It’s critical that you have a clear idea of what your preferred rates will be, and what your expectations will be for that rate. Contractors have a nasty habit of being highly inconsistent with their rates depending on how busy they are, or how much they want your job. If you aren’t sure what a fair market rate is for a particular job, do some research or ask around until you have a number in mind. Use that figure in your assessment of candidates later in the process.

  • Got backup?
  • One contractor is great, but if you’re going to go through the process of interviewing and qualifying one contractor, why not make it two? It’s great business to have a signed agreement with a backup contractor in case your primary contractor doesn’t come through or is overextended. Be sure to explain this to the backup contractor and make it clear that any overflow work will go to them — nobody likes to be a runner-up, but most contractors will be happy to have a potential client lined up.

    Finding The Talent

    Great contractors are found in all walks of life, and useful business relationships can be formed through clients, family, friends, advertising, or networking. However, there comes a point when your personal network is tapped out and you’ll need to start qualifying and screening contractors that are totally unknown to you.

    This process usually begins with an advertisement or other invitation for interested contractors to contact you. The level of detail that you include in your advertisement will dictate the range and quality of applicants you receive. So, be sure to state exactly what you’re looking for, and be specific enough so that applicants think twice before wasting your valuable time with an enquiry.

    After all, there is a world of difference between:

    “Responsible, detail-oriented HTML programmer with keen eye for pixel-level accuracy to convert Photoshop files to HTML.”

    And:

    “HTML programmer, must be capable of converting Photoshop files to validated HTML/CSS (4.0/4.01/XHTML) with absolute pixel-perfect accuracy, minimal direction and revisions. Please be able to check your own work comprehensively, be well-versed in browser-compatibility, and have excellent communication skills in English. All applicants must be willing to produce a trial PSD->HTML conversion to be considered for this position.”

    And:

    “HTML programmer, must be capable of converting 2 Photoshop files to validated HTML/CSS (4.0/4.01/XHTML) daily, with absolute pixel-perfect accuracy with minimal direction and revisions. Must be skilled at image optimization and load-time reduction techniques. JavaScript/DHTML a major plus. Please be able to check your own work comprehensively, be well-versed in browser-compatibility, and have excellent communication skills in English.

    Submitted work will be checked using an automated browser-compatibility system and compared to all OS/browser combinations at the 4.0 level up. Must enjoy working in a fast-paced environment and be able to manage multiple projects simultaneously.

    Excellent skills in all MS Office applications required. Multiple client references and 3 years of relevant experience required. All applicants must be willing to produce a trial PSD->HTML conversion to be considered for this position.”

    The more information you can provide, the more targeted your applicants will be. Ideally, you’ll provide a detailed job description including all applicable categories from the following list:

    • Professional Skills
    • Communications Skills
    • Office Software
    • Languages
    • Presentation Skills
    • Business Skills
    • Availability
    • Career Level
    • Industry Experience
    • Work style and Environment Preferences
    • References
    • Representative Work (etc.)

    A Needle in A Haystack

    Placing ads can sometimes be necessary, and the location of those ads will dramatically affect the kind of people who respond.

    Advertising online is extremely inexpensive, fast, and flexible. Online employment advertising is divided into two tiers, lower and upper. The lower tier consists of smaller, project-based Websites such as Elance.com and FreelanceWorkExchange.com. These sites are typically visited by less experienced contractors who are at an early point in their career, and offshore/international workers.

    Advertising on these lower tier sites can result in a tidal wave of responses, some at incredibly low prices. However, the qualification process can be difficult and lower-end contractors tend to be much less successful during trial projects. If you hope to locate a very affordable contractor, and are willing to spend some time looking for the right person, these websites can be very useful. Be sure to but a comprehensive description of your trial project on the site, and include some specific qualifications that you’re looking for so that you’ll have fewer unqualified responses to go through. Then, be prepared to ignore the lowest bidders (they’ll usually be kids, or totally unqualified bidders) and invest in a series of trials with a relatively low success rate.

    Upper-tier Websites such as dice.com or monster.com are considerably more expensive, typically costing at least $100 (and it goes up from there) just to list a position. However, you’ll be reaching much more experienced marketplace, with more qualified workers in general. In addition, these Websites will force the respondents to work through a restrictive system of resume submission, which allows you to easily assess the results. You might find that the several hundred dollars you invest in such a listing prove worthwhile as you locate the ideal contractor with fewer trials, ultimately saving money from your recruiting budget.

    If you’re searching for international (offshore) contractors, your options are much more limited. An abundance of international contractors can be found on Elance.com, but the process of finding the quality vendors amongst the sea of newbies can be frustrating and risky. A better route is to contact a company that has experience establishing such relationships and have them make the necessary arrangements.

    This allows you to have immediate access to a pre-qualified team of offshore contractors without the risks associated with establishing the relationships and qualifying the offshore team. You’ll pay for this kind of service, but it’s still dramatically cheaper than going it on your own.

    In the first part of this series, we talked about the sorts of things you’ll need to plan for when you decide to hire contractors. We discussed writing a descriptive job ad, and looked at a few key locations for finding contractors. This week, we tackle the challenge of weeding through applicants to find your dream contractor.

    Qualification and Trials

    Once you’ve identified one or more potential contractors, it’s time to begin the qualification process. The goal is to work out a standard process that you can use to quickly decide if a candidate is worth trying out. It’s at this point that the real nitty-gritty assessment begins; the tone of the entire business relationship can also be set during this time.

    Qualification begins with a few pre-trial checks that basically represent due diligence. These include:

    1. Reference check
    2. Verification of sample work
    3. Phone interview
    4. Face to face interview

    Reference Checks – Getting the Real Story

    Reference checking is a fine art, but is easily accomplished if you can just get the whole thing into perspective. Keep these concepts in mind as you check out new contractors:

    Not What, But Who

    A reference should be evaluated based on who the reference is rather than what they say. Everyone knows that when a prospective employee or contractor provides references, they’ll provide contact details for people who’ve already agreed to give glowing, flowery references for them.

    There’s nothing wrong with that — we’ve all done it — but it certainly makes the actual reference call less valuable. What you really want to see is who the candidate provided as a reference. The call itself simply confirms that the reference exists and has completed good work for the referee.

    Remember that the references you receive are the most impressive references the contractor could come up with. You can learn a lot by assessing the ‘who’ rather than the ‘what’. For example, consider:

    • Is the reference from a recent client, or one from the distant past? If it’s not recent, why not? I find it suspicious when the reference hasn’t actually worked with the person for 4 years, and none of the recent clients are provided as referees.
    • What role does the reference hold within the company? Are they in the department that actually worked with the contractor, or are they a lower-level person the contractor simply got along with? I hope to see a reference from the highest-level stakeholder involved in the project.

    Though the ‘who’ of their referees can provide great insight into a candidate, asking those referees some of the ‘what’ questions can be very telling, too. Sometimes, the most basic question can reveal a lot about the actual work in question.

    For example:

    • Was the project successful? Is it still in production?
    • How do you know the contractor? Did you know them prior to the project?
    • What was your role in the project? Were you responsible for its success?
    • Would you hire them again? Did you hire them again? If no, why not? Was someone else hired to do similar work at a later date?
    The Trial

    Once the qualification process is complete and you’re satisfied with the results, it’s time to move on to the most important step in the process, the trial-project. This should be real, paid project, and not an internal or obviously unimportant task.

    This may seem like a cumbersome and unnecessary expense to you, but it’s the single most important thing you can do to ensure that you are investing in the right person. Even if your budget’s very tight, it is still worthwhile to undertake small paid trials of under $100 to try out contractors. Most contractors will see this as a reasonable step towards new business and will be happy to do it.

    More reasons for doing a paid trial:

    • It’s a sure-fire way to find out the real quality of your potential contractor right away — for very little investment. Spend $300 today to avoid client dissatisfaction, more contractors, missed deadlines, or other frustration tomorrow.
    • If the trial goes well, your job gets done — you’ve lost nothing and gained a good contractor. If it doesn’t go well, you’ll have lost a pre-determined amount of money, but you’re otherwise unharmed. Since you choose a task that’s relatively safe, you don’t risk any client work on the trial.
    • It demonstrates to the contractor that you’re serious and motivated, which will allow you to attract better talent.
    • It’s a great way to create a new relationship with a happy contractor who’s been paid right from the start.
    • Trials build your business network and create a series of valuable relationships.
    • The process gives you the opportunity to refine your project management, communications and negotiation skills.
    • It helps you avoid having to try out a new contractor on a chaotic or low-budget project.

    Typical trial projects should consist of small, distinct tasks that are fairly simple to explain and execute. Avoid trial projects with large learning curves, or tricky definitions. The objective isn’t to ‘test’ the contractor, it’s to see how well you work together.

    I usually look for a small test project in the $100-$250 range. I explain that the trial project is mandatory but a successful trial will lead to at least one larger project in the near future. In my experience, approximately 75% of contractors in our industry provide poor service, have poor communications, lack adequate work standards, or are otherwise disqualified from my consideration.

    Overall, I’d estimate that I endure an average of 8 failed trial projects before I find great contractor. Most of the contractors will submit usable code, but will have poor communications or standards. Still, I haven’t ‘wasted’ the trial money — the job got done, I just didn’t like the contractor.

    At an average cost of, say $175, this means that I invest around $1400 on trials to find a contractor. I can recover that investment with a single project and continue making profit on the contractor from there.

    Examples of Trial Projects

    Trial projects are surprisingly easy to find once you become accustomed to the fact that you’re going to allocate some funds towards the effort. In fact, you’ll probably find that, once you’ve budgeted some cash for the trials, you’ll become emotionally removed from the ‘risk’ involved and just hope for the best. After all, you already know that you might not get a successful result from many of the trials — that’s just part of the game. You are after new relationships, not small project successes, so a few failures along the way are expected.

    Pick projects that are low-risk, small, non-urgent, and simple. Internal projects work best, but client work can also be fine as long as the client isn’t exposed to any risk. Consider these 3 actual examples.

    A Trial for a Web Programmer

    I have a client who runs a Perl-based property rental Website. Every few months, they ask for some very small enhancements to their site – usually with a total value of $300-$750 for 2 or 3 minor tasks. The client is easy-going, and is more than happy to have a turn-around of 3 or 4 weeks on the work.

    I run a mirror site of the client’s application on one of my servers, so it’s easy for me to expose a new programmer to the codebase without affecting the client, or risking a high-profile blunder. In addition, this makes it easy for me to ‘clean up’ any ‘sloppy programmer’ disasters by simply rebuilding the mirror environment based on the still-intact production site.

    When this client sends me their desired changes, I’ll almost always use these as a trial for new programmers. I create an account for them on my server, and give them a deadline of exactly 1 week to complete the work. This leaves a generous margin for error in case things go wrong, and my main team is always on standby to jump in and do the work if need be (this is a must, given that most trials don’t succeed).

    I’ll offer the new programmer the same amount of remuneration that I’d pay my ordinary team. Why? Because a good programmer is happy to do a trial, but knows that they are in demand – they’ll also be ‘trying’ me out. Relationships go both ways, and a 50% pre-payment of a good project price goes a long way in setting the right tone for success.

    Designers are Easy

    Design trials are famously easy because they require little client contact, can be completed quickly, and payment can be attached to client acceptance in the initial agreement. In other words, most designers will submit a comp for a relatively low amount of money upon the understanding that their price will rise if the work is accepted by the client.

    In this model, I have my regular designer on standby, as always. Early in a design project, my team creates a comprehensive creative brief which, once signed-off, becomes the basis for all creative work, as well as legally binding milestone and deliverable. If my regular designer is at a fixed-rate of, say, $1000 for basic look/feel creation, I’d offer the new designer $250 for a ‘comp submission’ with the agreement that if the client accepts the work the rate would be raised to the $1000 level (or whatever the designer’s usual rate is).

    Again, I will require that the designer make their submission before the staff designer is scheduled to begin. This leaves a generous allowance for problems, and gives me plenty of time to decide whether I want to submit the trial comp to my client, or just move on and look to the next trial.

    Every project is an opportunity to create trials for new contractors and employees. It’s something to consider during the planning phase of every project. Just as I use each project as an opportunity to train and improve my employees and existing contracts, I will also be sure to leave plenty of trial-friendly phases and deliverables.

    Decision Time

    By the time you’ve done your due diligence and given prospective candidates a trial, you should have little difficulty identifying the person for the job. In the next article in this series, we look at managing contractors.

    Part 3 – Managing Contractors

    Are you frustrated because your contractor doesn’t seem to be working as hard as you are on the project? Don’t be.

    A good contractor should be hard working and dedicated but will rarely demonstrate the level of detail-oriented care that they would when working for their own clients. It’s unreasonable to expect a contractor to work at your level of dedication and ownership — it’s just human nature. Someone who works hard, is consistent, and does good work should be enough, even if they don’t share your enthusiasm.

    Effective management techniques are geared towards gaining high-quality, reliable, profitable, manageable, and predictable output from our contractors rather then trying to get them to ‘work as hard as possible.’ Have realistic expectations of your contractors, and maintain an understanding of their perspective by considering their level of experience, their loyalty to you, the competitiveness of your pay rate, and how interesting/challenging your project is to them.

    What Should You Do When a Contractor Misses a Deadline?

    Contractors may sometimes miss deadlines, but it’s your responsibility to shield your clients from any impact that may result.

    Always be sure to leave plenty of time between your ‘internal deadline’ and your ‘client deadline.’ Always leave enough time to engage a second contractor to completely redo the work from scratch if the first contractor drops the ball. To accomplish this, you’ll need to get your contractors started immediately on any new work that comes in, to ensure you leave ample time for problems to be fixed.

    Also, be sure to keep abreast of any potential problems in the project by establishing a coherent set of milestones/checkpoints with your contractors. There is no reason to be caught by surprise by a contractor who isn’t even close to the deadline as the final hour approaches. From day one, you should know the exact date that you’ll be deciding whether to switch to the alternate programmer or not.

    For example, if I have a project that begins on January 1st and must be presented to the client on February 1st, I’d arrange something similar to the following schedule:

    • January 2nd: Development Begins
    • January 6th: First Deliverable – Beta
    • Version with limited features
    • January 8th: Second Deliverable – Mostly feature-complete beta
    • January 8th: Internal Milestone: Decision to use alternate programmer or not is made on this day
    • January 11th: Contractor Delivery Deadline
    • February 1st: Actual Client Deadline

    As a rule of thumb, I always triple the amount of time I estimate it should take to do the outsourced section of a project. Typically, this will allow the entire project to be done twice, should the need arise.

    If a job with a contractor isn’t going well and you have a backup contractor available, use the alternate. Always be prepared to bail out early and decisively if you are nervous about the deadline – this isn’t the time to be generous or understanding with your contractors. It’s a time to cut your losses and move on.

    Remember, if a contractor is consistently failing to deliver on time, you should probably discontinue working with that contractor unless special circumstances dictate otherwise. After all, one of the key benefits of using contractors is that enjoy the flexibility to pick and choose who does each project.

    What Should You Do If Your Contractor Submits Sub-Par Work?

    Poor quality work from a trusted contractor is rare, and can usually be avoided through proper screening and qualification of your team. Good workers are almost always going to be consistently good, and people generally improve at what they do over time. However, exceptions do occur in special circumstances.

    If a new contractor submits poor quality work, simply dump the contractor and continue searching for the right one. Hopefully, this will happen during the trial project and not during a critical engagement. If a proven, trusted contract begins submitting sub-par work, however, you have to consider several things before making a decision about how to proceed:

    1. Is the contractor under particularly heavy load, a stressful deadline, or an unusually challenging project?
  • Is the contractor burnt-out?
  • Are you paying enough for this project?
  • Were your instructions clear?
  • Is the contractor busy with other work?
  • Is the contractor sub-contracting your work to another vendor?
  • Is the contractor having personal problems?
  • An occasional lapse in quality or isolated incident is usually worth overlooking in the interests of fostering an ongoing relationship. Confront your contractor and simply inform them that the work was of poor quality and needs to be fixed immediately. If they comply and there aren’t any further problems, you are probably wise to forget the whole thing. If it turns into an ongoing problem, you’ll need to start looking for new people.

    Don’t forget that this kind of thing goes both ways, and you may look to your contractor to help you out in an emergency situation, or to bail you out of a mess with an important client. A little patience goes a long way and is usually better than finding someone new.

    “But, If I Dump the New Contractor, How Do I Get My Deposit Back?”

    The answer is simple: no, you don’t. You never expected to. The money was allocated as a trial, and you should already be used to the fact that you will never see it again, regardless of the outcome.

    The value of the trials should be low enough to make you comfortable with the loss. After all, you aren’t really spending this money on project work, you’re spending it on a trial. So, if a new contractor fails the trial, you’ve obtained the desired information (that the contractor isn’t worthy) and can move on.

    It takes a few times to get used to this, and the urge to argue with the contractor and try to recover the funds is strong. However, your business needs to move forward, not backwards, and the is little to be gained from investing more time and energy trying to recover a small amount of money from a vendor you will never work with again. You’re better off moving on and never looking back.

    Poor Communications – Causes and Remedies

    Poor communications lead to mismanaged expectations and poor results. Expect to spend at least 1 hour in management for each 10 hours of contractor time — possibly more, depending on the circumstances. When in doubt, always over-communicate and urge your contractor to do the same. Try the following tips to prevent communication breakdowns:

    1. Establish clear milestones early in the project, and stick to them.
  • Ask the contractor to provide a daily status report, and update a staging server with all new work on a daily basis if applicable.
  • During every communication, always arrange the next communication. (i.e. ‘let’s communicate again tomorrow around 6pm’). Do this every time, without fail.
  • Avoid IM communications in general. They are rarely useful, always inefficient, and hard to use for knowledge capture.
  • Capture all correspondence in email form and keep your inbox organized for future reference.
  • Use the phone in addition to email. Email is good but the phone adds a degree of intimacy and personal touch not available via email. After each call, send an email reiterating the main points of the call.
  • Never go too long without an in-person meeting.
  • Always require your contractor to confirm that they’ve received your communications. (i.e. ‘Ok, I have the instructions and I’m getting started on it tonight.’)
  • Building Loyalty With Contractors

    Once you’ve invested time and energy into a contractor relationship, you need to keep the relationship healthy and alive. Be sure to keep your contractors as busy as possible, and be loyal to them as you would ask them to be loyal to you. A happy contractor makes your business succeed.

    What’s next? Money and contractor payments…

    Part 4 – Money and Payments

    Payment is an often overlooked form of management, and can be strategized to enhance working relationships with contractors. Avoid the urge to use payment as a carrot-on-a-stick to try and get the most work out of your contractor. This typically results in ‘grudge-work’ from a contractor who will ultimately feel unappreciated and disrespected.

    Instead, use payment as an opportunity to demonstrate trust and good will, by applying the following techniques:

    1. Always pay slightly more than market rate. Be a good employer and it will come back to you ten-fold.
  • Always pay on time. Contractors have a tricky cash flow scenario, and probably need the cash more than you do.
  • Always pay a deposit or advance at the beginning of a project. This establishes trust and mutual appreciation, two vital ingredients for a successful working relationship.
  • Leave a reasonable amount of money in your budget for a completion bonus. If your contractors take good care of you, take good care of them. Show them that you’re serious about quality and professionalism and are willing to reward them for it.
  • Don’t attach money to multiple delivery milestones unless it’s absolutely necessary. Instead, make a simple payment plan where you provide a substantial deposit (40% or 50%) then another at launch (25%) and another after the work’s completed (25%). Keep the plan simple, and stick to it.
  • If your contractor asks for different terms, try to accommodate. After all, you are trading the money for service, and your flexibility will probably result in a better service.
  • The Danger of Fixed Bid

    Fixed bid projects are the scourge of the Internet industry. It’s a well-known fact that most estimates prove to be highly inaccurate, and most Internet projects fail to come in on time, or within the original budget.

    Internet projects are notoriously difficult to estimate, and most clients require a specific budget for the project. Amazingly, most small business managers will turn around and require a fixed bid from their contractors, thus incurring the very same risk to which they exposed their clients by accepting the fixed bid arrangement in the first place.

    Think of it this way: if you offer your client a fixed bid, and something goes wrong, you have to incur the additional cost of correcting the problem. Thereby, you create a situation in which you are at your least motivated when you client needs you to be firing on all cylinders. Is that how you want your contractors to work for you?

    The fact of the matter is that fixed bid jobs are always at risk of turning into the never ending project, complete with burnt out programmers and quickly diminishing client satisfaction. Just as you wish your client would pay you by the hour (even if it results in a lower total amount), your contractors wish you would extend the same courtesy.

    Whenever possible, try to determine your potential profit margins and pay your contractors by the hour. This approach will result in increased quality, less fatigue, great satisfaction, and a more successful project overall.

    How Can I Pay An Hourly Rate When My Client Has Me On A Fixed Bid?

    If you’re on a fixed bid with a client, how can you possibly afford not to have your vendors on an hourly rate? It seems as if it would be exceedingly risky and unwise to do so. After all, if problems arise in the project, you’ll really need those contractors to come through for you. If they’re on a fixed bid and someone makes a mistake, they have to fix it for free, and they’re unlikely to maintain motivation. So, your client is ultimately at risk.

    How can you make this work? The answer is simple:

    Margin.

    Margin makes a tough situation easy, and lets you sleep at night.

    Let’s say I have a client who needs a ground-up Website with an online store and back-end integration. I consider myself to be experienced enough to create fairly accurate estimations, so I’ll break the project down into hourly blocks and resource allocations right at the beginning.

    Never estimate value, only estimate time. There is no relevance to project value, as rates are arbitrary. The only useful information when projecting project costs are hours worked, which can be multiplied by the hourly rate once the estimations are complete.

    So, the project might break down like this:

    • Design… 24 hours
    • HTML/Production… 60 hours
    • Programming/Store… 50 hours
    • Project Management… 40 hours

    A total of 174 actual hours are projected.

    At a rate of, say, $40 per hour for local contractors, the estimated value of the project would be $6960.

    Now, I ask myself what the desired margin is on the project. Given the high potential for scope-creep and bloat on a typical Web project, I’ll want to at least triple the projected hourly requirement for a total cost of $20880. Most likely, I’d quadruple it, for a total value of $27,840.

    Sound too high? Sure, there’s always someone’s nephew hanging around to take a project for $600. Then again, there are always clients hanging around who have already been burned by the ‘nephew job’ and are ready to pay real money for real work.

    If the project is highly complex or the client is very difficult, I won’t hesitate to multiply the actual projected hours by 6 or even 8 before bidding on the job. As a rule, if you feel that there’s any chance that you might ‘get a haircut’ on a job, you’re selling yourself short. As a Web professional, you are expected to understand the risks of a project and price them accordingly.

    If a project spins out of control and you lose money on it, you cannot blame the client, nor your contractors. We all know how this business goes and problems about, so be prepared for hiccups.

    Part 5 – Legal Agreements

    Get the legals out of the way early and quickly.

    Nothing erodes a good working relationship like a big, convoluted legal document. Keep in mind that most contractors don’t have easy access to a lawyer and probably aren’t able to do a legal review of the document themselves. This might seem like a winning proposition, but it’s really in everyone’s best interest to have a well-understood, binding, and clear agreement at all times.

    You’ll need to establish a general agreement that will cover you for multiple projects with each contractor, so try to find a very broad agreement and have an attorney review it for you. Typical sections of a general agreement would include:

    1. Services to be Performed by the Contractor
    2. Contractor Payment Terms
    3. Invoices -– Frequency and Level of Detail
    4. Term of Agreement
    5. Terminating the Agreement
    6. Independent Ccontractor Status
    7. Intellectual Property Ownership
    8. Company’s Materials
    9. Confidentiality
    10. Warranties
    11. Liability
    12. Force Majeure
    13. Taxes
    14. Ccontract Changes
    15. Dispute Resolution
    16. Attorney Fees
    17. Other General Provisions

    You’ll also need to take care of any tax related matters right up front, such as 1099 documents (if you’re in the US) and other government forms.

    These critical steps should be handled prior to the trial project, and are a crucial part of your qualification process. Your contractor should be familiar with all of this, have the required documentation ready, and readily participate in the process. If the contractor seems unsure or resists the legal and tax matters, they might not be the right contractor for you.

    Good Business

    A solid legal agreement is a must, but it won’t protect you from anything, really. It simply provides a framework for dealing with problems once they’ve already occurred, and that’s not the same as a truly preventative measure against potential issues.

    The essence of a successful business relationship is based not in legal contracts, need, or greed, but in the simple pillars of good business:

    1. Fairness
    2. Respect
    3. Profitability
    4. Growth
    5. Promise
    6. Mutual Benefit
    7. Trust

    In other words, the best protection against unscrupulous contractors is to simply do good business, and increase your own value as a client.

    • Make your contractors value the relationship by being respectful and paying them well.
    • Be sure to include them in company events and news, and keep them abreast of any new business developments that might benefit them.
    • Make it clear that their satisfaction is critical to your business, and you appreciate their efforts.
    • Acknowledge their desire to grow and increase their earnings. Make it clear that as your company grows, so will their role.
    • Reward contractors and employees for new client referrals or other networking benefits.
    Part 6 – Work with Offshore Contractors

    With the growing reach of the Internet, more Web development shops are outsourcing work not just to contractors, but to contractors living in other countries.

    Let’s talk about some of the issues that you’ll have to consider as you move to outsource work overseas.

    Communication

    Communication is key to any successful working relationship, and, as we all know, it’s difficult enough to maintain clear communication with people in the same town, office (or even room!) — let alone people on the other side of the world.

    Let’s look at some of the communications channels that will become critical as you work with international contractors.

    Instant Messenger

    Although convenient, instant messaging is generally an ineffective means of communication and should be avoided entirely. This is particularly true when you’re working with offshore teams because almost all communications will be electronic, and knowledge capture must be accurate and efficient if you are to keep the project on track.

    Project communications are rarely so urgent that they require immediate response, and IMs will simply interrupt the contractor that you yourself are paying to do the work. Instead of IMing your contractor, try writing a clear, concise email with numbered points on it, so that your contractors can respond in a manner that fits their schedule.

    It’s also important to get an understanding of how your offshore developers work, and their internal office schedule. This information should be used to create a communications schedule including daily checkpoints, and some communications ‘windows’ for everyone to follow.

    For example, my biggest development team is in India. They’re 9.5 hours ahead of my office in Boston. We’ve discussed scheduling and workflow many times and settled into a workflow that works for both of us. We have the following communication system in place:

    7:30 AM Boston Time / 5:00 PM India Time

    • Offshore team provides report on daily progress, and uploads any work performed that day.
    • I agree to contact the team within one hour if I have any immediate concerns with the progress.
    • The offshore team agrees to wait one hour for any response from me. After that, they are finished for the day.
    • If there is no progress report, or nothing significant to report, the team can contact me via IM and tell me that there’s nothing to report.
    • It is unacceptable to have zero contact, even if there is nothing to report.
    • If I don’t hear from them within about 30 minutes, I will call them on the phone.

    I handle my client throughout the day, then quit in the early afternoon. Later that night, I’ll return to my desk to provide support to the development at the beginning of their workday.

    9:30 PM Boston Time / 7:00 AM India Time

    • I agree to have any notes, changes, issues, or questions sent via email by this time.
    • The offshore team agrees to respond with any questions or issues within one hour.
    • If there are no questions or issues, they may contact me via IM.
    • It’s unacceptable to have no communications at the beginning of their workday, even if there is nothing to discuss.
    • If I don’t hear from them within about 30 minutes, I will call them on the phone.

    The key is to always allow for as many iterations and communication rounds as possible in every workday. The day/night cycle allows for one large iteration, and, for, a large project with great momentum, this is typically enough. However, I insist on these extra communications cycles on smaller projects as well, because I’ve found that it increases productivity dramatically.

    Time Differences

    Time differences are hard to get used to, but can ultimately work to your advantage as you approach a round-the-clock schedule. I actually prefer having my ‘development shift’ occurring at night, while the ‘client service shift’ happens during the day. It provides a convenient and sustainable cycle for development, and allows developers to assume a ‘daily-build’ mentality, which results in a comfortable project flow and convenient communications cycle.

    Language Barrier

    Language barriers are easy to address. Simply put, if your offshore contractor isn’t able to communicate effectively in your language of choice, find another contractor. The risks associated with language barriers among technology providers is huge and should always be avoided. Spelling and grammar problems are insignificant, but it’s unwise to work with a contractor who doesn’t understand everything you say at all times.

    International Contracts and Legal

    Legal situations become very complex when working across international borders. Typically, it takes a significant (and expensive) legal effort to establish a binding agreement with an offshore contractor or team. This usually involves the creation of 2 separate contracts (one for each jurisdiction) or the creation of one multi-jurisdictional contract. Either approach is highly complex and difficult for a small company to accomplish.

    In addition to the obstacles associated with establishing legal agreements internationally, any such agreement is extremely hard to enforce in the event of a conflict. Taking an offshore contractor to court would be expensive and time consuming at best, and is probably not an option for a small business.

    To remedy this, we can revisit the general guidelines established in the ‘Good Business’ section above. The best protection is to establish long-term, mutually beneficial relationships with offshore entities, and to cultivate an environment where it’s in everyone’s best interest to continue working honestly.

    Conclusion

    Ready to start working with contractors? Be sure you’re ready to invest some time and money into the recruiting process, use trial projects, and treat your contractors fairly. Remember, good business is the key to success and your contractors will take care of you if you take care of them!

    Dave HeckerDave Hecker
    View Author
    Share this article
    Read Next
    GenAI: How to Reduce Cost with Prompt Compression Techniques
    GenAI: How to Reduce Cost with Prompt Compression Techniques
    Suvoraj Biswas
    How to Use jQuery’s ajax() Function for Asynchronous HTTP Requests
    How to Use jQuery’s ajax() Function for Asynchronous HTTP Requests
    Aurelio De RosaMaria Antonietta Perna
    Quick Tip: How to Align Column Rows with CSS Subgrid
    Quick Tip: How to Align Column Rows with CSS Subgrid
    Ralph Mason
    15 Top Web Design Tools & Resources To Try in 2024
    15 Top Web Design Tools & Resources To Try in 2024
    SitePoint Sponsors
    7 Simple Rules for Better Data Visualization
    7 Simple Rules for Better Data Visualization
    Mariia Merkulova
    Cloudways Autonomous: Fully-Managed Scalable WordPress Hosting
    Cloudways Autonomous: Fully-Managed Scalable WordPress Hosting
    SitePoint Team
    Best Programming Language for AI
    Best Programming Language for AI
    Lucero del Alba
    Quick Tip: How to Add Gradient Effects and Patterns to Text
    Quick Tip: How to Add Gradient Effects and Patterns to Text
    Ralph Mason
    Logging Made Easy: A Beginner’s Guide to Winston in Node.js
    Logging Made Easy: A Beginner’s Guide to Winston in Node.js
    Vultr
    How to Optimize Website Content for Featured Snippets
    How to Optimize Website Content for Featured Snippets
    Dipen Visavadiya
    Psychology and UX: Decoding the Science Behind User Clicks
    Psychology and UX: Decoding the Science Behind User Clicks
    Tanya Kumari
    Build a Full-stack App with Node.js and htmx
    Build a Full-stack App with Node.js and htmx
    James Hibbard
    Digital Transformation with AI: The Benefits and Challenges
    Digital Transformation with AI: The Benefits and Challenges
    Priyanka Prajapat
    Quick Tip: Creating a Date Picker in React
    Quick Tip: Creating a Date Picker in React
    Dianne Pena
    How to Create Interactive Animations Using React Spring
    How to Create Interactive Animations Using React Spring
    Yemi Ojedapo
    10 Reasons to Love Google Docs
    10 Reasons to Love Google Docs
    Joshua KrausZain Zaidi
    How to Use Magento 2 for International Ecommerce Success
    How to Use Magento 2 for International Ecommerce Success
    Mitul Patel
    5 Exciting New JavaScript Features in 2024
    5 Exciting New JavaScript Features in 2024
    Olivia GibsonDarren Jones
    Tools and Strategies for Efficient Web Project Management
    Tools and Strategies for Efficient Web Project Management
    Juliet Ofoegbu
    Choosing the Best WordPress CRM Plugin for Your Business
    Choosing the Best WordPress CRM Plugin for Your Business
    Neve Wilkinson
    ChatGPT Plugins for Marketing Success
    ChatGPT Plugins for Marketing Success
    Neil Jordan
    Managing Static Files in Django: A Comprehensive Guide
    Managing Static Files in Django: A Comprehensive Guide
    Kabaki Antony
    The Ultimate Guide to Choosing the Best React Website Builder
    The Ultimate Guide to Choosing the Best React Website Builder
    Dianne Pena
    Exploring the Creative Power of CSS Filters and Blending
    Exploring the Creative Power of CSS Filters and Blending
    Joan Ayebola
    How to Use WebSockets in Node.js to Create Real-time Apps
    How to Use WebSockets in Node.js to Create Real-time Apps
    Craig Buckler
    Best Node.js Framework Choices for Modern App Development
    Best Node.js Framework Choices for Modern App Development
    Dianne Pena
    SaaS Boilerplates: What They Are, And 10 of the Best
    SaaS Boilerplates: What They Are, And 10 of the Best
    Zain Zaidi
    Understanding Cookies and Sessions in React
    Understanding Cookies and Sessions in React
    Blessing Ene Anyebe
    Enhanced Internationalization (i18n) in Next.js 14
    Enhanced Internationalization (i18n) in Next.js 14
    Emmanuel Onyeyaforo
    Essential React Native Performance Tips and Tricks
    Essential React Native Performance Tips and Tricks
    Shaik Mukthahar
    How to Use Server-sent Events in Node.js
    How to Use Server-sent Events in Node.js
    Craig Buckler
    Five Simple Ways to Boost a WooCommerce Site’s Performance
    Five Simple Ways to Boost a WooCommerce Site’s Performance
    Palash Ghosh
    Elevate Your Online Store with Top WooCommerce Plugins
    Elevate Your Online Store with Top WooCommerce Plugins
    Dianne Pena
    Unleash Your Website’s Potential: Top 5 SEO Tools of 2024
    Unleash Your Website’s Potential: Top 5 SEO Tools of 2024
    Dianne Pena
    How to Build a Chat Interface using Gradio & Vultr Cloud GPU
    How to Build a Chat Interface using Gradio & Vultr Cloud GPU
    Vultr
    Enhance Your React Apps with ShadCn Utilities and Components
    Enhance Your React Apps with ShadCn Utilities and Components
    David Jaja
    10 Best Create React App Alternatives for Different Use Cases
    10 Best Create React App Alternatives for Different Use Cases
    Zain Zaidi
    Control Lazy Load, Infinite Scroll and Animations in React
    Control Lazy Load, Infinite Scroll and Animations in React
    Blessing Ene Anyebe
    Building a Research Assistant Tool with AI and JavaScript
    Building a Research Assistant Tool with AI and JavaScript
    Mahmud Adeleye
    Understanding React useEffect
    Understanding React useEffect
    Dianne Pena
    Web Design Trends to Watch in 2024
    Web Design Trends to Watch in 2024
    Juliet Ofoegbu
    Building a 3D Card Flip Animation with CSS Houdini
    Building a 3D Card Flip Animation with CSS Houdini
    Fred Zugs
    How to Use ChatGPT in an Unavailable Country
    How to Use ChatGPT in an Unavailable Country
    Dianne Pena
    An Introduction to Node.js Multithreading
    An Introduction to Node.js Multithreading
    Craig Buckler
    How to Boost WordPress Security and Protect Your SEO Ranking
    How to Boost WordPress Security and Protect Your SEO Ranking
    Jaya Iyer
    Understanding How ChatGPT Maintains Context
    Understanding How ChatGPT Maintains Context
    Dianne Pena
    Building Interactive Data Visualizations with D3.js and React
    Building Interactive Data Visualizations with D3.js and React
    Oluwabusayo Jacobs
    JavaScript vs Python: Which One Should You Learn First?
    JavaScript vs Python: Which One Should You Learn First?
    Olivia GibsonDarren Jones
    13 Best Books, Courses and Communities for Learning React
    13 Best Books, Courses and Communities for Learning React
    Zain Zaidi
    5 jQuery.each() Function Examples
    5 jQuery.each() Function Examples
    Florian RapplJames Hibbard
    Implementing User Authentication in React Apps with Appwrite
    Implementing User Authentication in React Apps with Appwrite
    Yemi Ojedapo
    AI-Powered Search Engine With Milvus Vector Database on Vultr
    AI-Powered Search Engine With Milvus Vector Database on Vultr
    Vultr
    Understanding Signals in Django
    Understanding Signals in Django
    Kabaki Antony
    Why React Icons May Be the Only Icon Library You Need
    Why React Icons May Be the Only Icon Library You Need
    Zain Zaidi
    View Transitions in Astro
    View Transitions in Astro
    Tamas Piros
    Getting Started with Content Collections in Astro
    Getting Started with Content Collections in Astro
    Tamas Piros
    What Does the Java Virtual Machine Do All Day?
    What Does the Java Virtual Machine Do All Day?
    Peter Kessler
    Become a Freelance Web Developer on Fiverr: Ultimate Guide
    Become a Freelance Web Developer on Fiverr: Ultimate Guide
    Mayank Singh
    Layouts in Astro
    Layouts in Astro
    Tamas Piros
    .NET 8: Blazor Render Modes Explained
    .NET 8: Blazor Render Modes Explained
    Peter De Tender
    Mastering Node CSV
    Mastering Node CSV
    Dianne Pena
    A Beginner’s Guide to SvelteKit
    A Beginner’s Guide to SvelteKit
    Erik KückelheimSimon Holthausen
    Brighten Up Your Astro Site with KwesForms and Rive
    Brighten Up Your Astro Site with KwesForms and Rive
    Paul Scanlon
    Which Programming Language Should I Learn First in 2024?
    Which Programming Language Should I Learn First in 2024?
    Joel Falconer
    Managing PHP Versions with Laravel Herd
    Managing PHP Versions with Laravel Herd
    Dianne Pena
    Accelerating the Cloud: The Final Steps
    Accelerating the Cloud: The Final Steps
    Dave Neary
    An Alphebetized List of MIME Types
    An Alphebetized List of MIME Types
    Dianne Pena
    The Best PHP Frameworks for 2024
    The Best PHP Frameworks for 2024
    Claudio Ribeiro
    11 Best WordPress Themes for Developers & Designers in 2024
    11 Best WordPress Themes for Developers & Designers in 2024
    SitePoint Sponsors
    Top 9 Best WordPress AI Plugins of 2024
    Top 9 Best WordPress AI Plugins of 2024
    Dianne Pena
    20+ Tools for Node.js Development in 2024
    20+ Tools for Node.js Development in 2024
    Dianne Pena
    The Best Figma Plugins to Enhance Your Design Workflow in 2024
    The Best Figma Plugins to Enhance Your Design Workflow in 2024
    Dianne Pena
    Harnessing the Power of Zenserp for Advanced Search Engine Parsing
    Harnessing the Power of Zenserp for Advanced Search Engine Parsing
    Christopher Collins
    Build Your Own AI Tools in Python Using the OpenAI API
    Build Your Own AI Tools in Python Using the OpenAI API
    Zain Zaidi
    The Best React Chart Libraries for Data Visualization in 2024
    The Best React Chart Libraries for Data Visualization in 2024
    Dianne Pena
    7 Free AI Logo Generators to Get Started
    7 Free AI Logo Generators to Get Started
    Zain Zaidi
    Turn Your Vue App into an Offline-ready Progressive Web App
    Turn Your Vue App into an Offline-ready Progressive Web App
    Imran Alam
    Clean Architecture: Theming with Tailwind and CSS Variables
    Clean Architecture: Theming with Tailwind and CSS Variables
    Emmanuel Onyeyaforo
    How to Analyze Large Text Datasets with LangChain and Python
    How to Analyze Large Text Datasets with LangChain and Python
    Matt Nikonorov
    6 Techniques for Conditional Rendering in React, with Examples
    6 Techniques for Conditional Rendering in React, with Examples
    Yemi Ojedapo
    Introducing STRICH: Barcode Scanning for Web Apps
    Introducing STRICH: Barcode Scanning for Web Apps
    Alex Suzuki
    Using Nodemon and Watch in Node.js for Live Restarts
    Using Nodemon and Watch in Node.js for Live Restarts
    Craig Buckler
    Task Automation and Debugging with AI-Powered Tools
    Task Automation and Debugging with AI-Powered Tools
    Timi Omoyeni
    Quick Tip: Understanding React Tooltip
    Quick Tip: Understanding React Tooltip
    Dianne Pena
    12 Outstanding AI Tools that Enhance Efficiency & Productivity
    12 Outstanding AI Tools that Enhance Efficiency & Productivity
    Ilija Sekulov
    React Performance Optimization
    React Performance Optimization
    Blessing Ene Anyebe
    Introducing Chatbots and Large Language Models (LLMs)
    Introducing Chatbots and Large Language Models (LLMs)
    Timi Omoyeni
    Migrate to Ampere on OCI with Heterogeneous Kubernetes Clusters
    Migrate to Ampere on OCI with Heterogeneous Kubernetes Clusters
    Ampere Computing
    Scale Your React App with Storybook and Chromatic
    Scale Your React App with Storybook and Chromatic
    Daine Mawer
    10 Tips for Implementing Webflow On-page SEO
    10 Tips for Implementing Webflow On-page SEO
    Milan Vracar
    Create Dynamic Web Experiences with Interactive SVG Animations
    Create Dynamic Web Experiences with Interactive SVG Animations
    Patricia Egyed
    5 React Architecture Best Practices for 2024
    5 React Architecture Best Practices for 2024
    Sebastian Deutsch
    How to Create Animated GIFs from GSAP Animations
    How to Create Animated GIFs from GSAP Animations
    Paul Scanlon
    Aligning Teams for Effective User Onboarding Success
    Aligning Teams for Effective User Onboarding Success
    Himanshu Sharma
    How to use the File System in Node.js
    How to use the File System in Node.js
    Craig Buckler
    Laravel vs CodeIgniter: A Comprehensive Comparison
    Laravel vs CodeIgniter: A Comprehensive Comparison
    Dianne Pena
    Essential Tips and Tricks for Coding HTML Emails
    Essential Tips and Tricks for Coding HTML Emails
    Rémi Parmentier
    How to Create a Sortable and Filterable Table in React
    How to Create a Sortable and Filterable Table in React
    Ferenc Almasi
    WooCommerce vs Wix: Which Is Best for Your Next Online Store
    WooCommerce vs Wix: Which Is Best for Your Next Online Store
    Priyanka Prajapati
    GCC Guide for Ampere Processors
    GCC Guide for Ampere Processors
    John O’Neill
    Get the freshest news and resources for developers, designers and digital creators in your inbox each week