4 ms·
When I joined the .NET team in 2015, we were rounding out the first arc of the journey to be truly cross-platform, and June of 2016 released a 1.0. It was an ab
by phillipcarter 3y ago
When I joined the .NET team in 2015, we were rounding out the first arc of the journey to be truly cross-platform, and June of 2016 released a 1.0. It was an absolute mess of a release, but it actually happened. You can bet your ass that "go after startups" was a part of the strategy - in my first team meeting we literally all read a blog post about how Go was picked over C# at Parse. I'm sure our execution of that strategy could have gone better, but it could have been a lot worse too.
Since then, I learned a great deal about how inertia within developer communities works. Every single year I'd speak with a skeptic and they'd have a "reason" not to use .NET that wasn't true. Eventually they'd land on a reason that was true, and in most cases, we were already working on it. We'd even find some past skeptics say publicly how they started paying attention, picked up the tech, and loved it. Fast forward to 2020 and pretty much every possible reason that isn't purely idealogical evaporated because we (hundreds of us) did an immense amount of extremely hard work. But by and large, the perception is still there.
The reality is that .NET was a Windows technology for a long time, operating in a space ("the enterprise") that's a wholly separate universe from startups. And people bring what they know into companies; they don't usually try to learn new languages or tech unless it's required for their job. And that's created a feedback cycle where .NET is outside the startup and high tech scene.
Yes, there's warts (don't get me started on how MSBuild isn't deterministic, although you likely wouldn't have known that...), but few people run into them. Yes, there's missing packages for some stuff but that gap closes every year. It's not about that. It's about a cultural feedback cycle that .NET is simply not a part of. The bet was that we could build great tech that works in most environments, sprinkle some marketing on it, and people will pick it up. That's largely not happened. Most of modern .NET is still in the same space that Windows .NET was, it's just that it's kept pace with (and sometimes led) the modernization of general tech in that space. That's largely fine because there's millions of developers there.
- tester756 3y ago>Every single year I'd speak with a skeptic and they'd have a "reason" not to use .NET that wasn't true. Having to argue with people about how well dotnet runs on Linux after having it deployed on Linux for 6-7 years sucks as hell
- qingcharles 3y agoWhat are the issues you have with it? I'm running MS' Kestrel web server executing C# web code and it's been great for me.
- tester756 3y agoI have problems with people who act as if .net wasnt running well on Linux.
- jmaker 3y agoPerhaps we’re looking at different time frames or different locations, but as for your last paragraph, I’ve observed a qualitative shift in .NET job postings over the past two years. Several years ago, lots of jobs used to be posted by the proverbial .NET sweatshops and outstaffing agencies. These days, quite the opposite—lots of greenfield projects, lots of enterprise projects not even running on Microsoft software infrastructure, that is, not based on Windows and not related to document processing on the Office suites, not even on Azure. Great salaries. I’ve found Microsoft’s developer-targeted marketing campaigns rather annoying. But it’s been professional and even fascinating from the point of view of marketing proper. What I disliked was the few occasions of overreach against the community. I think .NET has been gaining traction, albeit not uniformly across the world and not at a fast pace, which is reasonable due to the already huge community—you just don’t get to grow that fast in relative terms when you’re already this huge.