Hacker News new | ask | show | jobs
by protomyth 2100 days ago
I think a lot of the pre-2000 programming was a bit more enjoyable because most of us were not programming for the web and actually using platforms that were designed for application development. The web is a very poor fit for what most people want designed.
8 comments

My guess is that it has nothing to do with pre-2000 (or non-web), it's just that people enjoy a rote activity a lot more at the start of their careers when things are still new and interesting. When you've done 50 web sites, the 51st isn't nearly as exciting as the first ten.

I got burned out badly by a string of gigs that effectively came down to helping clients fight some self-inflicted business complexity and connecting yet another stupid website to yet another stupid database, but instead of quitting the industry I decided to slowly fire clients that wanted that kind of work, and build my own products. It took a while to get things rolling since I did this as a gradual shift, and financed it by doing smaller and smaller consulting gigs, but I strongly recommend that as an alternative to quitting altogether to anyone who feels the pain outlined in the the original post.

For me, immersive coding is an activity that brings a lot of joy. Building software is the closest thing to modern magic - you turn ideas, keyboard clicks and caffeine into something that people actually use; potentially making a positive impact on someone's life/work/day.

By building my own stuff, at my own pace, I rediscovered the joy of coding. As much as it was in pre-2000 work and before web.

If you build your own stuff, then there's nobody to tell you to connect a RSS feed to a RDBMS system. For me, the key to keep programming enjoyable is to be able to control the pace and business requirements. In my case, this translated to focusing on business-to-consumer products at a very low cost to the consumer, so I'm in charge of the product, not the customers. With B2B, especially at a high single customer price, people feel entitled to ask for stupid shit, and whoever manages the product feels compelled to accept it. With low average lifetime customer value, saying no is very easy. I assume that's not the only way to keep full control of the product, but it worked for me.

This. All SW pplz I work with that ultimately experience this I recommend to spin up their own project in order to channel their own creative energy into.
> The web is a very poor fit for what most people want designed.

The web is an application development platform that's split into two pieces with a critical security boundary in the middle, which causes basically all of its problems because every web app has to be a distributed system. If you can constrain what you want to build to either a set of pages and forms or a single client-server app that sits in a sandbox and uses the browser as its display buffer, that makes it manageable.

The default (and indeed only) language for the web not enforcing type safety is also a handicap. People will eventually build a shell inside it where compile time type safety can be mostly enforced.

On the other hand, the alternative is worse: a proprietary platform which shifts unpredictably and from which the owner can ban you.

On the other hand, the alternative is worse: a proprietary platform which shifts unpredictably and from which the owner can ban you.

I'm not sure that's the only alternative. I would actually describe the web as shifting, unpredictable at the behest of one company with the controlling browser and search engine.

^On the other hand, the alternative is worse: a proprietary platform which shifts unpredictably and from which the owner can ban you.

Linux might "shifts unpredictably" too (looking at you Gnome ;) but at least the owner can't ban you.

I‘ve been programming for over 35 years now and have mostly avoided doing web stuff. It is quite possible.
how? SAP/ERP consulting?
I cannot tell if this is a joke or not. If it is not, there are entire industries out that that depend on software development that are NOT web related.
Embedded programming i.e. automotive, industrial, aerospace. The problem is they pay poorly in comparison to web dev but are a lot more stable long term.
I have done almost 0 web development at 3 of the FAANGs and am quite satisfied with the pay. I don’t think web would have paid better. I’ve done OS type work (system daemons, libraries etc), embedded, mobile, etc.

Then there are people who work on compilers, image recognition, AI, browsers, server work of all kinds, etc etc. the variety, depth, and scale of work is much larger than web and can pay better as it can require a deeper level of expertise. I’m sure there exist web developers who make more than people who work in these spaces just as the converse is true. I don’t think it’s possible to say which pays more. Web dev may be an easier avenue to break into things with a low amount of experience though.

That's cool but the thing is FAANGs are absent in most countries outside of the 2 US coasts and a few major tech hubs in Europe. Everywhere else, most of the SW industry is just CRUD/build-an-API-for-this-shitty-JSON type of work.

Compiler/AI work and the rest exists where I live as well but it's strictly in academia, not in private companies and has a high barrier of entry as it's mostly PhDs or post-docs and is also paid poorly.

Web dev work you can find in pretty much any major city in the world.

For example, in a city nearby to me there's a major VR/AR headset company which I'm pretty sure solves really interesting problems. The issue is, what happens when you want to change jobs but want to stay in the same city as that city has no VR/AR hub so there's no other demand for specialists in this specific niche.

Don't know why this was downvoted. As someone living in Europe, this comment is exactly why I stay in my cushy, very well paying and super boring and frustrating backend job. In the backend world, there are dozens of employees who would be happy for me to come work for them, while market for interesting work with similar is very shallow here (a very limited selection of FAANGs, what else?). I don't want to move to the US (mostly because the US visas seem designed mainly for people in much worse situations that I currently am) and the European market is just too shallow to build any more advanced coding career - unless you're ok with low salaries, little savings and coding until you're 60+ years old. I don't love coding that much.
That’s true. Outside Silicon Valley there’s probably not as much non-web dev work. I still think it’s out there. Banks exist everywhere and my brother has worked in a European bank for a long time. FAANGS also have offices all over Europe (London, Paris, and Berlin) doing non-web work and even before COVID if you were senior and talented enough remote work was an option. Now remote work for all companies has simplified drastically.

I have worked on mobile OS, PC software development, web, machine learning problems, and now VR. I’m not particularly worried about getting pigeonholed because any company I’d want to work for can recognize the value of a generalist - I’m not going to solve hard domain-specific problems but I can architect the SW and plug all the pieces together and dive into domain-specific problems when necessary. To be fair though I’ve heard this concern from other people who want to move back to Europe, but the framing was different - how do I explain to them what I do in a recognizable manner.

It's a nice area

However some places are 10, sometimes 20 years behind into best practices, be that in coding, tools, PM practices, innovation, etc.

There's a reason a lot of mobile phone companies closed down (as an example).

As much as I like the area I don't miss staring at a hodge-podge of C/C++ code done in weird style that might or might not have been auto generated and will as many memory bugs as possible.

And how many of those are going to let you in without at least a decade of experience in the specific domain, and real world experience with whatever guidelines or practices they use (i.e. MISRA for X).
Maybe all of them? I worked in Automotive right out of university and they trained you for everything you need to know including C programming tricks and MISRA and they hired pretty much anyone with generic programming knowledge as long as you were willing to learn.
I'd imagine embedded being relatively far away from that kind of work (that's until you've got to add WiFi and/or IoT-cloud web interface - and happen to be one of the only few software people in the company).
I can't speak for GP, but I do behind-the-scenes networking stuff for an enterprise ISP.

My team's responsibilities include configuration management, fault management, and certain KPI monitoring. We don't need to write webapps for that (though we do integrate with them) :)

Not OP but I've focused on C++ , computational geometry and graphics programming for over a decade. That field is still quite thriving. You just need to work actively to find the right employers - and they are not as common as 'more regular type' of programming gigs.

Not sure if I would make more doing webdev, but am not in US so it would be normal middle-class income anyway.

Games, embedded, desktop apps, "infrastructure" software (OSes, networking, orchestration, developer tooling), mobile apps (depending on how picky you are about using APIs being "web"), ...
Ugh. I hate web programming, but I'd rather churn out yet another javascript library than write a single line of ABAP.
Embedded, then systems, then offensive, then systems.
You also do web stuff when necessary with SAP though
That sounds like the worst of both worlds.
It absolutely is. Just look at SAP UI5 (their JS framework)
Pre-1985 could have been scientific/high performance computing, Cobol-type business application programming, or something defense-related.
Pre-2000 you actually had a hope of understanding everything your computer software was doing. These days there's no hope, everything is too complicated for the best of minds. You'll only ever know a small portion of it. Maybe that doesn't bother some people, but it's a big demotivator for me. I miss being able to truly understand my computer.

Now I feel like I'm always spinning my wheels. Even worse, I'm more capable of learning and understanding than ever, but the amount I need to know is increasing faster than my abilities to learn it.

I don't see why this should bother you. This isn't just the case with tech. Doctors work with humans that they don't have a hope of understanding even 5%. I have done web development my whole working life and I couldn't tell you how the browser actually renders a page. I just know the interface to communicate with the browser and let it be someone elses job to work out the next part.
It's human nature. You spend your life being an expert at something but as you get older you also get to watch it slowly slip away. That sucks, I don't care who you are.

It doesn't stop me from moving forward (it hasn't yet) but there are those occasional days...

Application development on the web is much more pleasant than what we were doing on any pre-web platform, and possibly even now.

I've wanted one-way data flow (React, Elm) forever.

We just have rose colored glasses because we were younger, dabbling, all tech was new and non-web tech was just what was available. And we confuse that for some sort of obvious tech superiority. I'd say those were the worst times for application development, not the best. Makes me wonder how many people actually worked on a production client application back then.

Application development on the web is much more pleasant than what we were doing on any pre-web platform, and possibly even now.

The platform that the web was designed on (NeXTSTEP) was much nicer to develop on. VB programmers had a much easier time than web development now. The web was designed as a document delivery platform and it continues to show how hard it is to get basic functionality going.

> I've wanted one-way data flow (React, Elm) forever.

How is that different from MVC patterns in desktop development?

I think there is a lot of truth to this. I started programming in C++ and then Java. But for about the past decade I've done web dev. Recently I've found myself back working on some non-web projects and it's a breath of fresh air in many ways.

True, a lot of that could just be the change in scenery. But I really appreciate that just about everything about the platform exists in order to create software, rather than trying to jump through the bizarre hoops that browsers created. Not dealing with Webpack is an absolute god send.

But with all that said, I think wasm has the potential to bring us sanity again. And if not wasm, then possibly tools like Rome will make web dev a bit more sane at least.

There was nothing enjoyable about ActiveX.
Agree 100%.
What really still bugs me, was that it was much easier to build an application on NeXTSTEP in the early 90's than it is today with the modern web.