I’ve been through all of them and I believe that recognizing them will help you greatly in avoiding the common mistakes that I and many people made.
In online learning you make your own journey, there is no one shoe fits all, you may be at different stages at the same time, which is fine as long as you learn on each step of your journey and keep advancing towards the last stage which is where I suspect you will make most of your progress
1. Is coding for me?
People on this stage have a very high interest in coding but are not sure if it is the right thing for them, and have some doubts over whether they should pursue this.
Some common questions people ask:
Do I have to be good at math?
Am I too old for this?
Am I too young for this?
Am I smart enough for this?
Can I get a developer job without a degree?
Should I study Computer Science?
Should I quit [unrelated major]?
Can I get a remote job?
For most of this questions the answer is yes, you should learn how to code but of course there are many other valid questions that you may have, in a world of 7.5+ billion people I won’t pretend to know whether coding is the best thing for you to do without knowing anything about your situation.
The best thing to do at this stage is to find an answer to the doubts or concerns you have, so don’t wait more ask away! Send me an email: carlos@pelable.com
If you don’t ask you will be stuck in stage for far too long, wanting to take the leap but not taking it. (I remained on this stage for one year)
The kind of questions you have at this stage can basically be summarized in two: Is coding a good fit for me? And if it is how do I start?
I believe that taking an introductory course would help you a lot in figuring out the answer because of two reasons:
- You will either like it or not and know how you feel about it
- If you do like it, you have already taken step 1 in your coding journey
After that take a look a look into different career paths you could take: https://ladybug.dev/episode/career-paths-in-tech/ (this will also guide you into what to learn next)
If it turns out coding is not for you, that’s okay! there are some careers in tech where you don’t need to code.
2. The tutorial stage
So you decide to start learning how to code and naturally choose a course or a tutorial for beginners. This is great you have done your first step!
Now you’re wondering what’s next?
The error many people make at this stage is thinking that once you learn the syntax of a language, that’s it you already know it so why keep repeating the same thing (the same language) over and over. And so they start learning the syntax of other languages for the wrong reasons.
That is half true and half a lie, on one hand yes, once you learn the syntax of a language you shouldn’t be super focused on syntax but the mistake is that they think they are going to develop deeper knowledge by learning the syntax of other languages (instead they should build projects)
Coding is a practical skill. Like any skill the best way to improve it is to do it more. The problem beginners make at this stage is they think the skill they are learning is the syntax, but in reality syntax is just a way you communicate to the computer.
Just like in learning a foreign language you wouldn’t think the best way of learning it would be by memorizing word after word from a dictionary instead the best way to learn it is by talking and using it as a means of communication.
But communication always has a purpose, you don’t talk to people about nothing, you talk in order to accomplish something. Whether that is a good moment, or to express an idea, communication is a means towards something.
In coding the programming language is the means towards a program, a program that has utility for someone even if that someone is just you.
Which leads to this stage’s lesson, in order to become a better programmer you have to build programs, or projects.
Remember syntax is just a way of expressing what the machine will do for you.
So start building on specific projects and start getting feedback on both the result (what the user sees) and your code.
If you have no idea into what kind of projects you could build, here’s a list
3. The Momentum phase
Being a teenager is awkward because you’re almost an adult but you’re still a kid in some ways.
But it’s also one of those phases where you can grow immensely.
At this stage you build one or two projects and you start seeing progress, you start to gain confidence. What you learned on a project helps you on the next one but you start wondering whether you should try that new framework, you know: framework X or maybe another programming language?
Maybe you should maybe you shouldn’t. I won’t tell you what to do. What I will tell you though is that in order to achieve your goal as fast as possible you must remain as focused as humanly possible, and this means being able to say no to 99.9999% to all the things you could possibly learn.
I go into many more details on this post here: Why is focus so important?
There are some important things to know at this moment: The earlier you define your goal the faster you’ll get there. The only way to get to your is to stick with it. This is a very hard to do and I failed at doing this.
I wanted to become a software engineer, but wasn’t sure what career in software development or what technology stack to choose and so I wasted a lot of time during this time.
This is one of the paradoxes of learning how to code: people who are more open minded to new things will tend to change their goals more often and as a result be less likely to achieve them.
At the end of this stage you should have a very clear goal so that is very easy to say whether doing something will help you or not in achieving your goal.
4. Focused but not sure what to do next
On this stage you have a very specific goal and you’re building projects but there is still a thought lingering in your mind. Are you taking the best route towards your goal? How do you decide what to do next?
Even after having a goal so specific you start realizing that although it is clear for you whether something will be useful to you, what is not clear is when should you learn it?
This is where Just in Time learning comes to the rescue.
As the name says with this principle you learn things just in time, meaning just before you need them.
This doesn’t sound very helpful because well if you could predict what you would need then you wouldn’t be wondering what you should learn next.
And that’s the key instead of you trying to predict you will leave it to an external objective thing to determine what you should learn and when.
This external thing is your project. When you’re building a project and you have to implement a feature it becomes very obvious what you need to learn to do so.
And the best thing about this is that it’s impossible to fool yourself, as coding is a practical skill if you don’t need something for a project you simply don’t need to learn it right now.
Emphasis on right now.
What should you do with all the things you know you’ll need but won’t be able to learn?
You will simply add them to your bookmarks and that’s it. Trust me you’re going to realize after a while that most of the things you thought you need you didn’t and appreciate this simple but powerful principle.I’ve been through all of them and I believe that recognizing them will help you greatly in avoiding the common mistakes that I and many people made.
In online learning you make your own journey, there is no one shoe fits all, you may be at different stages at the same time, which is fine as long as you learn on each step of your journey and keep advancing towards the last stage which is where I suspect you will make most of your progress
Just In Time Learning: Only learn something if you need it right now.
— Pelable (@Pelable_) September 12, 2019
Want to move faster through your coding journey? Join us at pelable
Top comments (1)
This was very insightful. And discomfortingly similar to my personal experience.
I started my programming journey some 6 years ago when I received a bursary for studying an intensive o1 year software development course. The journey, which I believe I will outline in greater detail in a post of my own in future, took me from your initial phase, around ina few circles, back and forth between phases, across a couple of jobs. Over and under some personal psychological barriers
(mostly self-imposed) some running away from cide and tryning to go the "analyst" route before realizing the code was where I was destined to settle.. with some focus my careers could have been further along but the lessons and the journey are things no one can take away from me and I have to own it, appreciate it and embrace that it all ultimately led to my current place.
Great post!