Every project is an opportunity to learn – to figure out problems and challenges, and to invent and reinvent.
And as a developer, working on projects can improve not only your skills but also your résumé – which can increase your chances of getting that dream job.
Have you ever come across a job description that requires candidates to have a certain numbers of years of experience? I have – actually almost every job advert that I come across. These job descriptions can lower your self-esteem and make you feel underqualified, especially if you're a fresh graduate or just learning to code.
So, what happens when you don't have any work experience in the tech industry and you want to apply for a job? Well, the answer is simple – your portfolio is everything. You just have to use your past projects (and maybe build some new ones) to help you stand out.
In this guide, we will go through how to use experience from your projects to help you with your job applications. Our focus will be on some of the major Python projects that can help boost your résumé in a job environment.
Why Build Projects in Python?
You can use Python in many ways, including software and web development, machine learning, data analytics, and more. Knowing Python is a valuable skill for a coder. But if you're new to coding, it can be difficult to demonstrate your expertise on a résumé when you are applying for jobs.
Completing Python projects that you can clearly describe and that a hiring manager can look at is a great way to showcase your skills
If you aren’t sure how to write a résumé or your résumé needs a complete revamp, there are multiple resources online to help you out:
- Here's a handy resume template where you can easily input your details and add your Python projects as you complete them
- Here's a guide on How to Write a Résumé – Practical Guide with Example Résumé
Now, here are some ideas for Python projects that you can showcase on your résumé.
Python Project Ideas
1. Server Status Checker
A server status checker is a script that will let you monitor if your server is active and running. It can show you how much downtime your server has had and give you regular updates of its performance. It'll also send immediate alerts when server is down.
Some of the tools that come in handy when developing such a script include:
- Socket - helps with connection to different servers.
- SSL - required for wrapping the socket connection.
- Date & Time - Check what time server is active or went down.
- smtplib - Send email alerts when the server is down.
- Pickle - Saves the history of the server perfomance.
To give you an idea how to get started with such a project, here's some info to get you started.
2. URL Shortener
A URL shortener is a program that takes long URLs and converts them into shorter ones that users can easily remember. Some of the the most common sites offering such services include Bit.ly and Cuttly.
This is a functional, useful tool that a hiring manager can easily test out in order to verify your Python skills such as use of APIs.
Although there are many such tools out there already, you can build one that offers a specific feature like customizable short URLs.
Almost everyone has come across a long, clunky URL that isn’t user-friendly or easy to remember, so creating a URL shortener shows that you can identify common problems and engineer a solution.
To help you get started with the idea and concept check out this repo here.
3. Content Aggregator
This is a tool that gathers information such as articles, social media posts, videos, images and so on. Then it displays all that information under one page. This means that users don’t have to manually search each website for what they are looking for.
Creating one is another good way to showcase how you can use your Python expertise to create a useful tool. Content aggregators can be used for many purposes, but they essentially search large swaths of the internet to find specific pieces of information.
You could develop a general content aggregator or a more specialized one. For example, you might create a weather aggregator that pulls weather data from several of the top sources in your region to present a comprehensive weather report.
Working on a project like this you should be comforatble with concepts like:
- Python Basics
- How to make use of virtual environments
- Django fundamentals
- Basics of HTML, CSS and JS
4. Desktop Assistant
When speaking about an assistant, think about Alexa, Siri and Google's virtual assistant. Lately there have been a rise in development of smart assistants, take a look at your favorite website chances are very high it has a bot that answers common question asked regularly.
Some common tasks that can be handled in your local machine with the help of an assistant include:
- Open and close any application on your system.
- Search anything on Google, Youtube, Wikipedia and so on
- Get weather updates for any location asked.
- Tell current time & date
- Give calendar reminders on upcoming events.
- Send email through voice commands.
- Play or Stop music in our system.
- Solve any algebraic and mathematical problems.
- Restart, Sleep or Shut Down the system.
In order to build a desktop assistant, you might need some modules to help out. Some of the key ones include: Pyttsx3, Speech Recognition, Twilio, Subprocesses, Wikipedia, and a web browser.
A desktop assistant can perform a single task or a variety of tasks, depending on the complexity of your coding. The more advanced your assistant is, the more impressive it will be to potential employers.
Speaking from experience, this can be a really amazing project to work on. Although I wasn't able to explore more functionalities, check out my idea for a Desktop Assistant and implement more by adding your own ideas for features.
5. Task Automator
A task automator can be similar to a desktop assistant. But it can also be more specialized for specific tasks. To give an idea of how developers utilize Pytho,n here are some of the most common automations:
- Performing automated market tasks
- Sending out, replying to, and sorting emails
- Filling out PDFs and Excel files
- Converting images, renaming files
- Performing math equations
- Calculating exchange rates
You can use Python to do alot of more tasks, too – just think of the tasks you do on daily basis, not only on your computer but at home too. You just have to figure out the correct tools you’ll need, and how to write and run the script.
When we talk of tools, since Python is an open-source language, it means we have a ton of tools at our disposal, as well as many libraries and frameworks to help us get started. Some great tools that can help you out include:
- Beautiful Soup
A good resource to help out in the automation journey is the amazing book on how to Automate the Boring Stuff with Python. It is a practical guide on how to use various programming tools.
Again, the more unique and advanced your task automator is, the more impressive it will be.
6. Games or Apps
Python has many libraries available to help you build games, as well as cross-platform libraries for creating Android and iOS apps. Some of the common game library include Pygame, Pyglet, Panda3D, Pykyra, Ursina Engine, and many more.
Both games and apps can range from very simple to highly sophisticated, and creating either one can be a great way to display your personality, creativity, and Python skills.
If you want to be able to develop projects on this scope, you will need to make use of some Python modules and libraries. The most common ones include:
- Kivy - It is the most evaluated module for developing mobile applications using Python.
- Game development modules like Pygame, PyKyra, Pyglet, PyOpenGL and others.
Some skills you will be able to demonstrate after building this project include: mobile app programming and development, UI/UX, & API
To help you get started with this idea, here is a link to some of the most common games developed with python: Python Games.
7. Algorithmic Trader
Algorithmic or Algo traders can not only showcase your Python skills, but they can also make you money - if you write a good script, that is.
This is a more advanced project that will likely not be suitable for beginner coders. You’ll need to write a script that analyzes past and present stock values, and uses machine learning to predict future values.
Then, your trader will automatically buy or sell shares based on those predictions.
In order to work on such a project, getting comfortable with Python and some of it's major topics like Data Structures and Object-Oriented Programming will be necessity. Also knowing how to use external libraries like Pandas, NumPy, and SciPy will be helpful.
To help you get started with this knowledge, check out this course, Algorithmic Trading Using Python (and it includes some sample repos as well.
8. Sudoku Solver
A sudoku solver is another project that’s easy for a hiring manager to see and test. While of course the intent of sudoku puzzles is for users to solve them with brainpower, an automated sudoku solver demonstrates your thorough command of Python.
To work on this particular kind of project, being comfortable working with Python algorithms is really essential. These include:
- list comprehension
- indexing and how to make use of loops.
9. File Manager
Another good project idea is to code a file manager that renames or organizes files, archives unused files, or otherwise automates tedious file management tasks.
This type of project is fairly easy, and it can be a good way to get started in Python.
Working with files and documents can vary with different projects, so you can build different scripts, like:
- A script to Auto Move Files,
- A script that will enable you to get folder/file sizes,
- A script to Delete duplicate files
To develop this kind of project, here are some of the modules you should know and keep in mind:
So there are some ideas to get you started.
Below is a Twitter thread with more projects ideas that you can work on that will help boost your résumé:
How To List Python Projects On Your Résumé
Now that you’ve got some ideas for Python projects to add to your résumé, here’s how to actually list them effectively.
If you are a freelance developer or you are just getting started in the industry, you may find that it’s more effective to use a functional résumé rather than a chronological format.
Functional résumés are more focused on your specific skills and projects rather than your employment history.
To use a functional résumé, replace the work experience section with a projects section. You can break it up further into subsections if you have some professional projects as well as some personal projects.
Give each project a name, list the duration, and include technologies that you used to complete it. Under each entry, use bullet points to describe the project in more detail, outline your specific contributions, and summarize the purpose of the project.
If you have some professional experience as a coder but you also want to list your personal projects, you may wish to stick with a chronological résumé format that lists your work experience at the top, followed by your education, skills, and certifications.
Then, you can include a projects section later on in your résumé to highlight the Python projects that you’ve done outside of work.
You can also reinforce your Python expertise by mentioning it in your résumé summary or objective as well as in your skills section.
Here is a sample to show you how to present a résumé if you're a fresh graduate from school:
It is important to remember that a project will be more successful if it communicates what it is supposed to communicate.
Whenever you work on one give it your all dedication. If you found one of these project ideas interesting, feel free to give it a try and you'll have a nice new addition to your résumé.
I appreciate your time reading.
Enjoy Coding ❤.