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.
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.
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.
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??
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.
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.