3 ms·
I think the worst part of webdev is that it is so fragmented. I mean all of it. The technologies, the tools, the software, etc. You can't do anything simple
by coreyp_1 3y ago
I think the worst part of webdev is that it is so fragmented. I mean all of it. The technologies, the tools, the software, etc. You can't do anything simple any longer... You basically have to be an expert in every aspect of the system in order to make sure that you aren't opening yourself up to attacks.
Example of the absurdity: Do you want a self-hosted website? Be prepared to know how to set up a firewall. And the webserver needs to be able to serve static files when appropriate, and PHP/Python/JS/Whatever when appropriate. Don't mess up your apache or nginx configurations!!! Most modern frameworks require you to know from the start all of you HTTP verbs. You can have HTTP/1.1/2/3 support... if you can figure out HTTPS and your DNS records (for HTTP3). Oh, and make sure that UDP is configured in your firewall for H3. You're writing something commercially? Better stay away from GPL-licensed libraries. How do you check on the libraries for your software and the dependency tree? Good luck. We haven't even decided on a backend framework yet, much less the front end! But when you get to the front end, it needs to be Accessible, lest you get sued. And it needs to support mobile. And you have to have GDPR cookie headers (why? again, so you don't get sued). SSO? If not SSO, how do you securely store passwords? Plain text? noobish and irresponsible. Hashed? also noob. Salted and Hashed? Out of date. Salted and Hashed with a variable cost cryptographic function? Better, for now. There's plenty of other things I can hit on.
LEGO is fun, but nobody can compromise your security simply because you put a block in incorrectly. In webdev, if you do something wrong, you can open yourself up to major security issues and potentially civil and criminal liability.
To put it another way, it's the Unix philosophy of "writing small, single-job tasks that can then be combined in amazing ways" versus monolith programs like Excel. Sure, you can do calculations in the command line using awk and sed, but you can also really mess it all up, even accidentally overwriting your data files if you write '>' instead of '<'. There's a reason that big programs exist: they are successful in bundling functionality and flexibility.
I started as self-taught full-stack developer using Drupal almost two decades ago. It was complicated then, and it's even more complicated now. That being said, I loved using Drupal because, as long as you stuck to their APIs, the security was in place. Drupal enforced patterns for extensions, and if you followed those patterns, you could do amazing things without worrying about the possibility of shooting yourself in the foot. Your forms were handled correctly. Your site could be multilingual. It had good SEO out of the box. Everything more or less just worked, and it was still flexible enough to build amazing things with it! (Yes, I know that there are security issues here and there, and you must update when a CVE is discovered, but that's true for any project.)
And yet, even Drupal has moved away from the simple (yes, I'll call it simple back in the 4.5, 4.6, 4.7, 5.x, 6.x, and 7.x days) to a more complicated ecosystem where I'm not entirely sure that I've set up everything correctly.
But what can we do? I don't want to be involved in the politics (project as well as societal) of many of the languages and projects today. In fact, I actively distance myself from those things now.
I miss the old days of writing software that I loved and that I could share with others. I just want to make cool stuff again!
- fbrncci 3y agoThe worst thing about web development is also the best (for a career in webdev). If it was easy, it also wouldn't be this well paid. So it pays off to become an expert in every aspect of a framework + accompanied tools + practices and knowing your way around all the crap that is needed to get cool stuff running.
- ano88888 3y agosalary has nothing to do with how hard it is to do the work. It mostly depends on the perception of the value/impact it can generate based on market supply and demand.
- shrimp_emoji 3y agoNah. It's well paid because it's in demand because the web is a dystopian hypermonetized hellscape now. Being an embedded programmer is harder, but it pays less. Being a semiconductor engineer is even harder, but it pays even less. Pay scales with the whims of the Molochian market, not difficulty or virtue of your work. Otherwise, frontline soldiers would be the FIREees.