1. I already know React and JavaScript (therefore, aware of their “blind spots”)
2. It’s convenient: I don’t need to learn a new tech (especially one that is made specifically for X platform dev, i.e. Dart) for mobile dev, I can leverage what I already know.
I’ve tried many things (sticking to a routine, creating a plan, creating an accountability system) but at the end of the day:
1. Getting into flow state on a conscious level implies that you are already there on a subconscious one.
2. Practically speaking to get into flow you need two components: Passion (you have to be driven by whatever it is you’re going to; “because I have to” won’t cut it. It won’t click.) and discipline (basically keeping temptations under control.)
You’re absolutely correct and I don’t disagree. However I’d like to offer an alternative: unless you build a real world project you won’t ever feel comfortable with your learning. I used to be just like you, try to cover as much ground as possible through (explicit) knowledge (books, blogs, videos, you name it) but whenever I applied that to the real thing, turns out there was always something missing, that I didn’t plan for. (I’m assuming you value your time and try to maximize as much of it as possible) Now what I do: I still look for resources BUT those that cover the minimum required (THE FUNDAMENTALS) and build upon that knowledge through practice and better target research/reading.
That has a lot to do with the underlying language actually. This is purely anecdotal but react was the first framework I tried to learn. It was hard for many reasons. One Angular internship and one big vue project later, it was no longer hard. Everything just fell in place. It just clicked. The secret? My JS skills got way better.
Since you like coding and apparently you happen to enjoy building websites why not transition to web dev? The barrier to entry is relatively low. Give freecodecamp (https://freecodecamp.org) a shot and let me know if you ever need help!
1. I already know React and JavaScript (therefore, aware of their “blind spots”)
2. It’s convenient: I don’t need to learn a new tech (especially one that is made specifically for X platform dev, i.e. Dart) for mobile dev, I can leverage what I already know.