3 ms·
It is often true, but also see http://steve-yegge.blogspot.com/2007/06/rich-programmer-food.html http://steve-yegge.blogspot.com/2007/06/rich-programmer-food...
by lanstin 4y ago
It is often true, but also see http://steve-yegge.blogspot.com/2007/06/rich-programmer-food.html http://steve-yegge.blogspot.com/2007/06/rich-programmer-food...
I recently was with a group of dev ops folks that had written a 100k of terraform code. It worked great, nice improvements for consistency of cloud deploys, and decreased time to implement and all that.
Problem was when terraform would implement breaking changes in new versions. We had so much code to fix, the group just wanted to stay back at version N - 1. But I knew where that would end, in five years they would have buggy unsupported old terraform needed some big heroic project to upgrade, with risk and so on.
So I wrote a simple Python script that was a recursive descent parser/transformer patterned on expat with callbacks. It was able to transform all the code and bump the terraform version at the latest version.
It took a while to write, but was tremendously fun, gave us a powerful tool for transforming and therefore owning the 100k+ LOC of terraform, which other wise threatens to become a congealed unmaintable blob.
Even writing custom off the shelf services can have big payoffs, in efficiency or in operational ease. There are two ways in which the body of existing software is full of good solutions; there are a ton of turn key solutions, from Hadoop to NoSQL to Airflow to the other fifty nine Apache projects, Kafka, etc. etc. etc.
Also, modern languages have so many excellent facilities for highly scalable, cheap and reliable software that is shall we say designed precisely o meet a given customer need. The custom solution can be faster better and cheaper than the turnkey open source system, which usually has a high cost of complexity and a high cognitive burden for ops to understand the configuration space and so on.