My pull-out quote:
This is why we see so many developers that can't pass FizzBuzz: they never really had to write any code.
I have one tiny objection to any otherwise excellent series of points: I don't like the totem pole analogy.
I prefer a supply-chain:
- Release Engineers respond to user needs.
- Quality Engineers respond to the Release Engineers' needs for assurance that something is fit for use.
- Developers respond to Release Engineers by providing software.
- Similarly, procurement folks may purchase or lease or download and pay royalties for software.
I think of it like this:
Developer ⇒ QE ⇒ RE ⇒ Users
No top-to-bottom. More a sequence of more-or-less peers.
I still agree with the central tenet: a developer is able to march the software from concept to user. We don't really expect QE or RE to create software. We might expect some skill sharing between QE and RE.
Many years ago, I posted this: IT’s Drive to Self-Destruction, which is random and whiny but related to this point about DevOps. The idea is that key developers create competitive advantage. Release Engineers put it in the hands of users. Both are important. Without creation there's no deployment. Without deployment, creators can be diverted to deployment, so deployment can still go forward, but it will be slower.
The key point is this:
If a developer is spending time with DevOps (and TechOps) trying to get stuff deployed, who's developing the Next Big Thing?