← Back to Articles

I Didn’t Enjoy Coding Until I Tried This

How to add curiosity to your development process

Tom Gregory
Tom Gregory
Sep 23, 20256 min read

I remember when I first started trying to learn to code at 12 years old.

I had this idea that I was going to create games using Visual Basic.

So I picked up the Getting started with Visual Basic guide. After a couple of days when I still didn't have a working game, I put the book away and didn't pick it up again for an entire year.

The problem is in the modern world we're surrounded by examples of what we could be doing or people we should be emulating. We look at the lifestyles of high achieving CEOs or famous developers, see what they have, and want the same.

It's a status comparison game that more often leads to misery rather than any chance of replicating their successes.

What's the alternative?

The fact is that most self-development advice tells us that we need to set big goals that'll motivate us.

  • Become senior developer.
  • Hit that $100,000 a year salary.
  • Create a shiny new startup and sell it for a million dollars.

The problem with goals like this is that although they can be motivating in the moment, to actually achieve them takes years of daily action. And most times when we set these kind of goals, we don't take into account our actual preferences and personality.

So here's another option for software developers who want to pursue their curiosity without following goals set by others, and still feel like we've achieved something in life.

An Experimental Approach

Since I quit my "professional" development career four years ago, I've been running a series of small experiments to discover:

  • What I enjoy
  • What skills I can improve
  • What projects I can launch that people might find valuable

What kind of experiments?

First I started a YouTube channel to teach Java developers how to build software. Then I launched a course on the same topic. Then an ebook. After that, I started building my own SaaS products. Then I launched a coaching program for developers. And during the whole time I continued making YouTube videos.

This might sound like a meandering path and it kind of is. That's the point.

The route I'm taking isn't to follow any prescribed path that a career planner, your parents, or even close friends might recommend. The experimental approach means forging your own path, learning a unique skill set, and launching projects that feel meaningful to you.

Much of this you have to figure this out for yourself.

But there are three key principles I've used over the last four years to keep me learning, to keep a roof over my head, and to keep my sanity in a world that think the 9- 5 is the only way.

#1 Outcome vs. Input-Based goals

An outcome-based goal focuses on the end result.

These goals rely on many factors outside your control. That's why it's often more helpful to focus on input-based goals.

To apply this to the younger me who wanted to make video games, I'd tell myself not to obsess over the outcome of having a game, but instead to follow my curiosity into figuring out how to build something using code.

Another example. It's wanting to have a 100,000 subscriber YouTube channel versus exploring sharing your interests online through video and seeing whether you enjoy it.

Or, it's thinking you want to have a $10,000/month SaaS product versus learning the skills to solve your own problem through software.

But since a YouTube video relies on the algorithm and the success of a product depends on the market, focussing on the outcome often leaves you demotivated.

When you focus on inputs (or actions), you automatically have more control.

You feel like you're always winning and are more likely to keep the momentum long-term. That's when you really make progress.

#2 Set Yourself a Challenge

Exploring your curiosity sounds great, but won't it lead to waking up one day wanting to work on one project and waking up the next day wanting to do something totally different?

Well, yes. That's why it's important to channel your curiosity through a challenge.

A challenge could be telling yourself you're going to spend half an hour writing code every day for 3 months. Or publishing one YouTube video every day for 10 days.

By building consistency around an action, you'll see whether you actually enjoy the activity and you'll start to see progress as your skills naturally develop—like improving your web design skills or understanding a programming language at a deeper level.

Setting yourself a challenge like this means you're focussing on inputs rather than outputs while figuring out if this is something you want to pursue longer term.

#3 Take Action Through Projects

I'll bet that if you spent 100 days doing anything you'd know more than 99.9% of the population.

Whether that's a particular programming language, framework, or industry, it's time to turn that experience into a real world project other people can get value from.

After 13 years backend Java experience, I made a course and ebook for Java developers.

That was my project.

Now after six years growing an audience on YouTube, creating 200+ videos, thumbnail images, and getting slightly less awkward talking to camera, I decided to launch a coaching program for developers who want to grow an audience online.

Your project could be building a software product, writing an ebook, or anything people would exchange money for.

Remember you're still using an experimental approach. Testing your theory of what kind of project would work well in the current market given what you already know.

Whether it succeeds or fails doesn't matter. You're learning along the way and even if it doesn't work out this time, you're dramatically increasing the odds of success next time.

Final Thought

Some people are happy following the default path of getting an education, doing a 9-5 job, and retiring at 65. If that's you, there's absolutely nothing wrong with that.

But if you're the ambitious type who's looking for more meaningful work, then rather than setting some massive goal that means you'll never take the first step, follow your curiosity.

Run some small experiments and see where it takes you.