Applications are rarely built form scratch, they are composed of multi-parts.
* As applications grow in size and complexity, developers benefit from focusing more on business-domain code and less on infrastructure, optimizing their time and expertise.
* Mainstreams tools tend to be less buggy.
* Free, high-quality software on the web lowers development costs and increases the chances of finding skilled developers.
* Buying may be cheaper than building related to maintenance costs.
But, choosing the right tool is not that simple!
* You could front architectural mismatch.
* Dealing with the upgrades/migrations can be tedious.
* Configuration can be tricky if you have a lot of XML files to set for example or even config files in some odd language.
* Be careful with Vendor-lock when your tol rely heavily on it.
* Free tool does not mean free commercial support.
* Licensing is also an expert topic, when using GNU software, you need to comply with some licensing rules.
So buy only the tools absolutely necessary, and then add more if needed.
Interface these external tools from your own business code, by layering.
#tooling #programming #developer #programmer #software