I originally posted this article on Medium in December 2018 and thought it would be nice to share it here too. Hope you enjoy this read!
Given that you decided to read this article, I assume that you have recently made the decision (or are in the process of deciding) to expand your current skill set and learn how to code. Perhaps youâre here to find some structure or to see recommended approaches others have taken. Thatâs exactly what I did when I first started to learn how to code: I tried to find the most efficient way and would only try out the most popular resources in order to optimize my learning journey.
Two years down the road, I have learned a whole bunch of things that I would like to share with those who are at the beginning of their coding journey now. Things that I wish I had known before I started learning.
Now, I am not planning on telling you which websites, books and tutorials to use or which languages and frameworks to pick up first. Instead, I aim to put you in the starting block equipped with the right mindset and knowledge to make these decisions on your own and to eventually help you reach your most ambitious developer goals.
Letâs do this.
1. Find a teaching style that works for you
This is the first and most valuable tip I can share with those who decide to learn how to code on their own. Itâs something that took me quite a while to realize.
If you are new to the world of code, it is tempting to follow the opinion of the masses. A quick âlearning how to codeâ Google search brings up more than 2.5 billion results! It is safe to say that coding is gaining popularity and there are tons of platforms and resources, but also millions of opinions on how to start learning. Before you commit to a certain platform that you select based on popularity, first ask yourself the following question: What is the most effective way for me to learn new concepts?
Are you someone who likes to dive into the theory first before getting your hands dirty and therefore might enjoy books as a learning medium? Or do you prefer video tutorials where someone shows you how something is done while talking you through it? Perhaps you are someone who likes to learn by doing: familiarize yourself with a topic by reading just a couple of sentences of theory, studying an example, and then immediately applying your brand new knowledge to an exercise.
If youâre not sure about your preferences, feel free to experiment with this and try out different kinds of styles. Are you not enjoying or learning anything from a course that seems to be loved by everyone else? Donât criticize or doubt your competence, or get stuck on a resource that you dislike. Donât stick with it too long just because others praise this specific resource or platform. Learning a new topic on your own offers you the luxury that you can fully personalize and customize your journey â use this to your advantage and find something that works for you!
2. Donât be afraid to drop (popular) resources
If youâre like me and donât like to leave things unfinished, this can be a hard thing to do. I lost count of how many resources I tried just because they were heavily recommended. As a result, I ended up wasting a lot of time listening to poor explanations and skimming tutorials far above my skill level. Not to mention that some tutorials or instructors, in my opinion, were downright boring.
To share some examples with you, I have attempted to read the heavily-recommended âEloquent JavaScriptâ book at least 5 times. When youâre reading this, I have successfully finished the book (assigned reading by my bootcamp) but still fail to see why itâs so hyped. When I first started learning how to code, I also avoided Codecademy because I felt like it was taking me by the hand too much and just telling me what code to write. It wasnât teaching me how to solve the problems on my own. That being said, these two examples are still loved by a lot of people and might work perfectly fine for you.
Donât make the same mistake I did. Drop a resource (or save it for later) if you feel itâs just introducing more questions rather than answering them. Donât get caught up thinking âmaybe it will get better towards the endâ, thereby prolonging your suffering. There are always plenty of alternatives!
3. You donât need that fancy set-up
This is one you may have heard many times before, but itâs worth mentioning again. If you have a laptop, a working internet connection, and an editor, then youâre good to go.
If youâre at the beginning of your coding journey, there is no need to invest in the latest, newest, most powerful tools as these will not make you grasp concepts any faster. I often get asked whether people should get a Macbook or a Windows laptop to learn how to code. My answer is: it doesnât matter. Use what you have and what you prefer. An expensive camera will not necessarily help an amateur photographer take better pictures. Similarly, a programmerâs knowledge and skill is far more important than the laptop or computer he or she is using. See if coding is really for you and focus on expanding your knowledge first â the rest will come in due time.
4. Apply your growth mindset and know your motivation
Programming is not always easy. Apply a growth mindset (âI canât do thisâ vs. âI canât do this yetâ) and find the real reason(s) you want to learn how to code. What is it that you enjoy about it the most? What would you like to use your new skills for? Having your motivation clear will not only make learning more fun, but it will also make you more resilient in times when youâre frustrated because your code is not working the way you want it to.
I have studied alongside people who only choose web development because there is high demand for it in the labor market. Similarly, I know people who are in it just for the money as such jobs pay well in their country. Itâs fine if these things drive you â but from my experience, these specific people arenât as driven as those who pursue web development with passion and a purpose. They wonât feel the extra motivation to really understand a concept 100% or to figure out why something isnât working.
Learn to persist through hard times. Know when to take a break, and when to push yourself just a little further. Donât be afraid to reach out for help, but donât forget to try things on your own first.
5. Give yourself some credit
Never compare yourself to other learners as everyone has their own timeline and techniques when it comes to learning how to code. Keep looking forward focused on your goals, but donât forget to stand still sometimes and see how far you have already come. This may sound straightforward and obvious, but your progress may not be immediately visible as learning how to code by yourself can take quite some time. Donât be too harsh on yourself and enjoy the ride!
If youâre a self-taught developer, what are some things you wish you knew before you started? What are some of the greatest lessons you learned?
Top comments (5)
There's one thing I have learned from my mentor that keeps coming back to me :
"Apply consistent action everyday."
What my coach meant was: Work on your goals, your passion, every single day, no matter what, even if it's just for 30 minutes.
While I haven't done exactly that, I have increased my time spent coding at home over the past few months, putting time and effort on small apps and OSS contributions, and I've learned a lot faster than I used to when I only wrote code at work.
Cheers !
Very nice and good article.
Can relate with the Eloquent Javascript example.
great!
Thanks a bunch, Pauline!
love your posts.
Cheers