Sometimes when we are learning something new, there's a dark moment when you feel lost because something is very complex. When I was younger I thought eventually it'll disappear, actually I think is a part of learning, the prove of we've got a lot to enjoy.
This is a very common scenario for me; I'm home and I'm reading a book I bought a month ago, I've been so amazed with a particular technology, I started watching some nice tutorials some weeks ago and I've been reading some articles. Yeah I'm at that point where I'm just in love with a new technology, that's exciting!
I would say it is like "Dating with the right girl", you just want to know more and more and enjoy the process, and everything is hunky dory until something horrible happens, I've been reading through a confusing chapter and when I code the exercise taadaaaa it does not work! and the worse: I don't know why, even though the author claims it'll be clear in advanced chapters, I'm confused and thinking of throwing this book away (Joke).
That's just a scenario (a funny one) but what I mean is frustration is a common thing we as developers (or human) deal with. Sometimes it's a headache, there's a sense of failure because something new seems big and complex.
Honestly, I have felt that fear a lot of times in the past I mean that situation when you believe you can't understand something even if you do your best, you're seriously thinking of giving up.
I'm not an expert and I know there's a lot of variables playing a role, but that happened to me a little time ago and after thinking about it I've got some points:
- Nobody I know learns everything in a second or less: I know you're feeling excited about that new technology, and you're way smart, but remember those academic years when learning could have taken weeks and you'd have enjoyed anyway, ego's a dangerous thing.
- Take some notes and make up your mind: I do believe there's a lot of ways you can move on but I do prefer 2; stop at what you do not understand and focus on it or solve it later when you have a greater vision of how that technology or language works
- Try to figure out what the problem exactly is (or close) and ask mates or communities: that's something great about knowledge, actually there are lots of people sharing what they know just in order to build better things (dev.to is a nice example), remember being respectful and help others if you are able to.
- We love learning and programing, we do not have to learn alone: If you are feeling a little stuck in a technology or problem, try coding with a friend or you could teach your mate/girlfriend/boyfriend how to code, listen to some of your favourite music, watch a movie related to IT or have a beer, learn your way!
- Great things, great enjoy: When you are learning something new you could think you are creating something very simple and there's a lot of great apps you can only imagine to create, remember you're learning, learn a lot, as much as you can and enjoy it, great apps are the ones you enjoyed building, am I the only one who would never forget the first Hello World?
- Do not just see the world in code, see code as a part of the world: Enjoy other interesting things, such as art, history, maths, etc. Those things are not only enjoyable but helpful, they could show you other ways or perspectives.
- Have a break and chill out: This is a classic one and I'm pretty sure it works fine, just remember not to spend that time thinking about what you couldn't solve, recall past situations and how you solved it or just chill out!
These are some thoughts, I think there's no magic formula and every person is way different. I hope you enjoy my post and I'll be very glad to know about your experiences.
I'm not a native speaker, I do appreciate the suggestions.