To build mastery in software development, you should build projects.
Lots of projects!
But you have to start right. If you jump into any random project as a beginner or junior developer, you’ll not only feel lost, you’ll begin to doubt if programming is for you. So work smart.
First, build your confidence from one tiny project. Then another tiny project. After multiple small projects, move on to something bigger, and go as big as your imagination allows.
Before you build any project, learn the basics
If you don’t learn the basics, you’ll build on a shaky foundation.
No matter the level of mastery you hope to get to in Python, you’ll need these fundamentals in place before you jump into any project.
You need to know how to:
collect user input
repeat an action through loops
write functions to repeat blocks of code
Of course there’s more to learn in Python, but these are standard things you need to know and they’ll be good enough for you to jump into beginner projects.
There’s that tempting feeling that you need to finish lots of Python tutorials before you work on any project.
Don’t do it.
Many fall into the trap of learning back to back Python tutorials waiting to feel super ready. Instead, learn the basics first. Next, build some tiny projects. Then return to learning with more tutorials.
Trust me, you can finish 100 Python tutorials and still feel you’re not ready to build any projects.
Studying alone is not enough.
You need to build.
How to use these projects
First, read through the instructions and make sure you understand what you’ve read. Try to say what you read in your own words.
Attempt to solve it on your own without going through the YouTube tutorial or example code on Github. You’ll most likely struggle. That’s fine. Push yourself. This is the idea of deliberate practice from Behavioral Psychology.
If you haven’t made any progress at all, watch the YouTube tutorial where available then look through the example code. You can also search online to see more example tutorials and Python code for the same problem.
After going through, go back and try to write the code by yourself without looking at the tutorial. Again, push yourself. This is grit also from Behavioral Psychology. You need it.
Whatever you do, do not blindly copy out the code in the tutorial, then pat yourself on the back. You may finish quickly but the reality is you haven’t learned anything.
If you feel you’re completely stuck after lots of attempts, take a break. When you step away, we know from Neuroscience research that your subconscious will continue the learning. This is because your mind has shifted from focused mode to diffused mode.
Whenever you solve something, celebrate it! You need the positive reinforcement to build internal references that you did it. In the future when your mind whispers “you can't do it” during a moment of doubt, you’ll reply “that's not true, here's proof of what I did in the past so I can do this too”.
Repeat, repeat, repeat.
You can also use this breakdown for any project beyond the ones listed below. Let’s get to the Python projects.
Projects for junior Python developers
Here are some beginner-friendly projects for you to work on:
Odd or even
Mad Libs Game
What’s my acronym?
Rock, Paper, Scissors
Guess the number
Is a palindrome
Calculate the tip
Odd or even
Welcome a user then ask them for a number between 1 and 1000.
When the user gives you the number, you check if it’s odd or even and then you print a message letting them know.
Prompt: What number are you thinking?
Output: That's an odd number! Have another?
Mad libs game
Ask the user for an input.
This could be anything such as a name, an adjective, a pronoun or even an action. Once you get the input, you can rearrange it to build up your own story.
Ask a user to choose from a list of 10 songs. When the user does, you print out the lyrics to the song they selected.
Welcome, please select a select a song from this top 10 songs:
1. Baby by Bieber
2. Hotline Bling by Drake
3. Flawless by Beyonce
4. Fall by Eminem...
You chose Flawless by Beyonce. Here you go:
------- Flawless by Beyonce ------------
I'm out that H, town coming coming down
I'm coming down, drippin' candy on the ground
H, Town, Town, I'm coming down, coming down
Drippin' candy on the ground...
Press * to choose again.
To push it further, have at least 3 songs by the same artist.
Next, ask the user to put the name of the artist so you can show them only options by that artist. Then the user can select a specific song from that list.
Working on these projects, you might hit a road block and get completely discouraged. It’s okay. You’ll get through.