This is an intriguing peek into some upper echelon MS politics. He notes he got busted down from L69 to L68 - L68 is a significant cutoff inside MS, titled “Partner”. L70 is “Distinguished Engineer”. For recent years, L68 all-in comp is probably right around $1mm a year, although I’m sure that was a bit lower when PowerShell was being written, and much higher in toto if you held on to your RSUs.<p>What surprises me is everything <i>not</i> said here - I know a number of MS Partner-level folks, and they all strike me as perfectly capable of funding and hiding a reasonable-sized team to work on anything they think is important; in fact reducing and removing precisely this practice is one of the reforms Satya has made — getting upper echelon fiefdoms more aligned.<p>So, I think the full story is actually a lot <i>more</i> interesting than the tweets. I’d personally like a short memoir instead of the tweets. In any event, don’t feel too bad for him - he did fine, and PowerShell is one of the features that let Windows stay competitive with Linux as the world transitioned to the cloud.
I'd like to know why Snower accepted abuse from corporate overlords for 5+ years (according to the thread). Being "in the dog house" for that long is ridiculous on the surface. That would never stand in today's world of tech. Is he just oldschool and had the mindset of "the company is always right"? Is he just a company man with intense loyalty? I would understand the company not adopting it and having to spend five years advocating for new tech in a company that large. But I can't understand why being demoted and punished for 5 years. I grew up with a major emphasis on work ethic but I can't wrap my mind around this.
I find this twitter thread frustrating.<p>Q: What was the justification for the demotion? What became of the leaders that made that decision?<p>A: It was stranger than you can possibly imagine<p>I think the gist of the story is that he was assigned to work on X but worked on Y instead. Notwithstanding how great Y idea turned out to be it seems he was demoted for insubordination?
There are probably several thousand, if not more, other former Windows platform admins like me that are absurdly grateful that Snover stuck with his vision, giving us a path to being automation and, later, cloud experts. I've since branched off into DevOps, but up to about 2011/2012, was pigeon-holed as a Windows admin. Doing a few clever things with PowerShell and Active Directory led to my being chosen to work on my company's Skype for Business deployment, then Azure, which led to Kubernetes and DevOps.<p>Having an immediate work-related reason to learn a powerful scripting language means a lot in particular for people who don't have a lot of time to learn things outside of work, like parents (especially mothers) of young children.
Today's tech worker would have quit and launched a startup and have Powershell become the Enterprise "Ansible" add-on of Windows to then subsequently be acquired by Microsoft for [m|b]illions..
I've often wondered why powershell hasnt taken off on linux/mac. I'd guess MS would have a good case for investing there (given, eg., linux usage on azure).<p>Particularly in the recent history of "every day, another shell" on linux/mac. Powershell seems to solve the problem being resolved in rust,go,scala,... over-and-over. Why not just use that?
In the late 2000s or early 2010s is when I first read about PowerShell (v1? it was still bleeding edge) and my jaws dropped.<p>Ability to work with both .NET and COM objects? Piping objects and not strings?<p>Absolutely amazing and useful tech, and I had to reread to
make sure I wasn’t reading about some future plan.<p>I wonder which division pushed hard to demote; the Windows division?
I have worked at Microsoft off and on for more than 20 years and it is insane how many disaster stories boil down to super horrible Windows management.<p>“.NET cross platform?” -> Windows screwed it up<p>“Phones” -> Windows screwed it up<p>“Azure Linux VM” -> Windows screwed it up (but thankful we fired them and fixed it)<p>One of best things Satya has done is essentially fire almost all of these morons.
Question for the more seasoned Mac/Linux folks on HN:<p>Powershell has been a gift in getting things accomplished in Windows. But one thing I've also come to enjoy using it for is quick and dirty interactions and scripting with REST APIs.<p>Things like Invoke-WebRequest, ConvertTo-Json/ConvertFrom-Json, Export-CSV, piping between almost everything, and the results being passed around like an object that I can use SQL-ish Select queries against, etc.<p>I find myself feeling like I'm missing something helpful when I'm on a Mac/Linux device. Is there a similar go to in the Mac/Linux world for this type of stuff? My current thinking is that I either have to start picking up Python or building a mental map of wget/awk/grep type commands that can be chained together for a similar effect, but I thought it best to try to learn from the wisdom of others first :-)
Question for the PowerShell afficionados: Do you consider PowerShell to be "something we can count on to exist on Windows systems, in the absence of Bourne-like shells" - or is it "a superior alternative to Bourne shells which only got traction on Windows because Bourne is too deeply embedded in the Unix world"?
If I had to guess why, maybe because PowerShell is a little “busy”. It always feels unclear whether he was trying to make something similar to Unix Shell or a shell for the .NET environment. It’s greyed somewhere in between in a confusing and inconvenient way. Something as simple as a diff requires using objects, it just doesn’t feel like it was designed with SysAds in mind.<p>My guess was it had to do with marketing, sort of like how JS started off as a Scheme dialect, but higher ups enforced Java Syntax. .NET was pretty new at the time.
Interesting story. I have a love/hate relationship with Powershell. I was proficient in the CMD batch language, but decided to develop a set of SQL scripts in Powershell. With the object integration, it's a good enviornment for Windows; if I need to do anything in Windows, for example color-coded error output, PS does that for me.<p>The object-oriented .NET design did not work for me in preprocessing text files for those SQL queries. PS takes 15 minutes to do what Strawberry Perl (the Windows port of Perl) does in 3 seconds with a one-liner regex. Perl is a better choice for that kind of thing, I know, but the orders of magntiude difference in processing files line-by-line was surprising.<p>I've been contemplating migrating scripts to Python so that we would be environment agnostic, but it's not a priority. (Turns out a LInux cloud instance costs more than a Windows instance. Our company signed a huge deal with Microsoft and everything is being pushed in that direction now.)
In the cosmic sense, the demotion was lenient, considering that he breathed new life into something which is mostly an abomination, & should have been put out of our collective misery long ago. The cybersecurity industry would be a shadow of its current self if it weren't for good old Windows.<p>The ACM needs an "H.P. Lovecraft Award" for such situations.<p><i>Jeffrey Snower: RE-ANIMATOR</i>