> Programmers who don't see the value of immutability or can't understand it are not programmers you really want to work with.
I'm not disagreeing with you, but since you just described easily 90%+ of all working programmers, it's kind of unavoidable.
One place I worked, one of the lead engineers knew I was into functional programming and asked me if I thought it would be a good idea to introduce Scala or Clojure into our pure Java code base. I said "No. The majority of the programmers here couldn't make the adjustment."
Put another way, if I could assemble a hand-picked team of all of the engineers I would rate as "great" who I've worked with over my 12+ year career thus far -- I'd have a team of about 7 people.
I know plenty of productive programmers who aren't even computer science majors, and just work in Javascript and Python.
And I also know people who code in Rust and Haskell, and can never meet a deadline.
Theoretical chops doesn't make a good programmer. Knowing that immutability is a good thing and abandoning the imperative style, or even being comfortable with a functional style, isn't a prerequisite to being productive in most organizations.
Programmers who don't see the value of immutability or can't understand it are not programmers you really want to work with.