Real Python - Picking Python projects -- I'M STUCK

Hey there,

I got this question from a newsletter reader who's an entry-level Pythonista:

~~~

What's the best way of moving from a basic understanding of Python to working on real projects? And what Python projects should I build? I have no idea which ones would help me grow.

~~~

It's easy to get hung up on this question and to be stuck in "overthinking mode"—

What if you pick the wrong project to work on? What if you're working on the wrong skills? What if you'd make faster progress by working on something else? 

... and so on, and so forth. I've been there myself.

The trick here is to temporarily ignore all advice that says "re-inventing the wheel" is bad—

It's true, "re-inventing the wheel disease" IS BAD for the productivity of experienced developers.

But, it's actually a godsend for beginning developers who need to get some experience under their belt.

So, hear me out: If you're working on improving your coding skills, you should be re-inventing wheels A LOT.

Really, go nuts! 

Try to re-invent and re-write everything from scratch. Write little GUI calculators, try to write your own text editor, write a "file copy" command-line tool...

Write backup/archiving tools! Write arcade games: Tetris, Snake, Tic-Tac-Toe.

Re-invent it all and copy, copy, copy the user facing designs! You're not doing this to steal someone's business or app idea—but to understand how small real-world projects work behind the scenes.

The smaller in scope the project, the better. You want to focus on copying small "commodity" software that's around you every day:

How many standard UNIX command-line tools like "cp", "cat", and "ls" can you write from scratch in an afternoon? And feel free to cut corners—maybe your "cp" command can only copy files and not directories...That's FINE! 

Just get something out the door. I promise you're going to learn something. And even if you fail at first, this approach constantly creates new QUESTIONS you can then set out to answer. 

These questions will be your "learning compass" and give you directions on what to focus on next.

So, can you do one of these little projects a day and keep up the pace for a week, a month? There's no doubt in my mind that your Python skills WILL massively improve if you re-implement one of these small tools a day.

Action, Action, Action!

Drop me a line and let me know about your progress!

Happy Pythoning!

— Dan Bader

Older messages

Parallel computing in Python (in 60 seconds or less)

Friday, January 1, 2021

Hey there, If your Python programs are slower than you'd like you can often speed them up by *parallelizing* them. Basically, parallel computing allows you to carry out many calculations at the

Python side projects & getting a job

Sunday, December 20, 2020

Hey there, Where do you find inspiration for Python side projects? It's a question I often hear from Pythonistas looking to build up a portfolio they can show to potential employers. So here's

[Sublime + Python Setup] Sublime Text is just a blank canvas…

Saturday, December 19, 2020

Hey there, When I became serious about optimizing Sublime Text with plugins, it was hard for me to separate the wheat from the chaff. Without a real guideline or roadmap I resorted to installing *any*

[PythonistaCafe] Q&A

Saturday, December 19, 2020

Hey there, At this point you should have a pretty good idea of what PythonistaCafe is about and what makes it special. In this email I want to answer some common questions that I get asked about the

[Sublime + Python Setup] Grumpy old greybeard with a whitespace problem

Friday, December 18, 2020

One fateful day, the Agile Gods that be decided to “add some firepower” to my little team… And so, developer Paul joined (name changed to protect the guilty). Before I dive into this story, let me ask

You Might Also Like

Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator

Friday, February 14, 2025

What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Defining Your Paranoia Level: Navigating Change Without the Overkill

Friday, February 14, 2025

We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy

5 ways AI can help with taxes 🪄

Friday, February 14, 2025

Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help

Recurring Automations + Secret Updates

Friday, February 14, 2025

Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

The First Provable AI-Proof Game: Introducing Butterfly Wings 4

Friday, February 14, 2025

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%

GCP Newsletter #437

Friday, February 14, 2025

Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers

Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰

Friday, February 14, 2025

Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from

The Great Social Media Diaspora & Tapestry is here

Friday, February 14, 2025

Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great

Daily Coding Problem: Problem #1689 [Medium]

Friday, February 14, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,

📧 Stop Conflating CQRS and MediatR

Friday, February 14, 2025

​ Stop Conflating CQRS and MediatR Read on: m​y website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your