You can also use the model checker to, via brute force, find a sequence of states that result in a desired outcome (which is expressed as a set of conditions called an “invariant”). For example, steps to solve the tower of honoi or the Die Hard 3 jug problems.
Labels like these are meaningless. I make more money as a DevOps Engineer than I did as a Google SWE, and I have significantly more responsibilities. The DevOps community is diverse. There are “DevOps” engineers who can’t write code (sadly) and those that write incredibly advanced serverless systems that scale massively.
It’s trying to do too much, just like Google Wave, Angular, Google Web Toolkit, etc. Avoid anything that tries to do everything. Instead, build on an ecosystem of independent services that integrate well together.
Excellent article. I’ve experienced a few of these issues at two vastly different companies (one had 60k employees, another only had 200). I implore developers to avoid working at companies with this class of problems. Work for a company that is strongly customer focused instead.
But you can have a company that is strongly customer-focussed that still faces this class of problem, surely? It would seem to me that solving these problems at a large company where there actually is trust and esprit de corps to get it solved could be tremendously satisfying.