Learning to code is not a straight path, these tips helped me get better at it. Hopefully by the end of this article you'd have enough of a foundation to require minimal bounce.
Thanks to my friend Omar Abdelaziz for helping out with this article. It means a lot.
You may be tempted to learn every single tool out there, and while it may be possible, is it really worth it? You usually need a single tool and nothing more to get a job done. Learn what you need. Look at the market and stay up to date with its trends. Stick to a roadmap until you need another one.
Tutorials are fun and dandy until you stop watching them. They give you a feeling of confidence because you're following and succeeding in that. But is following all you need? Will you use tutorials when you're assigned tasks in a real world scenario?
A serious lot of developers have contacted me about this issue. They follow a lot of tutorials, but fail to even get started on their own. Don't get me wrong, tutorials are good, but too much of anything is bad.
Focus on building projects on your own. If you're going through a tutorial, build the same project on your own after finishing the tutorial. This time though, don't even look at the tutorial.
Most of the time, you'll most likely think you need a hundred tools to get a job done. This is often a mislead view and is amplified by your lack of knowledge and confidence.
For example, you may be tempted to use the most complicated tools you know, when instead you could build the same thing with much simpler tools. Over-engineering is bad, avoid it.
Solving problems is the core of computer science and so it's an essential tool to have up your sleeve. It helps you break down complex problems into tiny easy tasks and solve them efficiently bit by bit. Debugging skills help developers pinpoint various types of errors and bugs around an application. They'd make your life much easier. Trust me.
Mistakes help us learn, and if you're starting out you'll need to make lots of them. Making mistakes means you're pushing your knowledge boundaries. Pushing your boundaries is a sign of growth. Questions are essential to your growth. Don't be afraid to ask "dumb" questions. They're probably beneficial to you, even if they're "dumb" to more experienced others.
Writing is essential. Whether you're writing notes for yourself, blogging online for others, or teaching those who seek your help, writing is essential and beneficial. When you're publishing these notes and blog posts you not only help others, but help yourself by deepening your knowledge and receiving feedback.
Fear of missing out (FOMO) is a social anxiety stemming from the belief that others might be having fun while the person experiencing the anxiety is not present. It is characterized by a desire to stay continually connected with what others are doing.
Learn to deal with it, live with it, and control it. Avoid chasing every shiny new tech. Doing so will save you a ton of time and headache. Chances are very few companies are going to adopt this new tech. And if many do, their systems that already use other tools will be too much of a cost to replace just to use this new tech. Have the confidence to choose what to learn.
If you've been going through courses/tutorials back-to-back, chances are you've missed a bunch of basics on the way. Go back and learn them thoroughly. You'll thank me later.
We're not born with knowledge. You were not born knowing how to code, and neither were your peers. Building foundations takes time and effort. Don't give up, don't push yourself too much, and enjoy the journey. Burnout is real.
Coding can be fun and tempting, but sitting all day doing nothing but that is a complete waste of time and energy. Go out, keep in touch with friends, play music, learn to do other things aside from coding. You may as well create content around coding, just don't sink in too deep into coding.
If you've built projects, gone through courses, and prepared yourself for the job, you're probably "ready". Stop waiting for the "perfect opportunity". If you are, you're already missing out. Start going out of your comfort zone. Start applying to companies. Do your best, and show it off. It's a good learning experience as well.
Coding is not a singular act nor a one-man effort. It's a community, and you're part of it, like it or not. You may refrain from contributing to it, but why do that when you can instead contribute back to the community that helped you get started? Start interacting with the community already! Here are ways you can do that:
- Follow developers blogging about all sorts of things on DEVCommunity
- Stay up to date with everything by visiting HackerNews
- Follow industry/community leaders on Twitter
- Join developer communities online! Valarium is a discord community I started a couple years back. It's mostly in Arabic but everyone's welcome!
- Join Reddit developer communities! They're rich of content and joy!
These tips helped me personally, and I had to bounce around perhaps too much because I didn't know them at the time. Now you don't have to!