This rule instilled in me the habit of wanting to minimize external dependencies in my projects. If I want to implement a certain feature, I always attempt to write it out myself first. More often than not, I end up with a lackluster implementation that is nowhere as robust or clean as what third parties can offer. After several hours of head-scratching and smashing bugs, I would reluctantly install a new package and complete the feature in a fraction of the time.
This was basically what happened to me this week while working on my capstone project. I had the task of building some front-end UI, which included creating a dropdown menu. After spending more time than I’d like to admit pouring over CSS documentation, I gave in and installed a UI library. Within minutes, the feature was complete and I moved on to the next task.
Throughout my journey of learning how to code, I also often heard the phrase that there is no need to “reinvent the wheel.” If a good implementation of a feature I need is available, I might as well make use of it. While I want to maintain my habit of minimizing dependencies, I should remind myself that the benefits of an extra dependency can outweigh the cost of doing it myself.