I’ve been working as a.NET programmer for the first sixteen years of my professional career. During the first four years, I developed almost no web code, instead implementing and customizing existing e-commerce apps. I only started creating web applications in my last year several years a.NET developer.
It wasn’t until I realized that although you do all the backend work in .NET that there’s one truth. If you’re a web developer, the browser is the only area where your users can engage with all of your hard work on the backend. And HTML and CSS are the only ways for you, as a web developer, to display your code in the browser. Even if the backend code is amazing, tidy, or whatever superlative you want to apply to it, the user only sees what is visible through the browser.
What exactly does this mean? Certainly, if the user interface is the last thing you think about when designing a feature and you rush to “just make it work,” you are most likely failing your users. Keep in mind that the only way to make an impression on your users is by what they see. If they see an unusable mess, your program is an unusable mess as well. It also implies that you must carefully create your HTML and CSS, just as you do your backend code. You must devote the necessary time and attention to it.
In this day and age, there is no excuse for a web developer not to understand HTML and CSS. If you can write complex backend code, producing clean, semantic, and cross-browser compatible HTML and CSS should be a piece of cake. Nonetheless, I’ve heard managers claim that their developers are incapable of writing this code. I’ve heard developers dismiss the effort required to create HTML and CSS. Shenanigans, in my opinion. It is not acceptable to be lazy in your craft, nor is it acceptable to make excuses for being lazy.
Make no more excuses for your web developers. Set higher expectations for your developers. Encourage them to learn how to write clean, semantic code, or better yet, demonstrate it to them. If they just can’t generate appropriate HTML markup, it is unlikely that they will be able to develop quality code on the backend. Perhaps they shouldn’t be working as a developer for you.