Software and burnout, how to get gratification?

9 points by anon1253 ↗ HN
This is a bit of a confession I guess: I've never worked on software that actually got used. I'm 29, and I'm seriously considering a career switch. Since I was 12 I've been glued to various screens. Saw the advent of the internet, the rise of smartphones, and not one but two AI booms. In 2010 I finished my undergraduate in Artificial Intelligence, and went into the big world (with a sidestep PhD in Epidemiology/Genetics that I never finished). But here's the thing, in all those years of programming (PHP, Javascript, Java, R, Clojure(Script)...roughly in that order) I've never made something that had actual users. I started off with various websites, which were fun, but not very profitable. Went on to do more "complex" things. A startup on web annotations that got nowhere, a system for preference based group formation (think meetings, parties, etc). Software that does Bayesian statistics for randomized controlled trials, web applications that do Natural Language Processing and Machine Learning on PDFs of academic literature. And now a vast tool that does semantic search and analytics on medical publications. The catch: no one uses them. And it's silly, you can follow all the best practices, do everything right, and still it's utterly useless. The past few months I've been wondering: is it really worth it? Where's the fun in all these high-brow advanced pieces of software. I know, somewhere, that it's about validation, finding a niche, etc. But really, where are the people who enjoy what I make? It would be nice for a change to find those. And, I've gotten increasingly cynical about it: most software is really just about nothing. Unit tests, e2e tests, type safety, distributed computing, etc, I've gotten the feeling that it's all about nothing. I just wonder what it's like to work on something with actual users sometime. Maybe I just suck at my job, time for a career switch?

6 comments

[ 27.9 ms ] story [ 692 ms ] thread
I find it ironic that you blame software when really it is your selection of projects & companies, and you say this out loud.

Your software isn't being used. That sucks. The feeling must suck.

A car maker who builds something for 0 drivers will be sad. A dentist with 0 clients will be sad. Etc, etc.

Go to a big company that has users, and see what that does!

Let's say Series C/D+ -- $100m+ raised.

If you want more users, focus on consumer companies. If you care more about the business making great profits, focus on B2B.

That's fair. You kinda get stuck in a certain "mode" though. You start to self-identify with the things you do "I make data science tools for medical informatics". And it's sort of blinding, in a sense. If I enumerate my skills on a CV, the types of companies that would identify with them are in the same space. Doing something else, say games, apps, whatever it is that people "enjoy" interacting with: I'd need to start at the bottom again. No longer senior engineer/team lead ... but rather that young newb. That's frightening too.
You don't need to start from scratch in terms of pay or seniority. It's quite possible to get senior positions in different tech stacks than the one you know best. The first few months on the job will be stressful, but that will pass.
> Went on to do more "complex" things

Have you considered moving in the other direction? There's lots of work -- and value -- in bog-standard software with no mathematical/statistical/computational cleverness. Occasionally you can see an opportunity to fruitfully apply a mildly clever quantitative technique and see it actually get used -- but >95% of the time there's usually necessary grunt work to do.

How about trying contract work on enterprise software projects? E.g. pick a huge boring-sounding enterprise that has some weird legacy* software systems built for internal use. If you find the right one, they will have (1) users who use the system every day to do their job, and (2) lashings of technical debt, and they may be quite excited to have anyone on board to push forward efforts in "unit testing" or "continuous integration" or "implementing exception handling correctly".

inspiration:

https://www.butternotes.com/blog/catfish-programmers

http://edw519.posthaven.com/willie-sutton-would-be-an-enterp...

* legacy doesn't necessarily mean old -- maybe the system uses some trendy new tech stack, but no one wrote any tests, and the first wave of contractors already left

I've felt like this in the past and it's a tragedy of modern times that so many smart, hardworking people feel this way, not just about software but their careers in general.

I agree that having no users has caused some or even most of your anguish and that needs to be fixed but I disagree that joining a large company with customers will necessarily make you that much happier in the long run. In the short-term it may help and perhaps it's something you should try but down the road you'll start to feel like an inconsequential small cog in a machine and possibly end up back at this state of mind again.

If you want tickets to fix, join a digital agency. Ask what kind of clients they nurture. Media is good. You want to work making NBC apps for Android. Things like that. You will reach millions.

Such a change might bring a different type of stress. The feeling that you're helping lobotomize a generation with mindless entertainment instead of helping cure cancer. Also, the tickets.