That sounds pretty similar to another place I worked that I have very mixed feelings about. There are a lot of paradoxes that need to be resolved there that weren't quite worked out.

For example: While an IC could technically just start doing something that he felt should just get done even if no manager had assigned him that task, it would have taken time away from tasks managers had in fact assigned. Now, while managers weren't allowed to reprimand that IC for doing unassigned tasks on their own initiative, they could reprimand him for not making enough progress on the assigned tasks. Some managers would do this systematically: Like if some work done by one of their underlings popped up somewhere that seemed to have taken a lot of time, they check extra hard (and push extra hard) on whether that individual is also making enough progress on assigned tasks. So, the individual is facing a choice of: Either I don't do any tasks from my own initiative and work normal hours, or I show a lot of initiative and work crazy hours. And people were working "all-in" contracts where they couldn't claim overtime pay.

Prima facie, it's still nice for people who are young and eager to prove themselves by working crazy hours. But the effect isn't what you'd think, namely that they'd get stellar careers out of it. Rather, it made managers less accountable when doing things like incurring technical debt and let them "off the hook" with regard to getting work done that's necessary to do but also a thankless task where the relationship to business objectives is not so visible. For example: automated testing, tooling, code quality, and so forth.

Managers always pushed extra-hard on super-tight project scopes and timelines, incurring technical debt and leaving it to individual developer initiative to pay back the debt. For example, towards the end of a project an IC might say to a manager "Okay, the functionality is there. Now let me just spend another week here to write some unit tests." The manager might say: "Sorry, no can do, I have another important project I need you to do and get started with right way."

We basically had one IC who worked himself silly keeping the test suite in good shape, writing unit tests for everybody else who hadn't written any. He was doing incredibly important work. But all the people around him got much better careers out of just doing highly-visible high-impact work that important managers needed to get done. When that IC, predictably left, unit tests were simply no longer maintained.

It's like when Bill Gates comes into a 3rd world country and just starts running healthcare out of his own pocket, and the government of that country is like: Thanks man. Now we (the "legitimate" rulers) no longer have to take care of this stuff, and are free to send even more of that tax money off to our swiss bank accounts.

There is also a paradox around "working in the open" and "overcommunicating" while being receptive to "gentle redirects", namely: What you actually want from bottom-up-ness and from empowering individuals is a pool of many people thinking independently and bringing their individual creativities to the task. But what you actually end up with is installing "group think" in every individual's mind. Because an IC who works openly in a way that goes against the grain of what managers want will just start hearing a lot of noes, sometimes soft-noes ("redirects"), sometimes hard noes ("vetoes"), and whenever that happens it works against that person's career. So the IC starts to internalize their managers' (or the whole group's) thinking, and starts to only do things that line up with that groupthink. -- See the book "Disciplined Minds" for a deeper explanation of how that comes about.

In one cycle, I even got performance feedback as part of the yearly performance evaluation which was saying "Unfortunately, we can't give you a raise this cycle. With regard to your stated career objective of stepping up from IC to manager we need to unfortunately tell you that this will not be happening this cycle. Here are some of the reasons: ..." And then the stated reasons are basically opinions that I have voiced that go against groupthink. Like if I spent a lot of time writing unit tests while everyone else thinks unit tests are a waste of time, it might say "You need to learn to be more pragmatic and waste less time on unit tests." I can't tell you how mad this made me. You can't, on one hand, preach this openness rhetoric and encourage people to always voice their opinions, and then use their opinions against them and punish them for "thoughtcrime".

Game-theoretically, the the strategy of playing as a "political animal" dominates the strategy openness. So it creates better outcomes for you, regardless of whether others are also playing as political animals or are being open.

So, personally, I really felt I got suckered into playing the "openness" game, making myself vulnerable, while the people in the informal/actual power structure just exploited my vulnerability to cement their own power and impose their will on everyone. It's not an experience I care to repeat, and I won't make that mistake again.