• Skip to primary navigation
  • Skip to main content

data Rebellion

Learning through Adventure

  • Home
  • Blog
  • Beginner Python Course
    • Preface – The Journey Ahead
    • Prologue – The Door
    • Chapter 1 – Arithmetic and Variables
    • Chapter 2 – Strings and Lists
    • Chapter 3 – Conditional Statements
    • Chapter 4 – Functions
    • Chapter 5 – Loops
    • Chapter 6 – Built-in Functions and Methods
    • Chapter 7 – Imports and Nesting
    • Chapter 8 – Opening the Door
    • Epilogue – Only the Beginning
  • About
  • Contact
You are here: Home / Learning to Code / Coming Up with Programming Projects You Actually Care About

Coming Up with Programming Projects You Actually Care About

Updated March 25, 2021. Published October 31, 2018. 1 Comment

The best way to learn is often to do, to work on real-world projects. If you want to learn HTML and CSS, build a simple website. If you want to learn to play piano, commit to playing a song at an upcoming recital. If you want to learn about regime change, make some molotov cocktails.

Remember though that taking action is not the first step. Rather, the first step is deciding what to take action on. And this decision can make all the difference.

For example, let’s say you want to learn to make websites. You don’t have an idea in mind, but someone suggests that you make a clone of some popular site, say Reddit for instance. You shrug, “sure that sounds fine,” and start working on it. How long do you think this lasts? Sure, you might be lucky enough to make some progress the first weekend if there’s nothing going on. But as soon as you get swamped at the office, or get sick, or life decides to throw any number of other obstacles at you, you’re going to drop that project like a guillotine blade in 1790s France. Why? Because you don’t actually care about it.

Sure, it’s possible that you’re so driven to learn about websites that any project will do. But most of us need something more meaningful to carry us through the storm of everyday bullshit. What do I mean by meaningful? When it comes to personal programming projects, especially beginner-to-intermediate ones, this generally boils down to two qualities: useful and fun. There’s a lot of overlap here, but the brainstorming process can be a little different for each.

In brainstorming ideas for both of these types of projects, you’ll want to be able to note down everything that comes to mind. Don’t spend any effort judging your ideas at this point, you’ll do that later. Just let it flow.

Cross-section of a half machine half organic brain

Useful Projects

An obedient machine that does your work is a beautiful thing to behold. Here’s a simple process that can help you think of useful ways to bend your computer to your will:

To start, take a look at your to-do list, physical or mental. With everything on there, ask yourself if there’s any way a computer could do it, or just a part of it, even if it would require some extra hardware to allow your program to interact with the world. Simple and repetitive tasks are often good candidates, but don’t necessarily restrict yourself to those either. Online shopping, watering plants, scheduling, and a million other things are all fair game here. Get creative.

Next, close your eyes and walk through a recent day you had from start to finish. Again, with everything you did, stop for a moment and consider whether it might be possible for a computer to do that for you. Comb your entire day from morning to work to bed. If you’re employed, I’d encourage you to give some extra focus to your work day. Even if you’re not a professional programmer, and perhaps especially so, programming can make a big difference in your career. Programs that are useful to your employer are also useful for justifying raises and promotions.

Finally, expand the search even further by going through your calendar/planner for the past few weeks or months and again give some thought to each item.

Fun Projects

Start by writing down all your hobbies, interests, and skills, anything you do when you have some free time. Then for each item on your list, again try and imagine a programming project that could somehow relate to the given topic.

If you love platformer video games, then perhaps making your own 2D platformer with pygame would be a good option. If you’re a prankster, there are no end to elaborate computer-related pranks you can pull. If you play fantasy sports, maybe try and write a program that manages your fantasy teams for you.

This process is very open-ended and takes even more creativity than last section. You might find it helpful to take an initial pass at brainstorming followed by some unfocused, diffuse-mode activity, like going for a walk, that will allow your subconscious mind to chew on the problem. Then run through the list again and see if anything novel comes to mind.

Picking Your Project

Now that you’ve got your two lists of ideas, it’s time to review them. Narrow them down to your top five or ten and then pick just one that you will focus on for now, whichever one interests you the most. And if you get a little ways into it and discover that the project won’t be feasible for you at the moment or isn’t as fun or useful as you first thought, you can just return to your list and pick another.

Be on the lookout for any ideas that appear on both lists. A project that is both useful and fun to you personally is probably a winner.

Of course, even with the above processes at your disposal, it’s often useful to see some example ideas that allow you to get a feel for what’s possible. So if you’re interested in Python and automation-related projects, consider checking out the free Ebook you get can get by subscribing below. In any event, happy coding.

Python Automation Project Ideas Ebook Front Page

Free Ebook: 88 Python Project Ideas for Automating Your Life

The best way to learn programming is by working on real-world projects, so why not work on projects that also save you time and sanity? In this free, curated collection, you'll find project ideas for automating:

  • Common office tasks
  • Birthday gifts and wishes
  • Grocery and meal planning
  • Relationships (just the tedious parts!)
  • And quite a bit more

Subscribe to Data Rebellion and get this Ebook delivered straight to your inbox, as well as other exclusive content from time to time on efficiently learning to code useful things, vanquishing soul-crushing work, and having fun along the way.

Reader Interactions

Comments

  1. Eliot says

    November 1, 2018 at 11:17 pm

    Ha!

    Reply

Leave a comment Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Copyright © 2023

Terms and Conditions - Privacy Policy