Finding a system — How to become a better developer (or anything else)
The 21st century is probably the best time to live in. You can have access to a ton of knowledge from anywhere in the world with just a few clicks, and with a little bit of work and a lot of perseverance, you can learn a new skill, or change careers just with the help of the internet. (see resources at the end of the post)
But with this continuous flow of information, it can be hard to find the right path to your objective and you can quickly be lost in this ocean of resources.
As some of you know, last year I joined le Wagon Montreal to learn to code.It was one of the greatest experiences in my life, and I learned so much in a few weeks.But spoiler alert, you will not really be a dev after 9 weeks, it’s just the beginning of a long and tortuous road. But fortunately, you will have the best tools to become an excellent dev.
As a person, I am always looking for improvement and personal growth. I read a lot, I constantly do research, and when I have enough scientific data, I always tend to analyze it to see if it will benefit my needs.
For example, a few years back, after reading an article by Conor Heffernan (https://physicalculturestudy.com/2014/12/29/how-to-gain-63-pounds-of-muscle-in-28-days-the-infamous-colorado-experiment/) on Tim Ferriss’ body muscle transformation where he utilized the “Colorado Experiment”, I decided to try it for myself and attempt to gain 30kg of muscle mass in just 30 days (I never gain 30kg, but a solid 15kg, so I assume it was a success).
There is no doubt that if we were in a comic book, I would probably end up like the Incredible Hulk.
There are a few key points that help me to build a system that works for my goals.
I know that these things are in constant motion, and maybe, not everything will end up working for you.
So, after reading this article, I invite you to do more research on learning techniques, psychology, neurosciences and everything that could help you increase memory and staying motivated.
Most importantly, don’t be afraid to try new things.
Start by reading
If you want to learn something, the best way to start is to read a book about it. It will help you lay a solid foundation which you will need to push further. And with time, it will keep you curious and make you want to discover new things.There are a ton of good coding/CS books and websites to start with (I will put a short list at the end of the article).
And if you are skeptical about it, remember that Elon Musk started to send rockets to space without any academic skills, but just by reading a few books on the subject (and working with a few great engineers also helped!).
Creating things is the key.
This could sound a little bit weird, because most of the time, school has taught us to just do the exercises and to have good grades. But I really think creating is the best way to learn something.
In the beginning, you will face problems you had probably not imagined at the beginning, and you will search and use your creativity to solve them.
When it comes to coding, don’t hesitate to create new things. It doesn’t matter if it’s a “big” project, or just another calculator or a weather app. The only important thing is to create your own version.
Do things with passion
It may sound obvious and not really relevant, but I think it’s important to say it.
The fact is, when it comes to coding, it is easier than people think it is, and with a little dedication, almost anyone can learn to code. But that doesn’t mean that every developer is a good one. If you are not passionate enough, you will probably won’t even try to improve or evolve.
But it is the same for every discipline. If you learned the guitar when you were a teenager, just to impress the girls, I’m pretty sure the only song you can play today is Wonderwall.
Have fun along the way
This tip is probably the most useless one (or the most important, who knows!), but I think it’s important to have fun when you do something.
Neuroscience shows us that kids can learn at a faster rate and with less difficulties than adults. There are a lot of biological and psychological reasons for that, but one of them is that they have fun and don’t have preconceived ideas about things.
Take your time
This one is my favorite.
Maybe it’s because of the era, and all the social media stuff we see everywhere, or maybe it’s just normal human behaviour, but it seems like everyone wants to go fast.
Social media makes you think that if you are not a famous singer or actor at 15, you will never be one. If you aren’t like Schwarzenegger after 6 months of training, you are doing things wrong. If you are not rich by 30, you are not hustling too hard.
But that’s not how life works.
Life is about patience, taking time, trying new things, making mistakes and retrying.
“I will prepare and some day my chance will come” Abraham Lincoln
The best story to illustrate that is the story of astronauts.
The job of an astronaut is basically to train day after day and to be prepared for all the things that could go wrong during their missions; hoping they will never happen.And you know the best part of this story?They still train, even though there is a chance that they won’t go to space.
Have a vision
Having a vision of what you want and having clear goals will probably help you immensely when you go through struggles (and it will happen a lot).
We are all different, and we all have our personal reasons to be passionate about starting to learn to code.
In my case, one of the main reasons was AI (there are a lot of other reasons, but AI was the first). It will be one of the biggest developments in the future, and understanding it is really important to me.
But I know that AI is something really complex and involves more than just some “coding skills”. The path will be hard, and I will probably not be an AI expert in a couple years. But having this vision reminds me of what is important and what it will take to reach that goal.
It’s the same if you want to learn the piano.
Learning to learn will lead you to a lot of frustration and you will stop after a few weeks (or months if you are perseverant). But knowing, from the beginning, that you want to learn it to play the Goldberg variations or a concerto from Rachmaninoff could help you stay motivated and not give up when things become harder (and it will).
Don’t forget to do something else
One of the best ways to focus and excel in something is to take breaks and do something else. Doing the same thing for hours on end (even if you are really passionate about it) could have a negative impact and can feel quite alienating.
And coding is no different.
Even if we have seen it many times in pop culture of the stereotypical coding nerd, hacking away for days on the keyboard without doing anything else (it could happen; psychologists call that “the flow”, but that is the topic of another article), in reality devs are human. And like other humans, they have other passions and other activities that they should take part of.
This advice will probably be the hardest to follow. But like every other discipline, if you want to progress, you will need some self-control.Discipline is a big subject, but it is something personal for each and everyone, and there are not a lot of things to say about it. Some will need people to motivate them, others will find this inner strength to do what they need to do to get the job done.
I hope that if you use this little system I gave you here, it will help you create a useful guide to reaching your goals. If not, one advice I can give you is to start slow. And if you are interested in coding, take between 30 minutes to an hour to read something or to watch a YouTube video related to the subject.
Day after day, your motivation will grow, and next thing you know, it will become a routine..
And if you are more like me, and need to dive into a subject, go check out Le Wagon website. They have an amazing 9 week program that will help you learn all the things you need to start your developer journey. It will also give you the confidence you will need to push yourself to go further and to learn new things in this fast-paced industry.