Why Do So Many Programmers Hate Web Development?

Understanding Programmer Sentiments Toward Web Dev

There are two types of people in the programming sector: those that love learning and those that don’t. The majority of developers are lifelong learners, but there is a percentage that do not want to keep learning new concepts. At millions of developers, even a small percentage can appear quite large. But this isn’t the full story.

First, Some Background.

There are numerous different paths that you can follow in order to be a web-developer. The three main categories are: front-end, back-end, and full-stack.

Front-end developers focus on the, you guessed it, front-end. Their primary tools are HTML, CSS, and JavaScript. These languages allow the user to interact with the website once rendered. CSS and JavaScript are just the starting points. You’ll need to know additional frameworks, and/or libraries, such as TailwindReact, and Vue.

Back-end developers focus on, you guessed it again, back-end. The code lives on the server, executes on the server, and sends data back to the front-end. Back-end developers focus on the server-side software, which is stuff that the user can’t see, such as data storage.

Some backend languages include: PHP, Python, Java, C#, and yes, even JavaScript. But that’s just the beginning. Backend developers need to know the frameworks associated with each of these languages. For example, PHP has LaravelSymphonyCodeIgniterYii, and CakePHP. With JavaScript, you’ll need to know frameworks such as Express and Next.

How about databases? MySQLPostgreSQL. What type of server are you running on? These are all of the questions that are placed on the backend developer.

The full-stack developer. Well, just take the backend and the front-end developer requirements, and combine them. There aren’t that many quality full-stack developers since you need to combine both skills and be really good at both.

So What’s the Full Story?

When people think of learning, they believe that you study a subject for years until you get good at it. In web-development, some frameworks will last a couple of years before something new and shiny comes out again. The web-developer then needs to learn the new framework, migrate the existing codebase to the new shiny object and hope that it works.

Web-developers that are working for software development agencies have it way worse. There are agencies that stick to a particular stack and don’t deviate from it. Most will bring in any type of web-related work that they can get their hands on.

Client: Does your team work on Laravel applications? We have a web-app that’s built fully in Laravel on the backend and Vue.js on the front-end. Can you do both?

Sales Person: Of course. Our developers are proficient in both front-end and back-end. They’ll be able to handle both.

Developers: Well I guess we have to learn something new. Hopefully this lasts a few months.

One week later…

New Client: Hi. We need an agency that can convert our ASP.NET application into a React app. Can your team handle this?

Sales Person: Handle it? You picked the two things that our agency specializes in. We can handle that no problem for you.

Developers: Has anyone done any React development? Any C# developers on our team? No? That’s fun. Jimmy, you’re in charge of this one. I guess that’s another weekend that you’ll have to miss with your family because of studying.

What Else?

Package Galore. Have you hear of npm? It’s a complete mess. Having so many package dependencies, and then trying to update them, is a recipe for disaster. But you have to keep updating them because there are constant security vulnerabilities that are discovered.

Unnecessary transitions. Why go from <b> to <strong>? What’s the difference? They both make the text bold. Why do you even have to think about stuff like this? Front-end development is full of this. At least before there were web-designers that only worried about it. Now, most companies just lump web-design and front-end development together.

Browser and device compatibility. You have to make the app fit every single width imaginable, and it has to look good. What about the various browsers? Sometimes it just doesn’t work. You add that calendar dropdown and it doesn’t work in Safari. Works everywhere else, except Safari. Why??

Messy Code. Depending on who works on the application, they’ll come in with their own flavor. I can’t seem to say this enough, but I’ve seen three JavaScript libraries on top of a C# app. There could have been many reasons for this, like not knowing C# enough and being more comfortable in the JavaScript library, or wanting to try the new shiny thing out. Whatever it was, the code was a maintenance nightmare afterwards.

Different Hosting Environments. We want to move from AWS to GCP. Now, we want to move back to AWS, and we want to use Vapor to deploy our Laravel app to AWS. Wait, we can’t use serverless for this specific task. We’ll need to switch to Forge. It’s constant and never-ending.

Conclusion

We could go on for days. There are many reasons that people hate web-development. At the end of the day though, I still love it.

https://blog.devgenius.io/should-i-learn-programming-or-web-development-518917e3d3f0

 

Leave a Reply