Being micromanaged. I can't think of a faster way to get a developer to leave a company, team or project is to micromanage them to the point where they can't work freely.
We're all adults. Treats us like adults.
Working on really unclear code, like bad style, architecture, encapsulation...
Having to consistently write such code due to time constraints is even worse.
I don't mean the occasional pressing deadline or small mistakes, but code that is almost impossible to read and any change will have unpredictable side effects all across the system.
You know it's just going to be less maintainable every month and will eventually be 90% bugfixing with few new features. Not really motivating to contribute to such shortsightedness.
I consider to be really demotivating that you work really hard on an idea or project, alone or in a team, and in the end the project dies or fails because of external reasons.
In a work environment, those external reasons could be wrong decision taking by upper management or founders. Like when they try to achieve so many things at once or don't focus on what's really important.
That's something really demotivating and could be more if you'd like the project you're or were building.
In the end, this is why it's important to understand how MVPs work, how they help removing ambiguity from software projects, and know how to properly fight or educate company clients on what's best for them and their project.
With me, it's futility. So if you've worked on something for weeks and weeks and it's not used later. Often it is the case that you knew it before, but then you should implement it anyway.
Here are a few things that demotivate developers:
There's definitely more. I can only think of these right now. :)
You are 100% right!
Moralist Festus
I am Moralist Festus. I love writing JavaScript and Python, a Software Developer and Exploring Data Analysts in Tech. Open Source Developer
Here I few things I experienced that demotivate developers
1) Imposter Syndrome: Thinking others are better than you.
2) Not getting expected results: Imagine for hours you have been on a particular projects trying to solve things out and later didn't work out. Kinda stressful and might caused frustrations but determination should keep you going.
3) Jumping from one language to another: In some ways this caused demotivation. Imagine, seeing your colleagues growing better in a particular language whereby you keep jumping from one to another. You'll feel discomforts about yourself.
Those are my points though.