Instead of APIs, learn the fundamental algorithms that those APIs provide. Instead of OpenGL, learn rendering algorithms (raserization, Bresenham etc.).
The same applies for other frameworks such as Vue.js. Learn how to write a virtual DOM yourself. Learn how JS operates under the hood.
Learn how to implement a hash table (std::unordered_map) and a dynamic array (std::vector); understand why you cannot simply delete a bucket when using the open addressing scheme. Learn C and memory management, since many other programming languages are influenced by C. Implement the algorithms in C if you are proficient enough in it (gives you a better understanding).
Comments
Learn the leading tech by creating some non-trivial web, desktop and mobiles apps from scratch.
Learning fundamentals is my way too!
Instead of APIs, learn the fundamental algorithms that those APIs provide. Instead of OpenGL, learn rendering algorithms (raserization, Bresenham etc.). The same applies for other frameworks such as Vue.js. Learn how to write a virtual DOM yourself. Learn how JS operates under the hood. Learn how to implement a hash table (std::unordered_map) and a dynamic array (std::vector); understand why you cannot simply delete a bucket when using the open addressing scheme. Learn C and memory management, since many other programming languages are influenced by C. Implement the algorithms in C if you are proficient enough in it (gives you a better understanding).