Want to become a backend developer? Not surprising. Backend developers enjoy an average base salary of $160k per year, not to mention comprehensive benefits. And best of all? You no longer need a four-year degree to learn backend development. With the help of some of the best backend projects, you can prepare yourself for a backend development job in about nine months, even if you’re a total beginner.
Note: You should 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 (learn about databases)
- Deploy an earlier project using Docker (cloud, scaling, and DevOps practice)
🔗 What are backend projects?
Backend projects serve two purposes for anyone looking for a backend development job.
- They teach you the skills in a real work environment. You can spend all day watching lectures and reading tutorials, but at some point it’s time to take off the training wheels and get some actual backend development skills. These projects help you get your feet wet.
- They give you something to put on your portfolio. When you apply for jobs, most employers will be looking for something beyond “I know how to code in Python” on your resume. They’ll want to see proof – something cool you built with Python.
🔗 How do you start a backend project?
Here’s how you start:
- Determine your skill level.
- Pick the langugae you want to use.
- Find your dream job application.
- Identify one of the skills they talk about.
- Complete a project that demonstrates that skill.
For example: say you’re a Pythonista. You find this backend engineer job working at Memfault. Their job app requests, “Proven experience in building scalable backends in Python (Django, Flask, SQLAlchemy, Celery, PostgreSQL, Clickhouse, TimescaleDB, Redis, AWS, Docker a plus).” So you look for a project where you can build a demo backend using Django, Redis, and Docker. With a simple search, I was able to find this project tutorial that covers some of those skills.
Stick it on your portfolio and you’re done.
🔗 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 top 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 developer 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 project for beginners, no experience needed. 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 portfolio 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. These are all basic skills that you wouldn’t even put on your backend dev portfolio, but you need to have them.
If you can’t manage this project, 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 can guarantee you’ll be tested on these concepts in your backend developer 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! Many employers will expect you to wear many hats, so having one of these backend projects for your portfolio makes you a stronger candidate.
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. Almost any backend dev job will require you to have knowledge about RESTful APIs.
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 a backend development portfolio 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 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. I also just like Pokemon, so it keeps things fun.
An alternative: insteading of doing a whole new project for your porfolio, you can reuse one of your earlier beginner 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 it will take you through a lot of the critical skills we’ve practiced so far. Set aside at least a few days to work on this one.
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 ultimate 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 backend 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!