a stack of technological devices

So you want to hire a full stack web developer—how can you attract a top developer for your project? If you’re trying to build a website from the bottom up, a full-stack developer can get it done—and writing a clear and concise job description is an important first step in finding that perfect developer for your project.

Most developers tend to focus on either the front-end, the dynamic, interactive portion of a website that everyone is familiar with, or the back-end, the data-driven server-side of an application that powers site functionality from behind the scenes. A full stack web developer is a jack of all trades who can do both reasonably well enough to carry your project all the way from conception to completion.

In this article, we’ll do a quick overview of the role of a full stack web developer, and provide you with a general framework for writing a job description to help you find the right developer for your needs.

What Does a Full Stack Web Developer Do?

On the front-end, the full stack web developer uses a combination of HTML, CSS, and JavaScript to build everything a user sees and interacts with on a website. On the back-end, they develop the application, server, and database that make up the foundational structure of a website. Their skills are often centered around solution stacks like LAMP (Linux, Apache, MySQL, PHP) or MEAN (MongoDB, Express.js, AngularJS, Node.js) which contain all the technologies required to set up a complete website.

Here’s what you can expect to see in a full stack developer’s skillset:

Front-End

  • Web fundamentals like HTML, JavaScript, and CSS
  • CSS preprocessors like Sass or LESS
  • JavaScript frameworks like AngularJS, React, or Ember 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

Back-End

  • API design and development
  • CRUD (Create, Read, Update, Delete)
  • RESTful Services
  • Web fundamentals like HTML, JavaScript, and CSS
  • Server-side languages like PHP, Python, Ruby, Java, JavaScript, and .Net
  • Database technologies like MySQL, Oracle, PostgreSQL, and MongoDB.
  • Web server technologies like Node.js, J2EE, Apache, Nginx, ISS, etc.
  • Frameworks related to their server-side language of choice like: Express.js, Ruby on Rails, CakePHP, etc.

More often than not, a full stack developer is really either a front-end developer who’s comfortable with the server-side or a back-end developer who can hold their own on the client-side. The two branches of web development are distinct enough that it’s typically better to fulfill the two distinct roles if one has the resources to do so. That said, a great full stack developer can be just what a startup needs to get their new social media app to market.

Defining Your Project

Web developers are as diverse as the technologies they wield. A clearly defined project can help you narrow your developer pool by targeting those who possess the specific tools and skills your project requires.

The first thing you need to do is define the work that needs to be done. Do you just need someone to set up a simple landing page to serve as the online front for your small business? Or are you looking for someone to develop a full-featured, dynamic, single page app (SPA) from the ground up? Costs will vary depending on the nature of the work that needs to be done. Answering self-directed questions like these can direct you on the level of experience (junior, intermediate, or senior) you should look for in a potential developer.

The next aspect of your project you’ll want to consider is project duration or time to completion. Web development projects can range from weeks to months or more. The length of time is often determined by the developer based on your project description, but it’s generally good practice to provide an estimate or a deadline, if applicable.

Once you’ve defined your project scope, it can be helpful to further divide it into phases. This doesn’t have to factor directly into your written job description, as this step is often easier performed with input from a developer, but it’s a good idea to plan ahead and have an idea as to how you want to handle milestone payments. Take a moment to break the project into developmental phases with specific deliverables and deadlines. After the interview, you can work with the developer to flesh out the deliverables based on your project scope.

Writing a Web Development Project Description

With a clearly defined project in hand, it’s time to write that 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 first step is to write a title that targets the type of developer that you’re looking for. You know you want a full stack developer, but what specific technologies were you looking for on the client-side and the server-side. Include keywords in your title that target any specific frameworks, languages, tools, traits, or development methodologies that are critical to the role you are trying to fill.

The project description itself should provide a rough overview of your project. Outline job responsibilities, desired skills, and the nature of the work that needs to be done. Attach any wireframes, mockups, creative briefs or other documentation that can help clarify what you’re trying to accomplish. It can help developers make more accurate time and cost estimates when they apply to your job post. You may also want to mention an NDA (non-disclosure agreement) if one is required.

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: Full Stack Web Developer for a MEAN Fitness Tracking App
Description: We’re looking for an experienced full stack developer to help kickstart our new new social media platform for fitness enthusiasts. The project is based on the MEAN (MongoDB, Express.js, AngularJS, and Node.js) stack.

The right developer will have experience in the following:

  • Scrum or comparable Agile SDLC
  • Familiarity with API Creation and RESTful services
  • MEAN (MongoDB, Express.js,AngularJS, and Node.js) Stack
  • Translation of designer mock-ups and wireframes into front-end code
  • Solid foundation in data structures, algorithms, and system design.
  • Database administration and management of a hosting environment
  • Unit testing with Karma
  • Version control with GitHub

Project Scope & Deliverables:

We’re looking to launch our next MVP in 6 months (mm/dd/yyyy), to meet that goal, we will need the following three deliverables:

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

About Us:
We are FitNet, an innovative startup seeking to connect gym goers and fitness enthusiasts from around the world.

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

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

Learn how to write an awesome job post.