Writing a Job Description to Find a Great Front-End Developer

Image for Writing a Job Description to Find a Great Front-End Developer

So you want to hire a front-end web developer—how can you attract a top developer for your project?

Web development is generally divided into two parts, with two separate sets of skills and technologies: the front-end, which comprises all the parts of a website a user interacts with, and the back-end, which acts like the machinery and plumbing behind the scenes that makes it all run. For the purposes of this article we’re going to focus on finding a developer who can handle the front-end (or, “client-side”) of your application.

We’ll also do a quick refresher of what a front-end developer does and provide you with a general framework for writing a front-end project description to help you find the right developer for your project needs.

WHAT DOES A FRONT-END DEVELOPER DO?

A front-end developer uses a combination of HTML, CSS, and JavaScript to build everything a user sees and interacts with on a website—that includes everything from front-end features like fonts, sliders, drop-down menus, and buttons, to the overall manner in which web content like photos, videos, and articles are displayed in your web browser.

Front-end developer skills are often thought of in three levels depending on their experience. Developers start at the junior phase for the first few years, although the number of apps they’ve developed and the apps’ complexity are far more important when you determine the right developer for your project. After working alongside more experienced developers, they move to the intermediate phase where they can work on more projects independently. A senior developer can not only code a project, but they can also make decisions about how to design products.

As far as skills in front-end development, look for tools and technologies like:

  • Fundamentals like HTML, JavaScript, and CSS
  • CSS preprocessors like Sass and LESS
  • JavaScript frameworks like Ember, AngularJS, React, etc., or JS-based build tools like Grunt, Gulp, and Bower
  • Libraries like jQuery or Backbone.js
  • Front-end (CSS) frameworks like Foundation or Bootstrap
  • AJAX
  • Note: Advanced front-end developers will have a mix of front-end and back-end technology expertise, including solution stacks like MEAN or LAMP, and server-side technologies like Node, Java, or Ruby.

Tip: A “unicorn” describes those rare front-end developers who also double as UI/UX designers. They can help you carry your small-sized project from wireframing and storyboarding through development, testing, and production.

DEFINING YOUR PROJECT

Generally, the front-end developer you need will be determined by your project requirements. If all you need is someone to set up a simple landing page with Joomla, you can easily find a developer to do it for you who charges $15-20/hour.

On the other hand, if you wish to create a fully customizable SPA (single-page application), a senior AngularJS developer can charge upwards of $60/hour. The cost is worth it when you consider that you’ll want someone who has experience taking an app from conception through completion—they’ll know how to handle any bugs that appear before production.

To find the right front-end developer, you need to define the project with as much detail and documentation as possible. The better you define your project, the more accurate the estimates will be when developers propose terms for your project.

The first thing you should flesh out is what the developer will be doing. Are they adding to or updating an existing app? Are they creating an app from scratch? Do you have an existing app that needs some bugs fixed? This enables you to describe the work to be done and gives you some direction on the level of programmer that you need (junior, intermediate, or senior).

If you’re unsure of the experience level that you need, be as clear as possible with your project brief. This will help developers determine if they’re right for your project. You can specifically state what development level you need, but remember that more experienced developers may charge more even for simple requirements. If you don’t have any understanding of the development process, it might be better to stick with a senior-level developer who can help guide you through the process.

The final aspect of your project to mention is its length and the amount of time it will take to complete. Web development projects can take a week, a month, six months, or more. The length of time is often determined by the developer based on your project description, but you can at least provide an estimate or a deadline, if applicable.

Once you get an idea of how long the project will take, you can work with your developer to break down the project into phases. You and your developer can break the project into phases and agree on specific deliverables by particular deadlines. Is your intention simply to engage someone to set up a quick landing page to gather email subscriptions for your eventual product launch? Or are you looking for something more long-term, someone to build the client-side of your website from the ground up, with an emphasis on performance, scalability, and maintenance? Costs will vary from one end of the spectrum to the other.

This is especially true for front-end development, where top-level decisions such as whether or not your plan is to monetize an existing WordPress blog or develop dynamic single page application (SPA) from scratch, will ultimately determine which technologies your front-end developer will have to use. To help you out, we’ve categorized some of the languages, frameworks, and other technologies that a developer may possess, to help you search for the right developer for your needs.

Example phases include the following deliverables:

  • Wireframes
  • UI design
  • Front-end coding
  • Testing

awesome job post

WRITING A FRONT-END DEVELOPMENT PROJECT DESCRIPTION

After you get a firm idea of your project deliverables, it’s time to write a project description. The way you write a description will determine the quality of developer that you’ll attract. It’s important to be concise yet detailed enough so developers interested in your project can submit proposals with fairly accurate cost and time estimates.

The title of your job description should be able to grab the attention of the developer that you’re looking for—are you looking for a senior developer or will an entry level coder suffice for your needs? Did you have any specific frameworks, libraries, or tools in mind? Customize your title so that it specifies the main traits you’re looking for in your desired developer.

The second part is the main body of your project description, the project overview. This is where you elaborate on the details of who you’re looking and what you’re trying to accomplish. This a good place to link or attach any wireframes, mockups, creative briefs or other documentation that clearly illustrate your ideas or other aspects of your project. The goal is to strike the right balance between detail and brevity to ensure that the developer has a clear picture of the work to be done. If you need the developer to sign an NDA (non-disclosure agreement), you can also specify this requirement in your description.

The final part of a good project description is to touch upon your desired development schedule and deliverables—any designs, documentation, or source code.. The source code is usually delivered using a version control solution such as Git.

Sample Project Description

Below is a sample of how a project description may look. Keep in mind that many people use the term “job description,” but a full job description is only needed for employees. When engaging a freelancer as an independent contractor, you typically just need a statement of work, job post, or any other document that describes the work to be done.

Title: Front-End Developer for a MEAN Social Media Platform
Description: We’re looking for an intermediate front-end developer to help build an exciting new social media platform for independent filmmakers, fans, and film festival venues to connect with one another. The project is based on the MEAN (MongoDB, Express.js, AngularJS, and Node.js) stack, so familiarity with at least AngularJS is required.

The right developer will have expertise in the following:

  • Translation of designer mock-ups and wireframes into front-end code
  • Front-end integration with a MEAN back-end
  • Unit testing with Karma
  • Familiarity with API Creation and RESTful services
  • GitHub

Project Scope & Deliverables:

While much of the project has already been completed, we still need additional support to help us polish our product and meet our launch deadline in 6 months (mm/dd/yyyy). We will need the following three deliverables:

Deliverable #1 by (date)
Deliverable #2 by (date)
Deliverable #3 by (date)

About Us:
We are Carnivale, an innovative startup seeking to bridge the gap between independent filmmakers, fans, and festivals.

That’s enough about us, to ensure you’ve read the entirety of this message, please include the name of your favorite film alongside your portfolio in your reply.

*Note all company names and dates, were created solely for the use of this example.

Upwork is a freelancing marketplace where businesses of all sizes can find talented professionals across multiple disciplines and categories. If you are a business and are looking to get projects done, consider signing up!

Join Upwork
Yoshitaka Shiotsu

by - Technical Copywriter & Digital Marketing Consultant

Yoshitaka (Chris) Shiotsu is a technical copywriter and digital marketing consultant on Upwork. He brings the researching prowess and technical savvy of an electrical engineer… more