Press "Enter" to skip to content

Tag: philosophy

To become a better programmer, you must first be a worse programmer

Three things have been in my thoughts lately, and they finally added up to a realization today. They are:

  1. I’m currently working on some UI code – while most of my experience (and expertise) is on the back-end of systems. This is frequently frustrating.
  2. I’ve been reading Mindset: The New Psychology of Success by Carol Dweck.
  3. I remembered comments from a few people about how “they’ll never be programmers”, because they are stuck on understanding some coding technique.

After 35 of years of programming, I can safely say, “If you want to be a great programmer, you need to spend a lot of time being a bad programmer”

Unless you want a job as a maintenance programmer, constantly fixing and modifying old programs, you’re going to need to learn new skills. And, like almost every other new thing we do, we’re probably not going to be good at the start.

In order to get through those times of being confused and frustrated, you need to have the right mindset.

The mindset you need to be a programmer

Some people have a fixed mindset of, “I’m smart”. The problem with this is what happens when they start to feel challenged – when they feel “dumb”. This mindset will often lead to people to giving up, so they can stop feeling dumb.

Others have a growth mindset of, “I’m a hard worker who can figure things out”. When they are challenged, they continue to work until they understand. They do research, ask other people, and write small experimental programs that let them test out what they’re learning.

If you want a programming career, realize you’ll need to constantly improve your skills. And part of improving is being bad – for a while.

We’re going to feel “stupid”. It’s going to hurt our egos. But, if we keep at it, we reach the point when we understand how to do something new.

Our skillset has grown.

It’s the same as working out at the gym. You don’t get the big muscles on your first day. You get them after you’ve gone through many days of pain first.

We’re all beginners

If you’re getting frustrated with programming, I can assure you it still happens to people who’ve been programming for decades.

Every programmer I work with regularly needs to search Google, to solve a problem. None of us knows every class available in the .NET framework. We all think the code we wrote last year is horrible – because we’ve all learned new things since then.

When you feel stuck

Focus on the fact that you’re learning. That you’re improving. That understanding isn’t always going to be obvious. That 99.999% of the other programmers have felt the same way, at some point.

Realize that the only thing keeping you from understanding is how much effort you’re willing to put into learning. It’s completely in your hands.