A back-end developer is responsible for the performance, stability, security, and speed of your site or app—all the behind-the-scenes functionality that makes everything the user sees and does possible. Because they create the different types of server-side software that powers the front-end of your app, you’ll want someone with a great mix of skills that can include database programming, API programming, middleware, server scripting, testing, and integrations.
So, how do you find a freelance back-end developer who can deliver the software planning and development your site or app needs to function? This article breaks down key considerations, essential skills, and other factors you may want to consider during the selection process.
What does a back-end developer do?
A back-end developer brings the design and functionality of an app to life. Using a server-side script, back-end programming language, and typically a mix of frameworks, they build everything that makes a website function—all of it invisible to the users. This can include the business logic that dictates how data is called up, loaded, and saved when a user interacts with it; API integrations that plug software into the server; or cloud-based, containerized server nodes that house an application’s code.
Some examples of back-end developer responsibilities include:
- API design and development
- Process data such as taking form elements and storing them in a database
- Calculating and processing data to move users through a workflow such as a login form that sends users to their secure dashboard
- Retrieving data from a database to display to a user
- Editing stored data including database updates and table design
- Adding modules to your existing API or web application
A back-end developer is also critical when it comes to testing server-side functionality, database integrations, and API integrations. They’ll be able to write and run manual and automated tests to improve the site’s performance and fix any bugs that might affect the front-end functionality.
Tip: Full-stack developers can work on both ends of the software stack, able to translate front-end design specs into code and integrate them seamlessly with back-end functionality. They can help you develop your small-sized project from the ground up, from wireframing and storyboarding all the way through to testing and production.
Define your project scope
Deciding what technologies and integrations will go into the back-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. It should outline what you’re hoping to deliver to users on the front-end so the developer can conceptualize the logic required to bring that to life.
These details may include:
- General information about your business or industry, and your target audience.
- A summary of your project in terms of the tech required to make it happen: What it is, what service it provides to users, and why it’s happening.
- The complexity of the app, if you can speak to it: The database design, how much will it need to scale/grow down the line, server resources required, etc.
- UI wireframes or mockups and existing server and database infrastructure.
- Any existing integrations or APIs the project will need to rely on.
- A project timeline, including any key milestones/deliverables and testing timelines.
- The project budget.
A thoughtful and well-defined 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 developer who can get the results you’re looking for.
Write a back-end job post
Writing the perfect job description to find a back-end developer takes one thing: Details. They should have plenty of context around the business goals and logic of your project. Explain in detail what the front-end is designed to do so they know what’s being asked of the back-end software they’ll be programming.
Will they be creating the back-end for a real-time chat application, or coding a data-heavy app that requires a lot of calls back-and-forth to the server? Are you using Windows or Linux? Not all backends 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
- Any preferences for programming languages or frameworks (Python for data, Ruby for fast prototyping, JavaScript and Node.js, etc.)
- Your existing infrastructure: Operating system, software stack, server setup (on site, containerized, or deployed in the cloud?), integrations, databases, APIs, etc.
- The deliverables and the timeline
- Specific requests for the proposal process
Shortlist submissions
When the first round of proposals come in, do a screen of developers for the foundational skills you’re looking for and narrow the field from there. Look for freelancers who understand how to translate client-side functionality into clean, server-side code. Keep an eye out for evidence of best practices such as:
- Excellent collaboration. A back-end developer will work closely with UI designers, web designers, and front-end developers. Expect there to be a feedback loop and rounds of revisions to get it right—any changes made to the front-end will require tweaks on the back-end to ensure it’s coded to support any new functionality.
- Software testing. We’re not saying every developer has to be a faithful apostle of the Agile Manifesto, but a familiarity with unit tests and sprint-based testing throughout the lifecycle of a project goes a long way toward preventing headaches on launch day.
- Data security, network security, and server security. Code that wasn’t written securely from the ground up can leave your server and network vulnerable to attacks, leaving any customer information sent through your app or site open to hackers, or taking your service offline if you lose access to your network. Ensure your customers can trust your site with their personal information, and that your own network is secure, with measures like firewalls, encryption, and more—things a good back-end developer will know how to implement.
- Performance and scalability of code. Professional back-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. They’ll also structure databases from day one to handle the kind of traffic and growth you do (or don’t) expect from your application.
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 back-end developer:
- “What does your software planning phase look like?” This is where you can get a sense for how the developer solves problems, turns front-end requests into actionable back-end code, and who on the project they expect to engage and consult along the way. It also lets them demonstrate how they choose the databases and platforms that are most appropriate, scalable, and cost-effective for a particular project. Planning a database is something you do once, and early—and the more complex they think it will be, the more planning is needed.
- “What are some of the most common mistakes you perceive in infrastructure design and server-side software 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 back-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 a complex app in the cloud or had to tackle a particularly daunting API integration, this question serves as a simple prompt to let them tell you where they’ve tested the limits of their abilities. For instance, the developer probably ran into issues regarding app execution and permissions set on the server. This shows they’re able to work with hardware specialists to create an app that follows internal rules regarding permissions and the way IT has set up the infrastructure.
- “What are some of your favorite server-side programming languages and 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 projects. It also lets you hear about their production style and how they leverage certain frameworks for their strengths.
- “How do you typically handle testing of your code and integrations?” Testing should never be an afterthought—you don’t want surprises or bugs in final phases that require you to go back and refigure finished code, delaying launch dates. This lets you see how a developer approaches testing when they’re building a back end, and gives you a sense for how they prioritize testing during development.