The years that I worked at Microsoft were a particularly fascinating time for the company (still is, actually). The company was looking for its new purpose in life, beyond the reliance on the cash cows of Windows and Office. One of the things that struck me as odd, coming from the outside, was the arrogance with which a lot of people approached software development. "This is how it's done, this is software development," they would tell me. I would shake my head, as someone who worked in teams that delivered software on a monthly or even more frequent basis, because these words would come from people who shipped software once a year, at best. In their minds, all of the overhead, armies of people, thousands of meetings... this was normal.
The group that I was hired into wasn't like this, of course. We were in the mode of delivering stuff quickly and frequently, and getting feedback from our users constantly. For many of us, especially with experience from outside the bubble, we knew that this was the way the company had to roll in order to evolve, maybe even to survive. I had a lot of conversations with my manager about this, because it was fascinating to see the transition. It drove me a little nuts though that it was slow. I had been in my share of jobs where this need for change was urgent, and I was impatient.
My boss had been at it though for about a decade. His advice on the topic has stuck with me, too. He was effective because he was patient, and methodically built consensus, one small victory at a time. He formalized what I suppose I always knew: You can't show up among other people and expect a revolution. It's true that I have, for much of my adult life, not really practiced this, and probably pissed off more than my share of people. In my current and previous job, something clicked, and I became an effective agent of change myself, and I'm proud of the things I've accomplished. Getting people to come around to your way of thinking is a slow process, and you undoubtedly have to make some compromises, but you can get it done.
This seems like an important topic in light of the current political climate. Putting aside all of the hateful, divisive dipshittery for a moment, the strong convictions of a portion of the Bernie Sanders fans have turned bitter and unable to "settle" for anything less than their guy and his policy. It's not fair for me to characterize this as immature idealism, because being an idealist is what most people do in their younger years. Experience is what gets you to my point of not going for the revolution. Revolutions fail most of the time, and that's true throughout history. But incremental change, that's possible, and as time passes, you can move the world closer to your ideals. That's how it's done. "Fuck the system" is masochistic, and it causes you more pain and angst. Working the system, bending it and changing it gradually, works.
Small victories. That's how you change the world when not everyone agrees with you.