Can you imagine how much better it would feel to work on important and needed systems than working on the 100th food delivery app or yet another social media facism incubator?
Can you imagine how much better it would feel to work on important and needed systems than working on the 100th food delivery app or yet another social media facism incubator?
It is difficult to explain but people tend to use the word "bureaucracy" as a catch-all for several dozen discrete problems that crop up in different combinations depending on what level of govt you're operating.
Typical examples might be :
-a developer not having the authority to work on a system
-a developer being ordered to work on a system, but not being given permissions to the necessary tools (even if they're available), or they may prohibit certain common-sense tools, or they may force you to use certain tools.
-a developer being ordered to work on a system where the design is severely irrational, maybe impossible, and but he or she has no authority within the hierarchy to push back on requirements
-a developer being ordered to work on a system that some powerful person wants to see fail
Imagine the "client from hell" that many of us have dealt with before, who doesn't know what they want. Now imagine that person is like 3 levels higher than you, calling the shots, and you're not even allowed to speak to them, much less push back against their crazy expectations.
I work for Ad Hoc (one of these companies) on software projects at the VA, and I'm happy to chat with anyone who's interested to hear more about this kind of work. I left a cushy Google job to work on important and needed systems, and it does feel so much better!
One weird thing we've discovered working on VA.gov for the last five years is that we on the contractor side actually have retained a lot more institutional knowledge than the VA has. It's a problem! We think that knowledge should be on the government side, but the structure isn't there yet: USDS and 18F have rotational term limits that keep people moving through, and at the VA (not sure about other agencies) they're just in the last couple years building out an organization to do that long-term product ownership and institutional knowledge retention, even if implementation teams come through. It's moving in the right direction but it's slow, large-organization change, with a lot of extra slowness that's unique to government.
The top 2-5 layers of management tend to be the types who want solutions, and they don't care how it works, and they don't really want to be bothered with the details.
To the extent they expend thought at all on systems, they tend to be focused primarily on questions like, "why is all this stuff so confusing?" "who do I blame when this thing goes wrong?"
Where I work, they go through cycles; a higher-up will say "Hey let's build a staff of in-house developers." And they'll do that for 2 or 3 years, until someone reads an article in CIO magazine about how outsourcing is superior. Then they'll start unfairly purging and firing developers, writing code is now "bad", configuration is "Good." This goes on for several years, until the cycle starts over. So as a developer, after you survive your first purge, you begin to see that invisibility is the only way to survive.