It's been a while since I started coding, So for this post, I decided to do something different. I want to list down some tips I've learned over the last two years on getting better at learning to code. So this will be like a message to my younger self which might also hopefully be useful to some other beginners just starting out.
1. Build more cool stuff
I think this is the number one thing that can make it easier for you to learn something whether it's a programming language, framework or any other coding concept. Don't just go from one tutorial to another. Take what you've learned and make something cool with it, Most of the time you will learn way more from building stuff than any tutorial will ever teach you.
It can be normal to develop a mindset where you think what you've learned so far is not enough and you can't possibly make anything useful from it. You will always want to know more and that's not a bad thing. But, I'm gonna let you in a little secret,
No programmer on earth knows enough to always get the job done without any help, whether that help is a coworker, mentor or StackOverflow, Nobody knows enough, There's always more to learn whether you've been coding for a month or 10 years.
2. Build apps that actually help you
If you agree with my first piece of advice and decide to build things then don't just build random things or some demo app that you saw being built in a tutorial instead identify a problem that you are facing in your day to day life, no matter how small that may seem and try to build a solution for that.
For example, you might find it hard to focus or manage your time then build a simple time tracker, if you are having a hard time managing your money then build a budget tracker, etc. (note: Don't just build trackers, these are just examples) Doing this will make sure you are truly invested in the project and won't give up as soon as the project becomes a little difficult.
3. Don't build complex apps too fast
Sometimes it can be overwhelming to build apps that do too much. Instead, break your idea down into small pieces and focus on the most important part of your app and once that is complete then move onto other parts. You don't have to build a complex app just a simple app that solves one problem really well. I have gone down a rabbit hole where I kept adding features and eventually just gave up on the project because it was to complex for me to handle. Take it one step at a time and don't try to build something too complex.
4. Be a part of the community
Listen to coding podcasts, subscribe to coding channels, follow other developers online, be a part of the community. Don't just be a passive observer, share your thoughts, ask questions but don't be a dick.
5. Take a break
I think this is something that beginners tend to ignore. When you're learning something or working on a new project you might lose track of time or might spend hours trying to fix something. Remember to take a break from coding, do other stuff, focus on other interests to recharge your batteries. If you are interested in a sport or any other team activity then that can be great for your work-life balance since most developers spend a lot of time sitting and staring at a screen. Don't neglect your wellbeing because it's really easy to get burned out when you don't know your limits.
Other useful tips
There are tons of tips that I have for beginners but I consider the tips mentioned here to be the most helpful. You should be fine if you follow these tips but if you don't then you're never going to make it (just kidding, these are just suggestions, not rules). Take what you want from this post, it might be helpful for you or it might not but If I could go back in time then I would certainly give these tips to my past self. Here are some other tips that might be useful
- Share your journey online with others and document it
- Try a little bit of everything(different frameworks, coding - styles, etc), you'd be surprised at what you find yourself enjoying the most
- Before trying everything make sure you master the fundamentals (please don't learn a JS framework before learning JS)
- Find different ways to tackle problems
- Always think critically before committing to something
- Always pick readability over clever code
- Don't use the DRY principle for everything
- Don't use abstractions too early
- Take a look at the project from a larger scope
- Make sure most of the code you write is easily replaceable