Who's on the Other Side of the Screen?

Freelancers can be heavenly, or they can make your life a living hell...

Do you need help hiring a freelancer online? Maybe you have hired a freelancer before and were frustrated by your experience. Perhaps you are looking to hire some help with your project but don’t know where to start. Don’t be afraid, we’ve all been there before. One year ago CoDA was in the latter situation; we didn’t know where to start. Six months ago we were in the former situation, burned by a freelancer who didn’t live up to our expectations. Today, CoDA has worked with six freelance engineers through Upworks.com and we will totally do it again!

Online platforms can connect you with freelancers across the world at many price-points. Here are some of the things we learned from our experiences, how to find qualified freelancers, what to expect, and how to get the most out of their time to save money and sleep soundly.

1) Don't go in blindly. Be honest about what you need.

Unless you are hiring a project manager who can help you with this stuff, take the time to plan and establish goals for your freelancer and project in general. Think about your main goal, your overall timeline, how much you want to spend, and how the freelancer can help. Then write it down. You will establish expectations from the beginning and create a measurement for success!

Icons by Art Shop from the Noun Project

Icons by Art Shop from the Noun Project

Lay a good foundation for your project:

  • Project Plan: This provides a general introduction to and summary of the project, the users of the technology, devices the tech should work on, major goals, milestones, and timelines. A fine-tuned project plan helps guide work at every step of the process, even though your end result may (and likely will) differ from the original specifications.
  • Content Strategy: Understanding your goals about content & how it’s organized is integral to any media project. Make sure to outline what types of information you are collecting (or you already have for Legacy Data) and how the data relates to one another. Relationship diagrams can be useful, just like the one below.
  • Design Strategy (Optional, but REALLY helpful!): Sometimes it’s difficult to picture an application or database using words alone. Sit down with your project team & outline how you’d like users to flow through the application. You don’t need to be a designer to do this! Just know how you want the product to feel & you’ll go far. Take out paper or work on a whiteboard to sketch out some interfaces. If you feel comfortable with digital design tools, such as Photoshop or Sketch, you can develop these designs even further!

2. Ask for work samples

Okay, so you put together a pretty good job description (thanks to your strong foundation of guiding docs) and the applicants are filing in. Remember, someone can look GOD(DESS)LY on paper, but that doesn’t necessarily mean they have the experience or technical chops you need for this project! Asking for examples of a developer’s prior work helps you understand their level of expertise and detail. One developer we worked with did not have examples to share, nor reviews, but he could certainly “talk the talk” in our interview & even had professional certification. Near week four of working with this developer, it was apparent that his level of detail and understanding did not meet our expectations. We had to re-allocate resources to making sure he could talk to our senior developer about implementation, and even had to schedule extra time to fix a lot of his code.

Sometimes great developers have to sign non-disclosure agreements, so if a strong applicant doesn’t have work examples, ask them if they have experience creating similar features and have them describe to you their decision-making and process to solve it.

3. Establish clear lines of communication

Upwork has chat and video conferencing built in, but a lot of developers don’t check the tool all day, every day. It was a little frustrating emailing or chatting developers who sometimes don’t respond for 4-5 days at a time. Establish how often you’d like your developer to check in (we prefer weekly!) & via what type of technology, so that you maintain a mutual understanding for how things are going and have an avenue to reach out.

4. 'Developer' or 'Engineer' does not equal designer

Messy layouts make your product seem unprofessional. Even if you put together a clear prototype & style guide, the developer/engineer is typically focused on one thing: functionality. Does the application work? Yes. No bugs? Nope. Their job is done!

When we started working with our Upwork developers, I expected that their layouts would be pixel and color perfect. We stated clearly in our job posting that we needed someone who could follow detailed design specs. I’m sort of a stickler for consistent layouts & colors. To my dismay, we received our first version of the database looking nothing like our prototype.

There was a lot to work on, so we decided the developer’s time was better spent solving bugs and not layout details, as the layout adjustments could be done faster by myself, a designer and front-end developer. If you don’t have someone on your team who can work on perfecting your layouts, consider hiring a “front-end developer”, a specific role for someone who focuses on making your application pixel-perfect.

We got this image from AVPreserve’s Slidedeck on the Sustainable Heritage Network, but I’ve seen it across the internet. Do you know where we can find the original?

We got this image from AVPreserve’s Slidedeck on the Sustainable Heritage Network, but I’ve seen it across the internet. Do you know where we can find the original?

5. Schedule time to test, then schedule some more.

Scheduling some time to test is imperative! Testing allows you to find & resolve bugs before you ship to users. When you work with your developer, ask for them to send you copies of the application at certain milestones so you can test & resolve bugs. The best time to do this is when the developer has completed all the goals for a certain feature.

Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law.
— Douglas Hofstadter, Gödel, Escher, Bach: An Eternal Golden Braid (1979)

Click every button, go back to your design strategy and make sure your product allows users to accomplish their tasks. Take detailed notes, so that your developer can easily understand and solve issues.

Download our template for Quality Assurance (QA) Documentation.

We recommend making sure early on that the developer knows they are accountable for bug fixes. You will likely have an hourly contract with them for ongoing support, but it makes all the difference to have an engineer who can be available for support after the project ends.

Celebrate your accomplishments!

Ultimately, working with a developer and seeing a project through end to end is an accomplishment. You will feel better having built your first project with flaws, than not doing it at all. After you are done, reflect on the experience you’ve gone through. What worked well and what could be done to make things better next time? This reflection will help you grow as you build on what you’ve already accomplished.

Have any experience with freelancers? Want to share your advice? Comment in the section below, we’d love to hear from you!

Still need help with your project?

The Center for Digital Archaeology is a full services company. If you need support, consultation, project management, or design for your Cultural Heritage or Archaeological digital project, get in touch! With more than a century of technical experience combined, we can help relieve some of that burden. Get in Touch