As a developer or DevOps you probably heard it a hundred times before:
" ... ah and by the way for the new project ... try to find an existing library to solve the problem. Don't reinvent the wheel, that would cost too much time."
And probably there were more than a couple of times when - after scrambling through dozens of GitHub projects - you thought: "I wish I had started to reinvent the wheel right from the beginning!"
So here are my top 5 reasons why to "reinvent the wheel":
- The only already existing code is a "rainy-Sunday-afternoon-good-enough-for-my-Raspberry Pi-home-project-provided-as-is-without-comments-or-error-checking-only-once-tested-on-my-12-year-old-20-minutes-startup-time-crashes-every-2-hours-Windows-Vista-laptop" GitHub project.
- The only GitHub project you can find is bloated with functionality you don't need at all, and it takes you 2 days to find out that the 10 lines of poorly written code that you actually need does not work anyway.
- You need to install 15 additional mysterious libraries that were last updated 8 years ago.
- The only existing project is a 8 GB of RAM sucking Java monster that takes 5 minutes for cold start.
- You spend the next 2 years fixing bugs in code that was never meant to run in production environment.