Thoughts on the 2010s in Web Development
Lately I’ve been thinking a lot about what kind of progress we have made in software engineering over the 2010s, especially on the user facing side, and it’s been quite depressing. This note is not going to be a fully formed article on the subject but I need to put these thoughts somewhere. For context: I have worked in software engineering since 2007 as a developer and switched into engineering management in 2018.
The applications we build mostly aren’t more complex or better in any meaningful UX way. Accessibility is still a huge issue, in some ways it has even gotten worse with the proliferation of carelessly implemented single-page apps. Most web apps are still the same parts over and over again: sign-up forms, list of products/articles/etc, mostly mediocre search, settings screens, checkouts, and of course newsletter signup reminders. Mobile support is more widely spread but the techniques for that were already there 10 years ago and haven’t changed much. CSS has gotten more features but they have made it easier to use now than ever (which is great). The major changes of this decade however have happened for developers, with either little positive or even negative effects on users.
The resources required from users (bandwidth, computing power and therefore battery usage) have gone up tremendously and the technology stacks have exploded in complexity, driving up requirements on the producing side. Team sizes have grown along with that. A thing that would have taken a team of 5 in 2011 now takes a team of 30 (roughly estimating), often with much higher levels of seniority, plus the management overhead that incurs.
We also see unprecedented specialisation in web based software development because the technology stacks are so complex now that a true “full stack” developer has become exceedingly rare, while 10 years ago many people with a bit of seniority were “full stack” to some extent. Specialisation in turn has raised the bar to entry into the field. Good luck landing a junior dev job today with only HTML/CSS/JS skills. Which also selects for people with more time and money to invest in training, amplifying social inequalities again.
The number of developers required today combined with seniority and specialization drive up cost into heights that would have been unimaginable 10 years ago without producing better outcomes. And since most tech startups still fail, because that‘s in their nature, the overall resources going to waste have increased dramatically.
Maybe I’m just getting old and grumpy but I really struggle to see the benefit of it all while the harmful effects are staring into my face.