A year ago I started learning to code, focusing on front-end development. This was not completely new to me, as I’ve been doing this learning to code thing for a few years now. Most of the time it was something that I did for fun.
Looking back over the years, and especially over 2015 when I decided to focus on front-end development, I’ve noticed some patterns in the way I was learning and doing things. These patterns lead to a series of mistakes that I am now fixing or got fixed in the past.
Please note that although I am using “you” across this article, I’m referring to my own errors. I am not offering advice to anyone, I don’t think I’m in the position to do so. This is a way for me to make a conscious note of the mistakes I made. I also hope that whoever reads this thing will find it useful and avoid these mistakes.
So, without further ado, here are some of the numerous errors I made.
Jumping right into coding with no prior planning
This is probably one of the biggest mistakes one can do when learning to code. This works for a while, when you’re learning the most basic things, like loops and conditionals, but afterwards you’ll need a plan. And this is when you realize that you need to think the problem through and break it down into the most simple steps.
This is how I plan a project now. This approach seems to be working for the moment and it offers a more structured approach to coding.
First, on paper:
- I write down the objective of the thing I am coding
- I break that objective into steps
- Every major step is then broken down into even smaller bits
Then in the editor:
- At the beginning of my code, I add comments with the major steps. This way I always have a list to remind me what I should be doing next.
- I add comments in my code describing what I am doing so if I’ll get back in a few months to the code I wrote I will understand it easier. This is not the case right now, as I’m working only on very small projects, but I think it’s good practice.
Learning in an unstructured manner
I joined a lot of MOOCs, started reading a few books at the same time, wrote code based on disparate tutorials I found online. I got distracted easily and I started way too many projects that got nowhere.
Switching languages often, trying to find the perfect language
After two years of randomly switching languages, I now know that there is no perfect programming language.
Over the years I’ve tried — not in this exact order — the following programming languages: C++, Python, Ruby on Rails, Java, Processing, and probably a few other languages that I don’t remember now. I switched and I switched and I switched, until I found Processing.
Processing is amazing as a first language, but if you want to create some interesting things with it, you’ll need to learn more on the algorithmic side of things. It’s also great for you if want to create something in the fields of generative art, data vizualisation or graphic design.
Following a lot of tutorials but not building something completely from scratch
This gives you a false sense of progress. This is the hand-holding phase when you’re typing in stuff from tutorials and books, things created by others. Although you get satisfying results, you’re just following a set of instructions.
Trying to learn libraries and frameworks before learning the main language
Because I wanted immediate results and I wanted to prove to myself that I can build something interesting fast, I started learning things like d3.js, Three.js, Babylon.js, Phaser. Basically I wanted to skip some steps.
The results were interesting, but they were made with tutorials and copy pasting code from one place to another. I was doing things without understanding exactly what I was doing.
And this leads me to the next mistake.
Being afraid of being out of the loop by not following the latest trends in frameworks and libraries
I still make this error. I checked out Angular and React, and played with Meteor — which is amazing, by the way, and I hope to use it someday — because I thought that I need to know them if I want to find a job.
Thinking that by using Bootstrap I know how to build websites
Bootstrap is great. I managed to adapt a few themes in a very short time and wow it felt great to build a portfolio site so fast.
I first used Bootstrap for my copywriting portfolio, then for two simple presentation websites. Because Bootstrap is so easy to pick up and use, I considered myself more skilled than I really was.
Trying to be more than one thing at the same time
As much as I would like to do both graphic design and front-end development, I realize that I need to focus on only one of them if I want to learn it properly.
I felt I was diluting my efforts by trying to do so many things at the same time. So front-end it was, and hopefully it will still be in the years to come.
And this concludes my list of errors in learning to code. If you have some of your own, please share!
P.S.: Right now I am looking for a job or internship as a junior front-end developer.
If you’re willing to take in a newbie and you think I could be part of your team, please send me an email here: firstname.lastname@example.org. Thanks for stopping by!