There’s a trap here which is thinking it’s all crap so I may as well not try. It’s seductive but quite poinsonous to the organization and to the individual.
"Appreciate the feedback but we got this covered. Please resume your duties."
> 2. Recruit some good people
Did you miss the part where I said that my comment is from the point of view of a working programmer and not an executive?
> 3. Suggest and execute some positive changes
See my reply to your (1) above.
> “there’s this thing called source control and it’s great…”
"Don't be a condescending smart-ass please, you are not being a team player right now."
> “seems like the reports we built aren’t that useful—how can we make this better”
"They work well enough for us and we have no time budget for any modifications, and we are not convinced the said modifications are necessary at all".
---
Your move.
Making a difference can only happen in small tight-knit teams.
I have come across so many government teams that say they want to start using version control... as if someone has been stopping them all these years! If they were serious, they'd just do it, so you're better off just looking at what they're doing than talking.
At one point people started asking why I have 3 contracts in a single year.
Checkmate.
What would you do?
The secret is - and this is wielded a million times a day in a million small ways - of course we do. Lots of people do in lots of jobs, whether intended or not.
You just do the thing. You don't ask about doing the thing, you don't put in a project planning proposal, you don't beg your manager to devote 20% of your time to the thing, you just go and do it because you probably can. And as long as you do it, and it goes well, and nobody really notices until it's working, then it turns out you did have executive powers the whole time.
Just do the thing. Ask forgiveness, not permission.
the least bad case is that you realize why nobody wanted to go ahead with your proposal in the first place but you caused no harm other than wasting several months of your own effort.
the worst case obviously is that you caused a huge amount of problems for the firm and people are aware of where those problems came from.
But yeah, I've done it.
For example, is there some process improvement, monitoring tool or logging solution that would reduce firefighting? Something that would immediately help you solve the next issue more easily? Do it while working the issue? Can you rewrite the tickets so they are no longer poorly planned, making them easier and quicker to implement? Do it while working on the issue.
When work is not optimal due to time pressure, there are probably costs related with that. Saving time and resources requires longer-term perspective and making some investment. But often there are things that require only smallish investment, that you can do.
When you save time or resources for your company, re-invest those into some little bit bigger improvements. If you take flexibility and get good results, you will probably be granted more flexibility.
I do this so regularly it is kind of a second nature to me. Sometimes is backfires, but if you really know what you are doing, mostly you will be fine. Might even get rewarded or promoted.
Well, they are not experts. They are not even at the level of informed amateurs. But they have the power.
What would you do?
Sure, there are good companies and you can switch until you find one but let's recognize that statistically speaking this absolutely does not scale -- likely maximum 20% of the programmer workforce can do that. Maybe even only 10%.
So again, what would you do?