What keeps you motivated?
The vast majority of software projects fail. Honestly, I can't remember ever in my career working on a project I really believed in.
Sometimes I do enjoy the challenge of doing the impossible. Turning a doomed project around or at least minimizing damage. I had some where I thought "this worked out but if anyone but me had been in charge, yeah this would have been a disaster". That feeds my ego. Though I never ever get any thanks from management or any praise. Though this is more of a German culture thing.
There is a reason why burn out is so high in software dev. You are set up to constantly fail. If you succeed against all odds you get more and harder work until you fail.
You got to focus on yourself and find joy in the little challenges. Don't fret over things that you can't change.
The one time a project was heading to failure I went to the VP and explained the sabotage I was seeing. This was a very lucrative contract and failure was not an option.
He pulled that manager and his team so far off they had a new office on the moon. They were pulling non-sense like submitting the pseudo code I white boarded as a commit.
Two weeks in and I’m still explaining to them the plan.
Despite the setback I pulled off a mammoth project and strategically moved in devs to areas where they could succeed. If they slowed me down they were given the boot.
Success sometimes just takes drive.
All of this stuff can be remarkably ephemeral, farts in the wind even, and all you can do is take pride in what you did when you did it, and then take on the next challenge.
Sounds depressing if you frame it up a certain way, but it's actually really freeing to just give in completely to the process and treat it like the weather: you're gonna get everything from sunshine to rain to snow to hurricanes, and none of it is in your control. Just enjoy it while it's good, and ride it out when it's not! There's always something new on the horizon.
The paycheck is a big motivation, as is "the rest of the work is enjoyable enough to overlook things I disagree with". Work is rarely 100% aligned with every employee's thoughts, so I think this is actually normal. Not ideal, obviously, but normal.
It's why a hierarchy actually does make some sense - alignment is rarely perfect, so choosing a single path and saying "everyone needs to get on board, that's why we pay you" can in fact be better for everyone, rather than bikeshedding everything to death. It can and very frequently does cause rather obvious severe problems, but it's capable of improving some things.
I've been at my current company for ~4 years. Every January the upper management folks kick off the same project and every year it dies in the planning/discussion phase. Maybe one or two other "big" projects or initiatives will "start," but it's always the same: lots of meetings between the managers without the engineers or designers, lots of hype about the "big project," meetings start to get delayed, roadmaps and plans never materialize, then people stop talking about the project altogether. Sometimes I buy into the hype because I believe in the projects, other times I try to point out issues/risks. Either way the engineering team as a whole is always ignored.
What keeps me motivated is doing what I can for the people who _actually appreciate_ what I do. I work in manufacturing and spend a lot of time talking to the people on the factory floor. There's nothing better than hearing about their struggles and then a few days or weeks later coming back to them with "Hey, I heard you saying you're having an issue with X, so I made Y. Want to try it out and see if it makes things easier?" And then when they stop by my desk to say "Hey sibit Y is awesome!". That makes the job just tolerable enough to not leave.
Before the pandemic, I used to work doing software for a manufacturing startup and _loved_ that part of it.
I loved hacking something up for the folks on the floor that helped them automate some tedium. They were always so appreciative, not just of the result but also the attention we paid them.
Most of them came from "traditional" manufacturing backgrounds and the way they told it, it was like we were the first software people to ever pay attention to them and the issues they were experiencing.
We weren't even building crazy stuff for them. Most of it was pretty simple, but the bar was _so low_ they were always amazed whenever we were able to give them _anything_ that helped. It was awesome.
"Fulfilling" work is a rarity afforded by a fairly unique time and place in history. For the rest of us, work is a means to an end and ideally a fulfilling life outside work lets you keep plugging away on some rich idiot's hare brained scheme so you can keep living that fulfilling life outside work. 12 years in and I've not had a single project I worked on reach its own benchmark for success. No fault of mine, just the wrong ideas at the wrong time and place. A day late and a dollar short, all those other euphemisms.
Needing money to pay the bills/mortgage and getting good money at that, then fulfilment out of personal projects get’s me through.
Not good for mental health when you know your work can be better but sometimes needs must and a job is a job.
I'm always delighted if the software that I wrote ends up on virtual scrap heap.
The paycheck. I had never expected work to NOT be depressing by definition, though. The only reason I'm working on what my employee wants me to is because I can't afford to live otherwise. They'll get the minimal effort needed for me to not get fired, but not a single minute more.
That is the point where suddenly people listen.
But since 2008, I’ve always “kept my running shoes around my neck”. I’m always prepared to get a new job when the pay/bullshit ratio is going in the wrong direction.