Frontend developer

A front-end developer is responsible for creating all the customer-facing features of an app—no easy feat, when you consider that the front-end is the summation of All of the mocked up designs, the UI/UX strategy, the information architecture, interactivity, and the goal of the functionality coded on the back end. Because this is where the rubber meets the road—and your users are expecting great aesthetics and performance—you’ll want someone with a great mix of skills that can include graphic design, UI design, coding, testing, and integrations.

So, how do you find a freelance front-end developer who can deliver the experience your visitors are looking for? This article breaks down key considerations, essential skills, and other factors you may want to consider during the selection process.

What does a front-end developer do?

A front-end developer brings the design and functionality of an app to life, blending a mix of UI, UX, graphic design, and plenty of technical coding skills. Using a combination of HTML, CSS, and JavaScript—the big three core skills of front-end development—they build everything a user sees and interacts with on a website. This can include fonts, sliders, drop-down menus, and buttons, and content that’s been optimized for fast load times like photos, videos, and articles are displayed in your web browser.

A front-end developer will also be critical when it comes to test the front-end functionality, UI, and UX or your app or site. They’ll be able to run manual and automated testing, then use that data to improve the client-side functionality. They’ll also test that any back-end integrations are properly supporting front-end functionality, and fix any bugs.

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 all the way through to development, testing, and production.

Ready to get started? Get tips on how to write the best front-end job description to attract great talent for your project.

Define your project scope

Deciding what level of complexity will go into the front-end of your project is one of the main purposes for a creative brief—a document you can share with the developer that provides contextual information about the project and their role in it.

These details may include:

  • Information about your business or industry.
  • A summary of your project: What it is, and why it’s happening.
  • Your target audience.
  • Wireframes or mockups.
  • An overview of what the competition is doing.
  • A project timeline, including any key milestones/deliverables and testing timelines.
  • The project budget.

A thoughtful and well-defined creative brief won’t just help your project run more smoothly; you can also use it to write a job post that will be more likely to attract a talented web designer who can get the results you’re looking for.

Write a front-end job post

Writing the perfect job description to find a front-end developer takes one thing: Clarity. They should have plenty of context around your project, and a clear idea of the requirements for your front-end that they’ll be coding.

Will they be creating a simple landing page, or coding a fully customizable single page application (SPA)? Not all front-ends are created equal, so to appeal to the top talent suited to your project, your description should explain:

  • The problem you’re trying to solve with your app or site
  • The skill level you’re looking for
  • Any existing integrations, frameworks, or libraries
  • The deliverables and timeline
  • Any requests for the proposal process

Shortlist submissions

When the first round of proposals come in, do a quick screen for the basic skills and qualities you’re looking for and narrow the field from there. Look for front-end developers who understand usability, good design, and can write browser-based code that performs well.

Knowing how to translate client-side functionality and design into clean code is paramount, so the ideal developer will be versed in both the technical and design aspects of building your website’s front end. Look for them to understand best practices such as:

  • Asynchronous JavaScript. Programming concepts like AJAX allow front-end developers to make asynchronous callbacks to the server, allowing the webpage to send or retrieve data without having to refresh the entire page every time the user makes a small change (i.e. rating a movie).
  • 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. We’re not saying every developer has to be a faithful apostle of the Agile Manifesto, but 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. When information is sent over the web, what’s stopping someone from intercepting that traffic and stealing your personal information? Or if you’re a service, how do your customers know they can trust your site with their personal information? The answer of course is network security—a good front-end developer should at least be familiar with the fundamentals.
  • 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.

Sample questions for the interview

In addition to more standard interview questions, here are a few suggestions you may want to include when talking to a potential front-end developer:

  • “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.