7 Ways Not To Learn How To Code
There are a ton of �learn how to code�, �how do I learn how to code�, �best way to learn how to code� - and while this blog post is similar to those - it is also different in that it aims to point out those �traps� some people stumble into when pursuing their journey of becoming a developer.
Don�t spend too long picking your tools
What are the common tools a developer uses? Simple: a computer, an editor, a language and something to see that code in action. While there are a ton of these - most (I really do mean most) of them are irrelevant to you as a beginner - I intend on producing a blog post which explains when you should consider picking or changing a new skill but for the most part one programming is enough, and so long as it isn�t entirely out of date - it doesn�t matter what you pick. Why doesn�t it matter? Because you�re goal is to learn the concepts of programming - the language you choose is simply a medium which you will used to do so. Though having said this, if you�re a month in and still struggling really hard - then yes, maybe another language is for you. But other than that - don�t jump from language to language and don�t worry about having picked the �wrong� language.
Also, don�t dive into advanced tooling too quickly, learn the basics and intermediate (and advanced if you like) before diving straight into Angular etcetera.
Don�t become dependant on tutorials
Yes, I know - it can be daunting doing something yourself - but if it was easy, everyone would be doing it. Use a tutorial now and then as an introduction, but frequently try do make something without relying on a tutorial. If you get stuck - then yes you can use the tutorial as a reference - but don�t spend too much time simply following a long to video tutorials or whatever - actually force yourself to put your knowledge into action - make something (reasonable) which you would want to make and try your best to make it.
Understand how the tiny details make up the bigger picture
Programmers are kings at breaking things down into smaller parts and understanding how these parts are used to make the bigger picture.
For example, let us examine some of the tiny/tinier details of the sign-in functionality for an application.
First, user signs in to the application - okay, so how will we do this - we have a form, what is a (HTML) form made up of? Simple: some input fields, a submit button, okay so when the user clicks the submit button the data they typed in is sent (via a post method) to the server, how is this accomplished (in web) - it is accomplished with a �post method�, so the server �gets� the data - then what, well in the server side (the �brain� of the application) we compare the data we got via the form with data we have in our database, then what? We use an if statement to check if the values match, if so, we will then make the server send something back to the client-application (the �face�) and allow the user to proceed. But what if the data doesn�t match - simple, within either an else or an else-if statement we put some code which will essentially say �try again with different values�.
Even for a typical process - there is a lot of terminology there, so how do we humans understand this terminology? Simplest answer I know is to break it down into chunks that I can digest. And that is the thing about computer science �buzzwords� - they�re just words which save us from having to say entire sentences. Example: �A block of code that can be used more than once in throughout the file� is simply a function.
Don�t just in take content without doing anything regarding it
You might think that reading blog posts and watching video tutorials all day is time spent well. It is not. For every three coding videos I watch compared to the tutorials that I actually type the code out along to, the one tutorial I typed the code out to has been much more valuable - why? Because I am able to understand it and thus remember it easier. Don�t try and memorise line upon line of code - what code does should (eventually) become naturally understandable by you simply by reading it.
Don�t skim read code either, sure for tips here and there it helps, but for the most part, if it is something you haven�t typed something similar to more than three times - if you want to understand the code you�re skim reading - the most effective way is to type it out, run it, see what happens, take parts out of it, run it, see what happens, and put those (or different) parts back in and yes: run it to see what happens.
Don�t Copy and Paste
I pretty much just said this - but seriously - do not copy and paste every line of code. Yes, I know it can be tempting when you type it out and for some reason it doesn�t work - if this is the case then compare your code to the code you copied and try spot where you went wrong. And yes, I see some tutorialists copy + paste for the sake of time - but that is because they�ve already typed it out before and know what it does. Get comfortable using your own variable names, functions, etcetera.
Come to your own conclusion
Programming is about understanding how and why things work - and while it is true that there are a ton of �dos� and �don�ts�, at first you may have to take someone�s word for it. But ultimately, learn to evaluate things for yourself - sure you can be influenced and inspired by others - but that is your choice to be influenced by them. There are only �better within context� answers in programming,.
Don�t give up
And I hope it goes without saying, if a programmer really truly is what you want to become - don�t give up. Yes, I�ve gave up on a bunch of personal projects due to their difficulty - but I have never given up learning to program as a whole - and yes I�m still learning and probably will still be learning five years down the road. Some programming concepts lack intuitiveness - it just takes time and hard work.
And I�m sure there are some things should�ve mentioned but never the less, I hope this post was of value to you.