Hacker News new | ask | show | jobs
by EspressoGPT 1054 days ago
> Are these frustrations, ever so real, increasing every day? More complexity, more hype bubbles, more solutions looking for problems to solve.

I'm a 25-year-old SWE with 5 YoE and would like to bring in a different perspective here. In my first jobs, I had to deal with legacy systems, most of them being 10 to 12 years old back then (so roughly as old as your career). The tooling in these projects were kept at a minimum: SVN or no version control at all, no infrastructure as code, no containerization – in some projects not even virtualization but just a central development server where you would deploy your source files via FTP.

Day-to-day work was simple and productive because there was no local development environment to set up, no merge conflicts to resolve, no outdated versions to update, no RBAC problems to deal with, no weirdly-behaving containers to kill, just a server and your code. This worked great ...

... until it didn't. 12 years of unversioned configuration changes in production servers, unreproducible development and production environments, unreproducible and unversioned database schemas, black-box database triggers that are in no repository but just on the server, un-atomic deployments leaving a dirty state when the FTP upload fails, black-box DNS configurations, unreliable batch processing via FTP instead of actual APIs, no insights into OS metrics for developers because only the ops department can access them, ops who don't understand what devs need and vice versa, undocumented CI/CD processes, ... The list of deficiencies when your level of tooling is on the other side of the spectrum is just as long, and some of these guys messed up pretty badly.

To me, one core competence of a developer is to find a proper balance. Keeping things as simple as possible, but also as reliable, reproducible and transparent as possible. Believing in innovation, but not falling for every shiny new thing. And always keeping in mind that even if you go for the easy-to-get-started solution, the debt might be due a decade later.

1 comments

Hey, that's a very mature perspective. Thanks for sharing.

Yes, I remember those days. I don't want to go back there, and I agree that we need to pursue balance in managing things versus the actual work. It's just that we all seem to have converged on a very complex model, and I'm starting to wonder what's the driver behind it: is it technical progress, or is there something nefarious at play, say faster cycles, more features, more non-work (an endless discussion, that one).