I first started working in web development in 2005. We had Pentium 4 servers, running at what would probably feel like 1ghz today (P4 had some pipeline problems), with probably a gig or 2 of RAM, on-prem. Core count? No idea. I'm guessing 4 at the most, but it might have only been 2. We usually ran two servers, one for app server and one for databases, though there were frequently multiple apps and multiple databases on those servers. Such a machine probably cost around $3k at the time, (IDK, I'm just guessing. Also, inflation has been about 50% since then). Most of that cost was probably in disk arrays. I was working on GIS apps, so we had "a lot" of data at rest.

We had dedicated DBAs and sys admins. Most of the difficulty in getting applications built was A) being young and not knowing what I was doing, B) communicating and getting approved configuration changes with the sys admins for whatever stupid thing we were being asked to do by bizdev, C) communicating and getting approved scheme changes in the database with the DBAs without having a local copy we could modify at will to test anything before going to staging.

Today, I have my servers in the cloud. I'm given 2 cores at 1ghz with like 4gb of RAM. It's about $2k a year. Every year. Or in that ballpark. It's not a huge diff from 17 years ago.

My laptop has 14 cores running at atleast 3.5ghz, with 64gb of RAM. Plus a massive GPU. It also cost about $2k. I work in VR so I spend that every two years.

The server backends I build now are not significantly different than I ever did. The front ends are significantly more complex (I thought I was pretty hot shit making a 2D graphics API in JS out of absolutely positioned DIVs as "pixels" back then, before Canvas was a thing, and now I do full motion 3D in VR at 120hz).

So IDK. I probably got some minor details wrong, I'm not going to look absolutely everything up. Take it for a rough approximation.

One thing that strikes me is that, operationally, things are vastly different, but not necessarily easier. I don't have to get anyone to approve anything anymore, but that's mostly because I'm the one in charge now and I know what I'm doing now. Front end tooling has improved thanks to TypeScript, but that's also come with massive amounts of other complications because it still needs to be JS at the end of the day. NPM has made it easier to get and manage dependencies, but the creaking tower of transpilers and bundling tools has clawed a lot of those gains back.

I used to be able to clone a repo, start visual studio, hit F5, and after about 45s for a full, first time rebuild, I'd be in the app. Now I need to restore dependencies, make sure all the build tools are at the right versions, make sure all the separate build tools are running in the right order and time. Sometimes it doesn't work, because it's not clear why TypeScript is using VS' outdated lib.d.ts files that install by default instead of the ones that are in my node_modules.

It "works", but it's deeply dissatisfying. I can never tell if introducing a new project into the repo is going to break first-time setup. I'm able to do more on the project I have already setup, but seeing up new projects has gotten so difficult that I often find myself so mentally overwhelmed (disgust, avoidance, etc) that I just don't, I go back to working on the one project instead of trying something new.

Don't know where I'm going with this, but there it be.