My Current Learning Plan as a Web Engineer

I've been doing programming for more or less 10 years, in different technologies and devices. I've done some desktop applications with C++, Java, and more recent ones with JavaScript (Electron). I've done mobile apps with React Native. Some data science with Python and R. But most of my works in the years are in the Web (PHP, JavaScript, CSS, etc).

A lot of my past knowledges are obsolete (even atrophied) because I’m not actively work with these technologies anymore, for example Java, C++, Python.

Currently, for the past few years I’m mainly working with JavaScript stack, React for Front-End and Node for Backend. I still have a lot of things to learn, but I think I’m quite comfortable to work with these stacks.

For a lot of things I might not directly know how to use particular technologies or solve exact problem, but I can figure out how to look for the informations needed to solve. For example, I recently need to validate JSON object against JSON Schema. I can write my own validator with JSON.parse but this might not be the best solution. So I look into existing solutions and found AJV library that helps to solve this validation.

I’ve always been wanting to deepen my fundamentals in web engineering. For example, I usually use CSS frameworks to speed up developments and standardize the engineering. I know how to use flex and grid for layouting, CSS rules and their properties, but I still feel that my knowledge of CSS still not deep enough, where if I understand it more deeply I might create combinations of rules that would solve problems more efficiently, better specificity, etc.

JavaScript fundamentals are also something I want to deepen. For example, until now I’m still not sure how to use JavaScript generators to solve problems, I usually can get by using Promise/async-await. I’ve been using JavaScript generators for Redux-Saga but aside from this usage I haven’t bee using it anywhere else. Maybe there are some problems that I usually solve with Promises that might be better done with generators, I’m still not sure.

For more practical aspect, my works are mostly in React now. I think I’m comfortable to work with it (working with functional components, React hooks, JSX, etc) but I think there are still a lot that I need to explore, e.g. Suspense, some specific hooks (useLayoutEffect), advanced memoizations, etc.

I just bought CSS for JS course by Josh Comeau I hope to deepen my CSS with this, so far the course has been really great. Found a lot of things that I actually use in my daily works, but found a lot of "Aha!" or "Gotcha!" going through it.

My other plan would be to buy Epic React Dev by Kent C. Dodds. I read a lot of good things for this course, and I’ve been reading Kent’s articles a lot regarding React engineering. So will look into it.