Want to become a backend developer? Not surprising. Backend developers enjoy an average base salary of $95k per year, not to mention comprehensive benefits. And best of all? You no longer need a four-year degree to learn backend development. We estimate that with the help of some of the best backend projects, you can prepare yourself for a backend development job in about nine months. To secure the job, expect to spend around 10 hours a week working on your skills.
Read on for some project ideas, or, if you’re looking for a more complete learning path, check out Boot.dev, our platform for learning modern back-end development.
🔗 tl;dr - 6 Projects to learn back-end development
- A book analyzer (get comfortable with dev environments)
- A maze solver (practice algorithms and data structures)
- A web crawler (learn about web networking)
- A social media server (practice REST APIs)
- A database of pokemon
- Deploy an earlier project using Docker
🔗 The skills you’ll learn in these projects
What skills are most in demand? If you want to become a backend developer, you’ll need to demonstrate these six key skills to potential employers:
- Coding basics in Python, Go, or another back-end language
- Data structures and algorithms
- The basics of the web, like HTTP
- Simple web servers
- Database fundamentals - SQL or NoSQL
- How to deploy to the internet, maybe with something like Docker
Therefore, the best backend project ideas show off at least one of those skills, if not multiple in conjunction. Let’s walk through the six projects you need to prove you’re the ideal backend developer material.
Remember, these are a starting point. Try these six backend projects out, note where you struggle, and take the time to read up on any difficult concepts. These six backend projects will help map out your strengths and weaknesses while also allowing you to boost your project portfolio.
This is a backend project for beginners, the goal is to get you comfortable building projects on your own machine.
The most basic skill you’ll need as a backend developer is the ability to code, preferably in Ruby, PHP, Java, .Net, or Python. I recommend Python because it’s easiest for beginners and overall is a very versatile language.
This simple project is a text analyzer in python. This tutorial runs you through how to set up a development environment in Python and work with basic input/output. It also teaches you how to use a CLI, or command line interface.
The CLI is a text-based interface used to run software and operating systems. As a user, you type commands into the interface. The CLI runs it and shows the output of your command on the screen. As a backend dev, you’ll be dealing with servers, not clients. Mastering the CLI is a must.
If you can’t manage this, no worries! Take a step back, re-learn Python fundamentals, and come back when you’re ready.
This is an impressive portfolio project where you can show your knowledge of computer science concepts.
You’ll be tested on these concepts in your interview, so use this project to nail the fundamentals of the most common algorithms and data structure concepts. It’s not just to crush your interview, though. As a backend dev, you’ll be responsible for ensuring company servers are running fast and functional code.
“Not knowing data structures and algorithms is like a car mechanic who knows wrenches and screwdrivers, but doesn’t have any idea of how the ignition system or transmission works. This mechanic doesn’t need to know the physics of fire or the metallurgy of the transmission gears, but they need to have a reasonable idea of what’s going on,” writes Malcolm Teas, software engineer, in a Quora answer.
This maze solver is super fun because you get to build something visual in Python, which isn’t always the case. It also forces you to use many of the simple data structures you’ll need in interviews and on the job.
That said, I also liked the Coursera project which walks you through a concept called “shortest path programming.” You’ll learn about graphs, search algorithms, graph algorithms, and graph data structures.
As a backend developer, you need to know:
- What is a web server?
- What is HTTP?
- How do web pages communicate with servers?
You should be familiar not just with server-side, but the client/server model. That’s what this project will teach you. I recommend building it from scratch without too much help by following the guided tutorial linked above. That said, here’s a video walkthrough if you need it.
Subscribe to my YouTube channel if this video was helpful!
It’s more of a front-end project, but that knowledge is crucial to supporting your development as a back-end dev. Backend development doesn’t happen in a vacuum, after all!
This project should get you really familiar with the basics of RESTful APIs. The backend (to remind you, also called the server side) is made up of the server, which provides data on request, the application that channels it, and the database which organizes the information.
This is probably the most important kind of project to practice with as you’re learning back-end development.
I’d also recommend doing a couple more toy projects to practice related concepts and technologies like GraphQL and gRPC. I recommend this old-but-gold project to build a simple web server and make it internet-accessible. It’s super simple but gives a lot of customization potential which is important for projects for backend devs.
🔗 Project 5: A pokemon database
Nearly every backend server uses databases to store information. As a backend developer, you should be intimately familiar with databases. Choose another project that will help you prove that.
You should pick a SQL database since they’re the most popular – my in-house recommendation is PostgreSQL. Some of the NoSQL options may come in handy later on but don’t feel like you need to know them backward and forwards. You should just be able to speak to them if they come up in an interview.
I believe this is the best backend project for the skill, which shows you how to build a to-do app using Django and PostgreSQL. Django is a framework written in Python. Typically, it’s used to create a nice web app. Its “Django admin” is famous for being an auto-generated backend that doesn’t rely on a lot of code.
An alternative: you can reuse one of the earlier backend projects by upgrading it to use a database.
🔗 Project 6: Deploy one of your earlier projects to the internet
Let’s tie it all together! As a backend dev, you need to show employers that you have great coding and deployment skills.
I loved this tutorial for a project that helps you build and deploy an image management application backend. You’ll run through creating a database and table, creating endpoints to store and retrieve images, uploading your code to GitHub, and deploying your app on Heroku. It’s long and complex but takes you through a lot of the critical skills we’ve practiced so far.
Technologies you’ll use in this project: Express (a Node.js framework), PostgresSQL (a database), Cloudinary (a cloud-based image storage), GitHub (for version control/storage) and Heroku (a hosting platform).
You can also play around with cloud-native tools like Terraform, Docker, and MiniKube. These are all great skills to have, but they’re not as important as the fundamentals we’ve covered so far.
🔗 These are the best backend project ideas to get you a backend job.
If you’re looking for portfolio projects for backend developers, you’ll need to show your mastery (or at least basic familiarity) with the six skills outlined in the intro. Mastering backend development enough to be hired is more than knowing languages, frameworks, and tools – you need to be familiar with the concepts and fundamentals that underpin backend development.
These projects focus on that fundamental mastery. And remember – even while you’re job hunting, I recommend you continue building on your skillset. Think of these projects as a starting point on your journey.
Best of luck on your path to employment as a backend developer!