how i want to learn
in any technological field today, we have an abundance of tools at our disposal. along with it, we have Artificial Intelligence (AI) agents which aid us in the usage of these tools to build specific components and even complete solutions in some cases. as a result, we have become engineers who merely build systems without having a strong understanding of them. sure, you could argue that it is not necessary because the AI could help me understand the details by prompting it or by asking it to give me examples. but, i am not as involved in learning via this approach as compared to an approach where i build simplified, transparent implementations of the components by myself. another common approach in the Software Engineering field is to understand from existing production systems like WhatsApp, Spotify, Twitter, etc. the problem with this approach is that production systems optimize for performance rather than comprehension, making their internals inaccesible to learners.
so, when i want to learn something in this modern era, i will stick to the policy — to understand a system, build one. i strongly believe that taking the time to build lightweight reconstructions of systems provide genuine insight which is unavailable through usage (or vibe coding) alone; they train systems thinkers rather than mere users.