To build or not to build | Day #91
There is always a fight that I have in myself.
This is whether to use a third-party tool or build it completely myself.
The best examples are when I’m considering creating a backend service for a software application. Even though it could be as simple as storing one column with a few properties, I’m in doubt about building it myself or use a third-party tool.
When building it myself I can just program a web-server, install some packages, put a database there, dockerize it, and put it on a server like DigitalOcean.
When in reality it’s probably much easier to use CloudKit, Firebase, FaunaDB, or any other product. Most of the time, you then don’t have to worry about anything other than paying the bills.
For a single or a small team of developers, this is great cause there is something less to maintain. Which means extra time for building more awesome things.
But this also goes against the instinct of an engineer. The desire to build and create. The desire is to build the backend service yourself (in this example). I mean why not. We have the skills and knowledge to do it, so why just not build it ourselves?
(Also, third-party tools may (for now) have with tons of features that you may not use or want at all.)
This a small fight that I sometimes encounter and thus think other developers also face.
There is no good answer here, cause it always depends on the team and its developers. But also the product.