The problem with being a software developer is that you stop seeing software as a fixed artifact that you can take or leave. Instead you start noticing things like 'this input would be better with type=email' and it's harder to accept poor designs.