Hacker News new | ask | show | jobs
by bruce511 563 days ago
Since the article jumps around a lot, let me add one more;

Software is an amazing passion, but a terrible job.

Imagine you love music, play the piano for hours every day, then once you grow up someone pays you a huge salary just to play. You're in heaven.

Now imagine someone who loves classical music, but can't play. You see the fortunes being made by piano players, so you decide to learn. Which takes years of doing tedious stuff like learning scales. Then you get a job playing hip-hop (a music style you abhore) for a band you don't like... Then you discover the business crap of "music business".

Programming is the same. If you love it, it's fantastic. But to those in it for the salary it's a mind-numbing hunt for tiny bugs, days spent searching for a missing comma, wading through the same old crud, doing the same task over and over, locked to a desk, dealing with sub-par teammates, inflexible management, projects that get canceled, crunch time, stupid users (and I can go on.)

The passionate thrive because the joy dwarfs the pain. (Also, because they tend to be -very- good so can largely ignore the bullshit. They're paid well doing something they'd do for free.

As a -job- though, every part of it is objectively terrible. From the interview to the firing. (Go on, write a job description of what you do all day. Now consider that description in light of someone who doesn't actually -like- programming...it's terrible right?)

Naturally there's good money in it. If it's not your passion, then by all means, do it for the money. Find your joy elsewhere, that's OK, but do find it. Because without that joy elsewhere, what good is all the money in the world?

9 comments

This is really spot on. I realized how soul sucking it was after I got a teaching job. It was low pay English teaching in Japan but I felt a kind of joy, playfulness, humanity and a stress-free life I never experienced in working in tech. I've since gone back to tech and miss my students so much. Don't think I'll ever get that feeling at my current corporate job. I also ended up making way more side projects since my programming brain wasn't being used all day.
I spend a lot of time talking to non-I.T people due to my partner being a veterinarian and the local improv/music scene. The absolute disdain people have for the idea of sitting at a desk and taking orders from pointy-haired manager is humbling. They're very envious of things like remote work, etc, so we have it pretty cool in lots of ways, but I think there's something to learn for many programmers on the mental health/spirituality front from that contempt.

The happiest psychologist I know is many, many times more content than the happiest programmer I know at a corporate job. The most passionate software engineers I know might be able to claim similar joy, but they have overwhelmingly quit their corporate gigs and fly solo.

"contempt" isn't the word I'd used to describe my feelings towards this existence. It would be more like a deep, existential sadness. That life can fall into these local minimums of optimization - where everything is, on average, good.

- I'm happy, but not very

- I'm financially successful, but not very

- I like what I do, but too much

- I'm comfortable, but not too comfortable.

It's like my entire personality, likes, and dislikes have been smeared into a 2-dimensional caricature and propped up by a couple supports, for everyone to see and admire. This sort of existence is safe, inoffensive, and unremarkable.

Love your blog btw, it gives me confidence to be more like myself in my own life.

>I'm financially successful, but not very

I read about some research recently where the researcher asked people how much money they earned and how much they would need to feel financially secure. No matter how much they earned they all felt they needed about 50% more.

It seems we are programmed to feel mildly dissatisfied no matter what our circumstances. I guess that is what drives us on.

This point of view is very popular and I've seen zero evidence for it throughout my entire life. Consider you might be living in a bubble where "the hedonistic treadmill" tired trope makes perfect sense... and that bubble is fairly small. Ever thought of it?

Practically every person I ever asked told me more or less this:

"Yeah sure, who would not want 100K a month? But I am not willing to forfeit my personal and family life for it and that kind of money always comes with a catch. Nah man. I'd be happy with 20K a month but it ain't ever happening while there's always the next a-hole CEO who wants a bigger yacht than his bros in the golf club."

So yeah, I heard your take many times and I have not seen it out there. Not once.

I’m not sure whether you are agreeing or disagreeing with the points I made.

Or perhaps you just had something you wanted to get off your chest.

>> The most passionate software engineers I know might be able to claim similar joy, but they have overwhelmingly quit their corporate gigs and fly solo.

Yes, I'd agree with this. You make more money in a corporate gig, but if you're doing it for passion, not money, then the money doesn't overcome the corporate shackles.

> The most passionate software engineers I know might be able to claim similar joy, but they have overwhelmingly quit their corporate gigs and fly solo.

I have done the solo thing and have come to realize I much prefer coding for others. There’s just too much annoying bullshit in running a business and I don’t need to deal with almost any of that as an employee despite getting basically all the same freedom, impact, and influence as a high level engineer.

There’s even a point where things switch from your boss telling you what to do to your boss asking you what to do.

Agreed. Managing, fundraising, legal, roadmaps, payroll, hiring, sales, marketing, customer support etc. If you're a coder running a company, it's likely you might not get to code at all, or ever again if you're very successful. I wouldn't do my own business if my hope was to be more hands-on with software dev unless you find a partner to whom you outsource all of the above, but now you're back to the situation where you don't have full control anymore.

If you're happy with not having a bigger slice of the pie, it's easier to just focus on SWE as an employee and let someone else figure out all of the other stuff unless you really crave the company building aspect.

> If you're happy with not having a bigger slice of the pie

Not to mention a smaller slice of a way bigger pie can still be a lot bigger in absolute terms. With much lower risk.

Indeed.
> There’s even a point where things switch from your boss telling you what to do to your boss asking you what to do.

How? Actionable step by step, please. Measurable, with before-and-after descriptions.

Step 1. Figure out how to accomplish higher-level goals where the details haven’t been fleshed out yet.

Step 2. If you are still relying on steps, you did not actually complete Step 1.

Is this referring to the mythical "go above and beyond and you will be recognized"?

If so, quite humorous.

Why don’t you go back to teaching? Is it the money?
The main factor was the extremely low pay. Weird schedule too. (I worked in a conversational school, so not really even a teacher). Unless you work in international schools, you won't be making much more than minimum wage. It's a lot of fun though. I'd happily do it for possibly my whole life if the pay was better or I had another source of passive income.
You can also teach your skill. I do that, although not full time, but there is money to be made. If you are reasonably good at your craft you can teach novices and you can make sure they get their money's worth. Or give training at a company. I teach creative coding for lighting designers and vj's and if I could do it every day of the year it would net me a good income. However, the market is too small to live off.
I work with a bunch of people who fit into this mind set.

My view is that they want to play and not work to get things done.

I also see it as we are engineers first and foremost and we use a software language as a tool to solve a problem.

I’m also a musician who had the chance to make a living in audio production and nothing is worse than working on other peoples tedious projects, so decided to keep the art I love for myself and have a much better paid career in tech.

I guess it’s the opposite of what you’re saying.

Sounds like you need to find another job!

> My view is that they want to play and not work to get things done.

Nope, not at all. It's people who got sick of being sheep-herded into assembly-line processes. That you don't want to be an assembly-line does not automatically put you at the other extreme (namely the divas who want to only work on pet problems and get paid a lot).

You seem to have a terrible job, you should fix that.

Meanwhile many people happily make a living programming in a mostly stress-free, creative environment where every day brings new challenges and the codebase is well ordered and easy to navigate.

Also, tracking down bugs is fun! I can see how it would not be fun in a terrible codebase and have experienced that side of things, but nobody is forcing you to work at a particular company.

> but nobody is forcing you to work at a particular company.

It really isn't all that simple. I felt the same way when I was younger - "just switch jobs yo" - but as I grow up I realize that there are increasingly many external life factors forcing people into an unhealthy work environments which can be outside their control.

I work in a shitty legacy PHP codebase, but I do it for the great money and can accept the pain willingly. It is much easier to tolerate things when you know there is an exit nearby, but I imagine people can get much more jaded when their visa depends on the shitty employer, debts loom over their head, medical costs are piling up, kids require feeding every month etc.

It really is that simple and as I reach the end of my career I appreciate that more.

Life is too short to stay in bad situations for a long time. Of course it’s sometimes hard to move/switch job but it’s never impossible and why spend most of your waking life on something you hate with unremitting passion like the OP?

> Life is too short to stay in bad situations for a long time

Life is also too short to get evicted of "your" house (that the bank actually owns) when you miss 3 mortgage payments because you left because "life is too short to stay in bad situations".

Don’t do that then. You can wait to leave a job till you have another lined up. It’s not always easy or simple but it’s certainly possible.
I am forgiven to have been exhausted by the grind and for trying to be loyal and go all-in where I am hired.

Wait, it turned out I am not forgiven and just taken advantage of.

So yeah, I am trying. Not easy by any means. But lesson learned, though way too late in my life and career. I'll definitely be doing that going forward.

> You seem to have a terrible job, you should fix that.

You hiring?

Because what your parent commenter describes are at least 90% of all programming jobs. Everywhere. And I am being generous by not saying 98% because it's likely closer to that number.

"Many people" could be true only in the absolute numerical sense of the world. Say, 500K out of the dozens of millions.

Your comment resonates with me a lot. I have a passion for programming, as evidenced by my website. I have a history of jobs that pay well (as far as Canada goes). But every job has been rather boring and have not been a good fit for my skills. Instead of doing deep technical work, I get to deal with ever-shifting requirements, poor communication, and almost nonexistent project management.
I feel similarly.
The funny thing is 15 years ago, programming was nearly everyone's passion for those that were in the field. There were very few "job" type programmers. Not the case today.
I’d say the same thing except about 25-30 years ago and definitely not 15, which suggests to me that both of us suffer from observer bias and likely there’s always been a real mix of programmers who were really into it and others who were only after a job. Perhaps the proportion of uninterested programmers has increased though.
A lot of people heard there is money in programming so they did the bare minimum and landed a job.

The managers who hired them were not complete idiots, mind you. They knew what they were getting but they are playing their own games: they need the bigger head-count, they want to hire their cousin to oversee these sub-par programmers, they want to be seen as professional when they inevitably have to ask for external consulting when their underlings crap the bed on a regular basis, etc.

But it's mostly power play, I found, almost on a sexual kink level. A lot of people in power out there will hire you if you are meek and can't stand up for yourself. Really weird.

Having hired more than a few people, I'll suggest a much simpler reason. These programmers might just do the bare minimum, but that bare minimum is enough to accomplish the job we need them to do, and we can stop interviewing and get back to work.
It probably follows the booms and busts of the industry. Boom times encourage people to enter the industry whether they are interested or not. During a bust you will only get people who are interested in the subject for its own sake.
Tends to happen when the bean counters take over every position of power.

Everywhere they go, only one thing ever happens: an assembly line. They will work tirelessly to make each and every business and department that.

15 years ago, we were saying the same thing :-)
Write a job description.

Now consider it from a perspective of someone who hates the job.

They hate the job, right?

This works for any job.

Like all crafts it depends on your market position.

If you're good enough to have more control over the terms of your indenture then it's a pretty solid career. The complaints you level are the same for any job where you're not trusted with much autonomy.

> Software is an amazing passion, but a terrible job.

Very well said! And it is all the Software Industry's fault.

When i look back at the noob me decades ago, i see a young'un full of energy, enthusiasm, curiosity and a hunger to learn anything and everything, knowledge for knowledge's sake, to prove oneself to the world and in general a would-be World Conqueror.

So what happened in the subsequent decades that lead to the current cynical fuddy-duddy? The battle in the trenches of "Software Industry" happened. The battlefield was stacked against him in every way possible, viz; He was told Knowledge acquisition without a Business Goal/Money was worthless, People clearly unqualified in the domain were appointed as his Managers and gave orders, His curiosity was curtailed, He was subject to inane and brain-dead management processes, His self-worth was actively diminished by denying his uniqueness and being explicitly treated as a mere inconsequential cog-in-the-wheel etc. etc.

So the grizzled veteran retreated from the battlefield, worked on getting back that "original beginner mindset", rekindle the passion, and vowing to never again allow himself to be put in such a situation even though he might be poorer for it.

> The passionate thrive because the joy dwarfs the pain. (Also, because they tend to be -very- good so can largely ignore the bullshit. They're paid well doing something they'd do for free.

I've thought to myself many times that I still can't believe someone is paying me to code, whether that's an investor or an employer. I happily do it for free even when unemployed, or practically for free for years on end when working on early stage startups as a co-founder. I've often wondered what this must feel like for people who don't actually like any of it, when for many of us it feels like play.