@jasongorman Thanks for these insights, I absolutely agree.
2 examples come to my mind.
1. boilerplate caused by the creation of interfaces:
- maybe these interfaces are here for the wrong reasons? (e.g. they are creating abstraction at the wrong level)
- maybe we should spend more time designing and documenting these interfaces?
2. we should delegate testing to a QA person:
- you should be able to test your own code. Are you really testing in the right way?