Home Projects Posts Contacts

Programmer's Block

Something I personally believe isn’t talked about enough in programming is what I’d like to call “Programmer’s Block”.

I’m sure it’s not a creative term, and is probably already a very commonly used one, but that still doesn’t change the fact that I don’t believe new programmers are ever really taught how to handle programmer’s block. Or more accurately, they aren’t taught properly

Most people, when giving advice to people with programmer’s block, tell them what to make. The problem is, if this isn’t something the programmer finds enjoyable, or if the programmer finishes the project, they’re just going to have programmer’s block again.

So, what I want to do in this blog, is actually tell you the methods I use to overcome this problem. I might not be an expert, but as someone who comes across this problem all the time, I think I have enough experience to form my own perspective.

What’s Causing It?

The first step to finding the solution to the problem is to find out what the root of the problem is in the first place. I mean, trying to cure something if you don’t even know what’s causing it is pretty hard.

Now, I wish I could give you one, easy and simple answer. The truth is, multiple things can cause it. Therefore, there are multiple solutions too.

Stress

I found that trying to write code when you are stressed is almost impossible. So, take a break! It sounds ridiculous, “the solution to writing more code is to stop writing code?”, but it actually works extremely well.

Perfectionism

A lot of times, I get stuck on the main() function of my code, trying to perfect it. So, just keep this in mind: your first version should be imperfect. Don’t try to make it amazing. Your first version should be small, private, and usually not very good.

Roadblock

Trying to solve an incredibly hard issue is challenging, and can contribute to Programmer’s Block. As ridiculous as it may seem, explain the issue to someone as simply as you can. Explaining the issue forces you to organize your thoughts and figure out exactly what you do and don’t understand.

Fork in the Road

The next problem is having to decide between multiple options that are equally good, or have their own upsides and downsides. The best solution to this problem is to just flip a coin: If the result immediately makes you want to flip the coin again, you’ve probably already made your decision. If not, just stick with the one that the coin decided on.

Lack of Interest

Think for a second: do you actually want to work on this? If the answer is no, change the end goal or shelve it entirely. There are hundreds of thousands of projects you can be working on, and forcing yourself to do something that annoys you isn’t smart.

One exception: probably don’t do this if it’s your job.

Not Ready Yet

This is going to sound a little mean, but I’ll try to say it in a way that isn’t.

You might just not be ready for what you are trying to make, and that’s okay. My advice here isn’t to scrap the project, but to learn more about the subjects you will need to know for the specific project. This could take a week, a month, or even longer, but if you truly want to make the project it will be worth it.

More Posts