How to hire a front-end developer
Your website is a sum of layers—structure, data, design, content, and functionality. Creating that user-facing functionality is the job of a front-end developer. Using a combination of markup languages, design, and client-side scripts and frameworks, the front-end developer creates the environment for everything that users see and touch: content, layout, and interaction.
So, how do you find a freelance front-end developer who can deliver the experience your visitors are looking for? Here are key considerations, essential skills, and other factors you may want to consider during the selection process.
How do you hire a front-end developer?
You can source front-end development talent on Upwork by following these three steps:
- Write a project description. You’ll want to determine your scope of work and the skills and requirements you are looking for in a front-end developer.
- Post it on Upwork. Once you’ve written a project description, post it to Upwork. Simply follow the prompts to help you input the information you collected to scope out your project.
- Shortlist and interview front-end developers. Once the proposals start coming in, create a shortlist of the professionals you want to interview.
Of these three steps, your project description is where you will determine your scope of work and the specific type of front-end developer you need to complete your project.
How to shortlist front-end developers
As you’re browsing available front-end developers, it can be helpful to create a shortlist of the contractors you may want to interview. Do a quick screen for the basic skills and qualities such as:
- Excellent collaboration. A front-end developer will work closely with UI designers, web designers, and back-end developers. Expect there to be a bit of a feedback loop and rounds of revisions to get it right—any changes they make to the UI will result in some reworking, and the back-end has to be designed to support that.
- Testing. A familiarity with unit tests a la TDD (Test-Driven Development), or a general penchant for testing code throughout the lifecycle of a project goes a long way towards preventing headaches on launch day.
- Security, SSL certificates, and HTTPS protocols. A good front-end developer should at least be familiar with the fundamentals of network security.
- Performance and scalability of code. Professional front-end developers know how to write clean, modular, well-annotated code that will make it easier to maintain, update, and scale-up as your web project grows.
Upwork has done some of this for you with our web design services where we've found proven web design talent.
How to write a job description for front-end developers
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
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)
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.
Sample questions for the interview
- “What are some of the most common mistakes you perceive in front-end development?” The depth of a developer’s knowledge can be measured by the number of mistakes they’ve made or seen, and how they were able to overcome them.
- “Describe one of the biggest challenges you had coding some tricky front-end functionality and what you used to solve it?” This gives the developer a chance to show you what they’ve got. Whether it’s the time they tried to launch their own social media app or had to tackle a particularly daunting project for a client, this question serves as a simple prompt to let them tell you where they really tried to test the limits of their abilities.
- “Knowing what our site/app is trying to do, what do you think some interactive front-end challenges we may face could be?” Asking this question doesn’t just indicate whether they’ve done their research, it also gives them a chance to show their experience tackling different types of sites and coding challenges.
- “What are some of your favorite front-end frameworks, and why?” This is a good opportunity to let them explain their favorite tools and technologies, and how they apply them to different types of apps. It also lets you hear about their production style, how they like to streamline work (say, with CSS preprocessors), and how they leverage certain frameworks for their strengths.
- “How do you typically tackle testing of your code?” It’s always a good sign if your developer is a practitioner of TDD or familiar with writing unit tests. Karma, Protractor, Mocha, Jasmine—these are just some of the popular test tools out there that you can look for in your candidate’s responses.
FRONT-END DEVELOPERS FAQs
What is front-end development?
Front-end development is the process of turning UI/UX designs into the functional user-facing features you interact with on a webpage. Using a combination of markup languages, design, and client-side scripts and frameworks, the front-end developer creates the environment for everything that users see and touch: content, layout, and interaction.
What does a front-end developer do?
Generally, a front-end web developer’s services include:
- Tailoring user experience
- Production, modification, and maintenance of websites and web application user interfaces
- Creating tools that enhance how users see and interact with your site in any browser
- Implementing responsive design for mobile sites
- Contributing some back-end experience, collaborating on APIs, and more
- Maintaining software workflow management with a project management tool like GitHub and task runners like Grunt and Gulp
- Consulting on SEO best practices
- Testing the site during development for usability and fixing any bugs