So in my workplace, our current Web application is a monolithic mess. Database calls from the UI layer, so much duplication and just some down right horrible code, plus don't get me started on the lack of test coverage.

Now by no means am I a saint. I'm still very early in my career, but I've taken a keen interest in writing clean, readable and testable code, as I want to instill good habits on myself and also to help those who come...