Programming is hard. Is there a problem with my brain?

Hilary CookTech Stuff5 Comments


“Now, navigate to a small folder in Terminal that you want your program to open with. Good, now it’s time to create your symbolic link in your PATH folder, BUT, before we do, let’s check your profile file by using nano ~/.bash_profile.”

My mind flicks through the catalogue of these words in my brain, I know I’ve learned them at some point, but I can’t piece them together into coherent instructions to myself before the teacher has moved on to the next topic.

‘What keyboard shortcut opens Terminal again? Command and Space – no wait that’s on a Mac’.

I grit my teeth and try not to think about how far behind the Treehouse instructor I am, as I scramble to open up Google and look up keyboard commands for the hundredth time. 

“I’m just not good at this”, I think to myself. “It must be my brain, I’m just not good with logic.”

This was meant to be an intro course – so why was I finding it so hard?

This scenario is not uncommon for me, whether I’m doing an online course, attending one IRL or having a colleague or friend teach me programming concepts. I always wind up feeling dumb, frustrated, and angry with myself and whatever poor soul is giving up their time to help me.

Most sessions end abruptly with a tight feeling in my throat and a rising swell building up in the back of my eyes before I declare that I’m not doing it anymore, and quit for the day. Sadly, most of the time I’m just a few stages away from completing a module, or making my app thing work, or having a break through – but it’s too late. The damage is done.

So I’ve been wondering, why is this? Why is learning to code so hard?

I think this is a not a straight forward question, with straight forward answers but I have several ideas as to why I am not finding coding an easy skill to acquire.
So, with these gems of wisdom, these are my tops points for why I think programming is hard:

The ‘it’s so easy – I can’t believe you didn’t know that’ attitude

You know that thing where you just don’t get something – a maths equation, a programming problem, grammar in a foreign language, the political regime in South-East Asia…

And then some smarty pants comes along and glances over your shoulder, or interrupts you mid-sentence to say:

“Oh, but that’s easy”

Yeah that. That is why we can’t have nice things. Now you have to struggle through understanding the task at hand knowing that it should be easy, and everyone thinks so but you.

Possibly even worse though is:

“I can’t believe you didn’t know about the figure element in HTML – not that HTML is a real programming language anyway”

Seriously, it doesn’t matter that it’s not considered a ‘real’ programming language – it’s still a new skill that needs to be learnt. Trying new things is scary. It’s about being brave enough to be in the vulnerable position of not knowing and there’s nothing wrong with failure or uncertainty – in fact, it’s an important part of success.

And what’s the deal with that ‘I can’t believe you didn’t know that’ attitude in the tech industry? It’s impossible that someone can know every single idiosyncrasy about a programming language – they’re very complicated beasts. When did it become OK for us to belittle each other like this? Perhaps we’re just afraid we’ll get ‘found out’ for not knowing something.

It’s normal to find a new skill hard at first. As Jake the Dog once said, “Sucking is the first step to being sorta good at something”. And he is so right.



The ‘Left Brain/Right Brain’ argument

My favourite excuse to use when maths and programming problems are over my head:

“I don’t get it because I have a creative mind. Programming is logical and my brain just doesn’t work like that”

And while I so love to cling to this notion that I’m good at writing and painting because I’m a creative left-brained thinker, and I struggle with maths and programming type disciplines because they are primarily right brain based activities – there’s a lot of evidence to suggest that this is an outdated way of thinking.

The article ‘Debunking The Myths About The Programmer’s Brain‘ by Belle Beth Cooper investigates some of these common myths about how programmer’s minds work, and points out that “Our brain hemispheres are inextricably connected. Both sides are co-dependent and each takes a part in most thought processes”.

So, could it be that I’m just better at creative things because I’ve simply had more practise at them, due to believing I am naturally good at them? The saying comes to mind: ‘whether you think you can, or think you can’t – you’re right’.

Programming Is just hard, full stop

“Don’t believe anyone who tells you that learning to code is easy”

Probably summed up perfectly in this Tech Crunch article, while the recent push that ‘anyone can learn to code’ is doing amazing things for encouraging more people to join a previously seemingly unreachable industry, we could be going about it the wrong way by insisting that it’s an easy skill to learn.

As Kate Ray puts it in her article, ‘as a programmer, there is a limitless amount of stuff to learn’ – and a constant sense of inadequacy is sadly not uncommon for even those considered specialists in the field.

I think a better message to those who are just starting out might be that there is a LOT to learn, it might be challenging, but you CAN do – step by step. The following video about ‘How To Get Good At Anything’ explains that rather than trying to learn it all at once, and setting unclear goals like ‘I want to learn how to code’ – you need to be more specific about what you want to achieve, and break the tasks down into smaller tasks.

So maybe, instead of feeling sad that I can’t understand JavaScript yet – I’ll focus on just learning enough to make one part of my static blog interactive. Then, move onto the next step. And be prepared that I’ll probably be terrible at first, but that Jake the dog said that is totally OK.

Next level software intelligence across your entire stack.

5 Comments on “Programming is hard. Is there a problem with my brain?”

  1. Ian Randall

    The journey is this:
    “I want to do X”
    “Sheesh, X is hard. How the hell do I do this?”
    (skip forward weeks or months of learning)
    “Ah! I get it! Man that was a hard journey, but I finally understand how to do X”

    Then, much later, when someone asks “How do I do X?”, you reply:
    “Oh, that’s easy, you just…..”

    It’s a trap, and at some stage we have *all* fallen into it; I don’t even think it’s deliberate. I think that once the pieces slide into place, once we really grok the problem, it _seems_ easy now; Our brains are somehow wired to forget how hard it was to reach that place of understanding, and we don’t realise how belittling it is to start a response with “that’s easy…”

    Avoiding saying it is something I have consciously worked on avoiding for a while now – but it still trips me up sometimes! Keep on hanging on in there. Software is hard – don’t let anyone try and tell you otherwise!

  2. Amy

    Programming has a steep learning curve, once you understand the basic concepts it becomes a lot easier – but anyone who says “oh that’s easy” to a newbie clearly doesn’t remember how much they struggled when they were beginning. I used to tutor first year computer science students at university and I can definitely confirm that the majority of people find programming hard to get their head around to begin with, you just have to stick with it!

  3. Jake

    Programming is much more a creative process than people think it is. However, each program is less like a painting and more like a sistine chapel, i.e., an intricate set of interwoven painted elements (views), a cost-effective scaffolding system (framework), an innovative plastering process (build/task-automation), and an unconventional painting process including free-form outlining and grid-based enlarging (agile).

    Or to put it into a different perspective, programming is like painting where the paints are made of data and the brushes made of logic. Sure you can pick up a brush and swash some paint on a canvas. But to truly create a work of art takes many years of painstaking practice.

  4. Johnny Troll

    Oh, I think, a RayGun newsletter. Great. Hmm, “programming is hard” followed by someone trying to remember how to call up a shell. Foolishly I clicked the link to read this literary masterpiece to see where the story progressed from there.

    Instead of a thinkpiece it was a tale of woe, someone furrowing their brow as they sweat the fact they’re in the wrong industry. Programming is hard, the author says, and can’t even remember how to use their computer, let alone actually get to the programming.

    Scrolls down …

    “By Hilary Rose” (or Hilary Cook, whatever, two names are listed)

    Oh. That explains it.

    The author is a girl.

  5. Henrik

    When I describe coding in my classes, I usually say that “It’s easy to learn a programming language, but it’s hard to program. Think of it like, it’s relatively easy to write an 1000 words essay, but co writing a book is really hard. You will spend your whole career improving your skills, learning how to interact on an intellectual level with other programmer’s and different problems. Each person and problem will present different problems which will make your previous experiences seem easy. Coding with people is like stepping through their brain. When you learn one language it’s easier to learn others because you’ll know where to look for things in the new language that are hard.” When they are terrified enough I usually give them examples on how to make those things easier.

Leave a Reply

Your email address will not be published. Required fields are marked *