Do you have programming skills but not a good programming project idea to work on? Try this.

Have you ever gone through a typical beginner tutorial, only to get to the end and think “Yeah, that’s great … but now what do I do next?”

You’re not alone.

It seems like, after you put in the time to learn some of the basics, that a great idea should just, sort of, come to you … but it rarely seems to work that way.

And when you don’t have a project to work on that you really care about, it can be hard to stay motivated. Because, well, it’s just nowhere near as exciting to build a “to-do list,” or a “Pinterest clone.”

If you’re stuck without an exciting idea to work on, I have some tips that might give you the kick in the pants you’re looking for.

Success is found in solving real problems

The best, most successful, projects are borne out of a real need.

Take Facebook, for instance. Mark Zuckerberg wanted a better way for his classmates at Harvard to connect. So he built the original Facebook:

Facebook circa 2004

Facebook circa 2004

And that’s far from the only example of this nature. There are countless others. In fact, the first question that any startup team is asked by potential investors is:

What problem are you solving?

When you’re solving a real problem — one that someone actually has — you get excited. It’s motivating to help people by providing something that’s truly useful.

So that’s why I give the following advice to people who are learning programming:

You need to build something real, that you care about.

And that’s all good and well, but what if you still just don’t have any ideas? Or you can’t think of a problem to solve?

Coming up with an idea to work on might be much easier than you think. And the best part is you don’t really even have to do anything, you just have to observe things happening around you.

Uncovering good ideas throughout your day

From now on, as you go about your day, try to keep the following two questions in mind:

  • What are the things that bother, or annoy, me throughout the day?
  • What are things I’ve heard my friends or family complain about?

Throughout the day, if you find yourself thinking “[x] is a pain in the ass,” write down [x]. Or if a friend says to you, “wow, I can’t stand doing [y],” write down [y]. Keep a running list of all these “pain points” that you uncover.

In just a few days, you’ll have conditioned yourself to automatically pick up on these types of pains. And when you come upon one, just jot it down. (Or grab your phone and make a quick note.)

In less than a week, you’ll most likely have a few ideas on your list that really pop out at you.

Granted, you can also sit down and brainstorm a bunch of answers to the two questions above, but I’ve found that it’s a lot easier to just naturally discover these “pains” throughout the day. (And I’ve also noticed that you tend to end up with better ideas by doing so.)

But how does this apply to programming?

Sure, for a lot of the ideas on your list, you won’t be able to just “build an app to fix it.”

But — for some of them, you probably will be able to do just that.

Keep in mind, you don’t need to focus on building The Next Big Thing. But if you do choose to build something based on one of these new ideas, remember that you’ll be building something to help solve a real problem.

And I think you’ll find that that is extremely motivating.


Alex Coleman helps others learn to build web applications with Laravel. His articles and courses have helped over 10,000 developers level-up their PHP web development skills and learn to build and launch their own web applications to the world. If you enjoyed this article, then join his free newsletter.