DEV Community

Sam Borick
Sam Borick

Posted on

What if I waste my time trying to learn programming?

I want to start out by acknowledging how crazy hard it is to teach yourself programming. I don't mean to say that programming itself is somehow way harder than other jobs, it's just as challenging as any other profession.

But imagine for a moment you decided to teach yourself to be a professional plumber instead of a programmer.

How would you even start? You need, a bunch of like, pipes? I guess?? Would you build like a little plumber shed that you could run pipes through, and then tear it all out and do it again differently to like, practice?

It sounds ridiculously hard. And if I needed work done on my pipes, someone would have to have been teaching themselves plumbing for an awfully long time, (like, years) before I would let them anywhere near my toilet.

A broken toilet

This is a great example because I (and probably you as too) have absolutely no idea what being a plumber actually involves. There are just so many things that we don't even know we don't know about plumbing, so many unknown unknowns.

Teaching yourself any skill is ridiculously hard. Even starting down that road takes courage.

Part of why teaching yourself a new skill is so scary is because there is some risk. For the self-taught plumber, they have to spend a bunch of money getting the tools and materials they need to practice.

Learning that new skill is an investment, and we expect a return on our investments. If the only return on our investment we accept is 'getting a job doing x', if there is any other outcome, you've just lost your investment!

Say you get struck by divine inspiration next week and you're now a gifted sculptor.

Spongebob sculpting very well.

Guess you've wasted all that time plumbing, huh?

Luckily for us programmers we just need a computer (Which can be as low as a hundred bucks). But there's another element of risk: Time.

What happens if you spend all your nights and weekends for the next 2 years learning to program, and still can't get a job?

Guess you've wasted all that time programming, huh?

No! Never!

There's something deep in my bones that I hate about this line of thinking. It's not that I despise plans not turning out the way I expect them, that's life.

It's a failure to construct a win-win.

Whenever there is risk involved, it is usually possible to arrange things so that no matter what happens, you will always turn out to be the winner.

So how can you arrange things so that if you teach yourself programming and then can't/don't want to get a job as a programmer, you still end up getting a return on your investment?

Build useful things along the way.

Building useful stuff now lets us get a return on our investment right away, no waiting for a job!

Here's how to think of useful projects that you can do right now:

These are questions that I ask myself every week to create projects for the Weekly Project Club.

  1. What are things you do every week that are variations on a theme? Things that are similar to each other, but different in predictable ways. (workouts, recipes, sometimes schedules)
  2. What are things that you have to 'figure out' regularly that is really just a simple math formula?
  3. What are some things that you keep track of?

Here are some premade ideas to get your brain going:

  • A workout generator catered to the sets you want to do
  • A calculator that will tell you when you'll need to refill your gas tank
  • A meal plan generator based on your fav meals
  • A tracker that records how many glasses of water you drink every day.

And if you want more project ideas, you're in the right place! Every week I send members of The Weekly Project Club a project just like the ones above. Except this week is special, I’m going to be working on this week's project LIVE on twitch! I won’t just be coding (I’ll probably be doing that too), I want to work through the problem and give you a solid starting point to work on the project yourself.

So if you're interested in hanging out and working on a cool project, please join me Tomorrow night, Wednesday, April 8th at 6pm EST at twitch.tv/samborick.

Top comments (4)

Collapse
 
davelsan profile image
David Velasco • Edited

There are quite a few things I'd like to say here, about both plumbing and programming, but I'll just say the one:

Time spent learning programming is never wasted.

I cannot stress this enough. Even if I had not found any opportunity to work as a software developer, it would still have been a massive win.

Thanks to the engineering mindset instilled into me by just adopting good programming practices, I am now a much better a problem solver in my own field.

Collapse
 
fleshmecha profile image

This is interesting. I learned programming for fun and it has always been fun. If someone finds it more difficult than fun, I would recommend doing something else with your time - you shouldn't be putting yourself in pain just because coding is trendy right now.

Collapse
 
samborick profile image
Sam Borick

Thanks for the comment! I partially agree, but there are a decent number of people who self educate programming since it's a highly accessible AND a high paying career. It's an educational investment.

I can also imagine for some, coding is really frustrating until you can make something meaningful, I know that was the case for me.

But at the end of the day, yeah. I've seen some people online (usually freshman computer science students) talk about the things they hate about programming, and it's like, everything to do with programming.

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

I often cite automatetheboringstuff.com/ for automation, but you don't have to use Python.