DEV Community

Cover image for That moment when coding no longer feels scary
Jason Leow ~ plugins.carrd.co
Jason Leow ~ plugins.carrd.co

Posted on

That moment when coding no longer feels scary

Before starting, programming felt scary. And so confusing. I didn’t understand what the terms meant. It was complete gibberish to me. I took foreign language classes before (in French), but this is a whole different level. With French, there’s at least some scaffolding to start off as there’s some similarities to English. But with programming, all the symbols were hard to figure out. But now, after learning some HTML, CSS and JS basics on Udemy, it doesn’t feel so scary anymore.

Why? Not because I mastered the language after just some online classes. Because after watching the videos of the instructor approaching the problem, writing the code and explaining blow-by-blow what and why each word is meant to do, I’m beginning to see that coding is done in bite-sized pieces. Programming is very much about breaking down an overall feature to very small and specific blocks of code, and building up the feature one block at a time, starting from a minimum viable block of code. Usually, each block is simple and easy to write.

For example, as part of the Javascript class, I had to build a small Javascript game that tests your reaction time, by having you click on random coloured, random sized circles and squares appearing in the browser one after another, and each time you click it, you get a reading on your reaction time of how fast you managed to catch it. Sounds scary? It did for me in the beginning. But after breaking it down, it feels much more approachable. And it all starts with the Minimum Viable Interaction (haha yes I’m coining it here - for my own purposes at least).

So the MVI is basically to make a shape appear on the browser and click on it to get a timing. And that can be broken down even further:

Need a shape to appear on your browser? Just create a shape first in HTML. Then write some JS to make it disappear when you click on it. Then add a new variable to start a timer when the page loads, and end the timer when the shape is clicked on. Then get the time taken and write some JS to display it out on the page. There! Already the first interaction of your game is done. You click on a shape and it shows the reaction time back. After this minimum viable block of code for the game, continue building on it to add more functions/interactions…

This is probably child’s play to code veterans, but to be able to see the approach to coding this way, makes everything seem possible. As a maker/designer, that’s how we make products - by prototyping minimum viable products (MVPs) first, launching it to learn if it works for the users, then building on it after. Knowing that it’s pretty much the same way for coding really lowered my fear factor.

This is something (most) online classes don’t really teach. They dive into the code and teach you the how very quickly - how it’s written, what tools you need, what the terms mean…but don’t teach you how to problem-solve in programming. I later learned this is called computational thinking:

“The characteristics that define computational thinking are decomposition, pattern recognition / data representation, generalization/abstraction, and algorithms.[7][8] By decomposing a problem, identifying the variables involved using data representation, and creating algorithms, a generic solution results. The generic solution is a generalization or abstraction that can be used to solve a multitude of variations of the initial problem.” - Wikipedia

Isn’t that critical to explicitly teach too in basic beginner level courses? So that budding rookies like me don’t just develop the technical skill to coding, but also the problem-solving mindsets and thinking skills needed to sustain their journey? I’m sure there are some courses that do that…maybe just not the ones I come across in many of the coding MOOCs.

So now I realised that I need to break things down and visualise my approach like Russian dolls, nesting more functionality upon another from just one super basic and simple starting block.

I know I can do that basic block. And I know I can build another simple block on top of that.

That realisation was really empowering.

A pivotal moment since starting to learn how to code.

A moment when coding no longer felt scary.


Follow my daily writings on Lifelog, where I write about learning to code, goals, productivity, indie hacking and tech for good.

Top comments (9)

Collapse
 
jonrandy profile image
Jon Randy 🎖️

At what age did you start to learn?

Collapse
 
jasonleowsg profile image
Jason Leow ~ plugins.carrd.co

40! Considered old in tech industry, I know 😆 Why do you ask?

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

I was just curious as to why it felt scary, as it never did for me. Then again, I came to it as a kid back in 1983 - aged 7, so it was more like a voyage of discovery driven by curiosity. I've been self taught since then.

The accessibility of, and methods by which programming is learned have changed radically since then... in many ways not for the better.

Thread Thread
 
jasonleowsg profile image
Jason Leow ~ plugins.carrd.co

Maybe the age difference mattered. Kids are just naturally fearless. Starting at 40, it felt very foreign, like how you feel being dropped into a totally foreign country for the first time, with not friends or being able ti speak the language. Programming felt that way. The fear is also compounded by being scared of breaking something.

Thread Thread
 
jonrandy profile image
Jon Randy 🎖️ • Edited

Interesting. This is useful feedback for a long gestating project idea of mine

Thread Thread
 
jasonleowsg profile image
Jason Leow ~ plugins.carrd.co

Oooh, do share!

Collapse
 
jeffsvic profile image
Jeff Svicarovich; Product Hunt

Being a total newbie, this was very helpful. Thanks for sharing this. 🙏👏

Collapse
 
jasonleowsg profile image
Jason Leow ~ plugins.carrd.co

Oh didn't know! What are you learning now?

Collapse
 
jeffsvic profile image
Jeff Svicarovich; Product Hunt

Actually, I'm pre-newbie lol