https://medium.com/bricksnbrackets/10-controversial-software-engineering-topics-with-no-clear-answer-e3d21cc6ba09