User Avatar

A neuro-spicy Parisian Brit who writes about software engineering, tech communication, entrepreneurial journeys & data. I help understand code, why it is fun, & how devs think.

4 Essential Skills for Success In Learning To Code
Davd from Kodaps

I've been coding for over 4 decades - because I started when I was 7. And I've been learning to code ever since, because coding is not something you learn once. It's a permanent process. The software landscape is constantly evolving moving target.

To learn a programming language, and to keep learning and growing once you have the fundamentals, you need these four skills.

Skill 1 : Problem solving abilities

A core strategy of software engineering is "divide and conquer". It takes many shapes, but it comes down to this: break down a problem into smaller parts, and solve those.

When learning a coding concept, break down what you are trying to grasps into smaller concepts. A website like Exercism does this for you, by creating a learning journey. (checkout exercism.org).

Skill 2: Learning Mindset

The first step is to recognise that you have a problem. That is to say, you need to start by realising that you need to learn. This is not just the starting point. It is the prerequisite for every step of the way: having the humility to recognise there is more to learn.

That the road is never finished.

That there is always more to learn - and that the journey is rewarding.

Skill 3: Attention to detail

Computers deal in absolutes and cold hard facts - in 1s & 0s as opposed to us more fluid and messy humans.

That means mistakes sometimes hide in the mundane - in a misspelt word, in missing punctuation.

Coding is an exacting exercise. But it is fun.

Skill 4: Patience and Perseverance

Finding those mistakes is an exercise in tenacity. In grit. In trying, again and again and again.

But there is no feeling like felling a bug that I've been tracking down for days. It's like killing the boss of a particularly hard level in a video game.

That rush of dopamine is why I program.