What’s the hardest part of learning to code?
Figuring out how to tackle complex problems
I was first introduced to coding years ago with a brief introduction to HTML. I built a simple web page and called it a day.
Fast forward to 2016 and I’m working for a software development company (thankfully for our clients, not as a developer). And if you’re working in software it’s probably best if you know a little more about coding than <h1> header tags </h1>.
And so, it begins
I dive into the first module on Free Code Camp. I meet my old friends HTML and CSS. Things are going well. I’m getting this. Could I actually be a coding prodigy in disguise?
Nope.
As it turns out, being able to slap together some basic HTML structure and adding a dash of CSS styling doesn’t mean you were born to be a prolific developer.
Moving onto module 2 enlightened me.
Leveling up to JavaScript
JavaScript probably doesn’t cause too many issues for anyone who naturally excels at thinking through complex logic problems.
I’m not one of those people.
Why learn JavaScript?
JavaScript is a massively popular language, which powers much of the behaviour you experience on websites. HTML defines the structure of a web page, CSS makes it pretty, and JavaScript allows you to control the behaviour of the page.
For example: what happens when you mouseover an image, or type an email address into a form field and forget the @ symbol. That error you get when you type in an invalid email address, that’s JavaScript baby.
Back to Free Code Camp.
The first few lessons went pretty well. Then it became confusing. And my confusion morphed into frustration pretty quickly.
And what did I do? I broke down and Googled the answer! Then I started copying and pasting other students code blocks to solve the assignments. My learning plan was falling off the tracks.
Asking for help
I reached out to the genius developers I work with and lamented that JavaScript had broken me. I was spending most of my time Googling answers to the assignments instead of coming up with my own solutions.
How can I learn this stuff?
Break it down
As it turns out, there is a rather simple solution to solving complex problems.
- Break the problem down into very small pieces.
- Research each piece of the problem so you understand how it works.
- Assemble a solution from the small pieces, testing as you go to see how each piece affects the whole.
Good advice for coding. Good advice for life.
Don’t get overwhelmed
It’s pretty easy to get overwhelmed when learning to code. Everyone does at some point.
But you’re smarter than you think.
Just break down the problem into bit sized bits. And if you get stuck like me, ask for help. Most developers are happy to lend a hand.
PS. If you’re looking for some good resources for learning HTML, CSS, and JavaScript I’d recommend:
codecademy.com
freecodecamp.com
stackoverflow.com
w3schools.com
There are also two books you should buy — they are as beautiful as they are helpful:
HTML and CSS: Design and Build Websites
JavaScript and JQuery: Interactive Front-End Web Development