There is no reason to hate web development, but some web technologies used in the process, like HTML for instance, have evolved over time, rather than having been designed up front, and have some clumsy parts.

Programming in general requires “being in a control” mindset. With web development part of that control is taken from you and put up to the mercy of subjective criteria such as “usability” and “style”. No wonder typical developers feel outside of their comfort zone as the things go to the UI design.

Web development is many levels messier than that. The technologies involved in the process have been extended light years past the timeframe they were initially designed for — and were designed in a rush even then. They are also altering and evolving every day and web developers are constantly re-learning how to achieve basically the same outcomes over and over again. Take a breath and you can be obsolete.

There are some programmers who often work quite fulfilled and satisfied on the back end of a website. But even then, they are liable to end up reluctantly dealing with things that translate fairly directly into front-end material.

Some programmers, on the other hand, just hate visually oriented things generally. Some dislike the complication of dealing with the vagaries of multiple browsers and operating systems, or even web servers, and a website usually has to work on a range of popular systems.

Additionally, you have to use so many tools as compared to other development methods. There’s plenty of frameworks and libraries just to support old languages that are currently used in creating a website and the number of such tools just speaks volumes about the presence of technical struggles in web development, specifically concerning front-end web development.

Why? Well, programmers love when they are in a clean environment — it is their natural habitat. It provides the proper surroundings where they can think logically, exemplify that logic in code, and have it executed the way they want it to. And year, some of the tasks are like that — clean algorithms running on clean data. Period. It is developing an appreciation for order and consistency in its purest form. The problem? Well, the whole web programming ecosystem is exactly the other way around.

Programming tasks that encounter the real world are somewhat scrappier — bad data, imperfect networks, noisy sensors and affecters, etc. But that’s part of the challenge, and at least the technology is clean.

To sum it up, it’s exhausting. But the web is still the best way to reach most of the world with technology and is incredibly important. That’s enough to keep many of us going. And if you approach it the right way, the challenge can turn out pretty fun.