I realised I published Newbie Dev Tips nearly seven months ago. I found it super interesting to reflect on my opinions then versus now :)
If you want to get really good at a programming language, write stuff in it over and over, and only then take a deep dive into reading a book or watching a lot of tutorials about it. I’ve heard and lived this advice myself one hundred times over, and when I inevitably stray from it, I always find myself going back.
You can’t know it all. Even if you try for a hundred years. All developers, no matter their experience, still poke around in the dark trying to figure out what works.
In the beginning, shorter and more basic tutorials are best. However, it can take time to find a tutorial that explains things in a way or context that's right for you. If a tutorial doesn’t feel right, look for more and you’ll find one that speaks to you.
Learning a programming language is sort of like learning a spoken language – take a look at the similarities between them and how people best learn to speak a language, and I think it’ll help guide you to learn a programming language.
Do try to search for and attend local events and meetups near you. My network of friends who work on the web is worth its weight in gold.
Talk to as many web people as possible. Some of their stories will amaze you, and you will learn so many different things from them. However, remember that everyone has an opinion and it’s best to receive advice light-heartedly, and not to take anyone’s opinion as law.
Try to focus on one thing at a time. This can help you avoid being overwhelmed and experiencing racing thoughts like “how did anyone ever learn how to do this?!” or “I must not be cut-out for this”. See earlier point about how nobody can ever know it all. It's also a general rule that many more abstract or complex topics can escape your attention in the beginning. You're bound to run into them again, and by then you'll be better prepared to understand them.
You may have to spend days or weeks on learning a single topic or a small part of what a particular language can do. Don’t pressure yourself. Going at your own pace and enjoying yourself is what matters.
The most important thing is to not give up. You’ll have good days and bad days. Sometimes the bad days are so bad that you begin to wonder why you should tap yet another key. The good days will shine like a bright light, feel so amazingly satisfying, and make you feel on top of the world.
If I had to choose my favourite thing that programming has taught me so far – it’d be that nothing needs to be perfect. Conditions don’t need to be perfect before you start, they don’t need to be perfect during a task, or even after the task is done. This lesson has impacted more than one area of my life in a really positive way.