The author simply has a grudge towards over-engineered code such as [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...). Not all modern coding is like that, and you certainly cannot build complex software (at least maintainable complex software) without abstraction layers.