There has been a lot of discussion during the last 50 years about the nature of programming: Is it an art like poetry? Is it craftsmanship like pottery? Is it an exact science like physics? Or a non exact science like medicine? Is it engineering like bridge building?
Whatever the nature of software development is: during this time, a lot of tools and techniques have appeared to make your lazy-developer life more difficult: Coding conventions, OOP, FP, SOLID, Design Patterns, Tests, TDD, UML, Use-cases, CASE tools, Refactoring, RUP, Agile, SCRUM, Continuous Integration, Code Complexity Metrics, Emergent Architecture, DevOps, SCM... and whatnot!
But, sometimes, being a lazy developer makes you do things that seemed counterintuitive, in order to pursue your main objective: WORK LESS.