I am more of a high-level wheel reinventor. I definitely prefer to make use of existing API features built into a language and popular third-party frameworks that I know can solve the problem, however when I have a particular problem that I feel capable of solving within a reasonable time I am very reluctant to find someone else's solution.
Here are a few reasons why I reinvent:
- It takes time to learn a new API
- API restrictions might exist that I don't know about
- Avoiding re-work of unfamiliar code
I am conflicted between doing what I know and shifting to a new technique I don't feel comfortable with.
On one hand I feel like following my instincts and getting really good at solving problems, especially ones that I would never challenge myself with if all I did was try to find answers. And on the other hand I feel like I might be missing out on important skills like saving time by finding the right framework and expanding my knowledge by learning how to use a new framework.
I guess my question comes down to this:
My current attitude is to stick to the built-in API and APIs I know well* and to not spend my time searching github for a solution to a problem I know I can solve myself within a reasonable amount of time. Is that a reasonable balance for a successful programmer?
*Obviously I will still look around for new frameworks that save time and solve/simplify difficult problems.