Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Are Microsoft development stack and Azure a dead-end career path?
89 points by a_brawling_boo on Jan 12, 2022 | hide | past | favorite | 145 comments
I had a recent, lengthy, conversation with a recruiter. He said two things:

1) Microsoft dev stack is really a dead-end, any new startups or even large corporations starting new initiatives are more and more are moving away from any kind of MSF tech or Azure cloud development, and 2) no developer really wants to work with MSF tech.

I have lived in the Microsoft world my entire career, although MSF is increasingly open source/polyglot. Also, I spent a couple of years doing node.js, react, salesforce dev and integrations, Heroku, etc. I found it a breath for fresh air in some ways but lacking in others. And I have to say that I do 'like' working with C# and Azure and the rest, but I am at the point in my career, and with the market the way it is, that I could still possibly make a move and not take a major hit salary-wise, but I probably not for too longer.

For context I am approaching 40 and live in a major US city in the southeast, and I do not have an interest in going into management.




Azure has about 21% market share and revenue of around $15.1bn (sort of, MSFT bundle it with 'Intelligent Services' in their reporting). Someone must be using it. It clearly isn't dead.

Secondly, some recruiters are liars who will tell you literally anything to try to get you to apply for jobs they're recruiting for. A recruiter saying MSFT stack is a dead-end just means they don't have many MSFT stack jobs on their books. If they had one they'd put you forward for it, and not tell you that they think the stack is a dead-end.

MSFT's stack is not going to disappear any time soon. It's growing just like all the rest of the industry. There's definitely no harm in learning other things, but don't write it off if you want to carry on with it either.


Alot of recruiters namely in London are outright liers.

So much so they will have you go through the job process to meet their targets or even when they know better candidates are being put forward.

They employ so many unethical tactics it's best to always check with the company directly if the role still exists.

We work with many recruitment agencies and having seen and heard what I have I no longer would take any at face value if I was on the other end.


And moreover that 21% is trending upwards according to https://www.statista.com/statistics/967365/worldwide-cloud-i...


A lot of early cloud adopters were more "nimble" organisations who didn't have deep ties to MS enterprise agreements. We are now in the phase where those large enterprises have gotten over their early cloud experimentation phase and are migrating for real - which will result in a bit of an MS resurgence I expect.


Any large business that's remotely in competition with Amazon corp is (rightfully) scared by Amazon's use of marketplace sellers' data to compete with them, and don't host on AWS, because they're afraid of Amazon using AWS data(that they have complete access to) to compete with them. So this goes for almost all retailers, grocery stores etc.


Yup, this is why major retailers (Walmart etc) don't use Amazon cloud services and instead use a competitor. I believe Walmart and some other large retailers use Azure but the retail industry in general is split between Azure & GCP for their cloud computing needs because they don't want to feed their competitor.


But the question is if you want to work at the 21% of companies that use Microsoft.

Based on my own experience, you probably don't. They tend to be legacy companies in low-growth areas and lower pay.


While Azure companies do tend to skew "larger enterprise", I don't think it's fair to say they are lower paying. If anything, more Azure-related jobs I have seen a higher-price point on than AWS jobs (in my local sphere). I think this is because Azure has higher demand than supply, and people are less likely to choose it as their primary cloud right out the gate.

It's also worth noting that a lot of consulting companies focus on Azure. This is because of perverse incentives, but still worth noting.


This is simply not true.


I agree. Especially on the Azure part. AWS may be the top dog but there are tons of orgs hosting stuff on Azure. GCP may be the smaller player but has a niche as well.

Sounds like typical recruiter-speak to get you to ignore others and take one of their jobs.


We use the full Stack just like alot of the firms around us, i have a feeling the foss Linux crowd is trying to say otherwise its not popular blabla fact is alot of Dev happens there its not a deadend..


I think the ratio of open-source contributing company ia going to be much lower around the MSFT ecosystem than on others. This does not mean less work or less skills are around, they are just less visible. Case in point: node and the whole JavaScript ecosystem seems to have a bad case of the look-at-me's...


> some recruiters are liars who will tell you literally anything

This has been my experience as well, and on both side of the fence (as a potential hire and as a recruiting manager).

In both case, this does great harm.


Scott Hanselman coined the phrase "Dark Matter Developers" nearly a decade ago (!) [1] to describe the idea that something like "99%" of developers in the world are doing stuff that is "unsexy" and "boring" and "mature" and "gets the job done" and "I can just clock out at 5pm and stop worrying about it".

One of the key complaints about "Dark Matter Developers" is that you mostly don't hear from them (especially on HN): they don't have splashy startups to advertise, they aren't exciting recruiters with the things they claim to be doing. They are getting jobs done and clocking out.

That continues to describe a LOT of the jobs using the Microsoft stack, they are Dark Matter Jobs: they are in almost every industry in the world. They pay well enough, but not too well. They aren't exciting. HN and sometimes Big Shot Recruiters generally have no reason to hear from them (because they hire more directly, or because they only need a couple developers at a time).

The Microsoft Stack jobs will probably always be like that. Just quietly out there (and all around). Numbers and statistics (and revenue) all suggest that there are a lot of them. They just sound like a "dead end" mostly because they are "stable" and "boring".

[1] https://www.hanselman.com/blog/dark-matter-developers-the-un...


My startup sublet from a company that did dark matter development. Not sexy work, but they had low turnover, and tended to be in and out of the office at normal hours.

J. Fogerty, if you're reading this, I miss overhearing your engineering conversations with your colleagues.


I search job site such indeed.com for demands of job categories. (Data driven)

Here are the returns for jobs within 25 miles of where I live (bay area.)

   Keywords       jobs
   ----------------------------
   Azure          3094
   AWS            7408
   Google Cloud   2157
   React          3829     (not cloud tech, but just curious to know.)


I'm not really surprised.

Azure isn't that different from AWS (once you used one cloud, you can pretty much port the fundamentals to another cloud). Sure some components have different names and you might have to use a different language, but it should not be a challenge for any engineer.

The Microsoft Stack is also... not that exotic. C# and Java are both pretty similar, and Microsoft is where TypeScript appeared. And they adopted Git as well in the last decade.

I remember a few years ago a lot of devs preferring C# but who didn't want to commit to Windows Server. With .NET now being cross platform and having good Linux support, I wouldn't be surprised to see more tech company using it.


Right, some of the smartest people I worked with was at a Microsoft shop company. These people don't have public blogs, Twitter handles, or Github repos. All their success was only known internal to the company.


I'm one of those 99% and we're a Microsoft shop.

Would I love to branch out into different stacks and have lots of side projects that I could show off on HN? Sure. But a "stable and boring" 9-5 job gives me the work/life balance that I need.


This is definitely true. If you're lucky enough to be skilled in such a popular stack that does truly become a dead end, you are still winning, because now you're like a COBOL developer today: A rare and precious commodity.


Defense industry and "adjacent" industries software engineering is a HUGE portion of the employment market. And no, they are not typically saying what they are doing on HN.


Dark Matter Devs are a bit like people who have successfully built a life off-grid. You don’t hear from them much. Probably too busy chopping, splitting and stacking wood.


Or rather spending time with their family and friends after clocking out at 4pm without on-call or required overtime. Plus no performance reviews and goals to match for stock incentives to worry about.


TIL I am a Dark Matter Developer. AMA (Yes we use the Azure stack!)


Yep, we sometime forget how lucky we are to be doing 'fun' stuff...

When I worked on Wall St., I did soooo many accounting reports I wanted to pull my hair out :-P I'm guessing most programmers are in that boat, doing maintenance programming for accounting apps, billing apps, etc.

But like you said, it was decent pay and zero stress...


I used to work for a Swedish telecom and observed a Swedish team in that setting. Without anything flashy, without big words and too much noise they had _so much more work_ done in a given week that my current sexy employment, I am still astonished.


While I think most people will agree it's not a dead end tech stack and their will be companies hiring for decades to come there's a element of truth here that isn't being discussed.

From what I can see Microsoft stack is used mostly by enterprises that are not engineering centric.

For all of the largest engineering centric companies that pay top of market only one heavily uses Microsoft....and that is Microsoft. Furthermore most VC funded startups also tend to shy away from Microsoft stacks. (Exception being parts of Azure compatible outside of the MSFT stack and other polyglot tools like VScode)

So while I don't think you need to worry about employability I wouldn't recommend investment in the stack to new graduates. Obviously my perspective is limited so I'm curious to hear counter points.


> From what I can see Microsoft stack is used mostly by enterprises that are not engineering centric.

I'm going to counter this anecdote with my anecdote. I have spent roughly half of my time in the boring world and half in the HN "sexy" tech world. 25 years of programming experience and have had immense failures and some pretty good successes.

Unquestionably, the sexy tech people were—and to this day are—worse technologists than the boring enterprise software people. I have worked at two unicorns.

One of things I believe to be true (and which is probably offensive but here goes) is that the sexy work is a direct result of over-financialization of the sector. It's a form of signaling: "Hey, our business model is so successful we can afford this shitty niche technology and hiring too many people."

There is a direct correlation between people using trendy yet mediocre technology and comments like "let's be practical" and explaining why your software can be worse than it is, because those companies don't actually need technology. As well, the people that manage those organizations are not particularly impressive because they need large groups of people to scale. (It's also why people like a16z can have the gall to claim 10x devs is not a thing, because if it were, the SV model of get-big-quick and hiring huge amount of devs with big capital and unsustainable unit economics would not be a successful proposition.)

Since the late 90s, the governing model has been: "Hey, that's cool what you do. But have you thought about putting it on The Internet?". It's the Portlandia bird sketch but with Put a Web On It. Apply this to Big Data or ML etc. This model has been very good for growth, but it requires absolutely minimal technical expertise.


I feel like there is some true observation you've made, but I can not figure out what it is from this text.

I absolutely agree with your opening statement about the flashy new operations usually being crap engineers, but cannot follow any of the rest or see ho it supports that assertion.

Or what little I can parse, seems backwards from my own experience.

For instance, the most I hear the word "practical" is to justify doing something inefficient but safe, ie use a microsoft product or service and accept it's limitations and cost, or some other safe inefficient choice like vmware before azure was a thing, etc.

So it doesn't support the idea that it's something the ignorant kids say, OR the opposite that the better engineers say it, it's just sort of a non-sequiter or something.

Personally I've grown to hate the word even though of course one has to use it and it's a valid concept to be practical. I just see it way over used to justify predictability over goodness.

The manager types don't really care about advancing anything. They do lip service to the idea of making more money by making something more efficient, but really any change at all is worse than any promised gain. Really they would love nothing better than to just keep cranking the machine they have now exactly the same way forever. They only change by force when the machine stops producing.


> For instance, the most I hear the word "practical" is to justify doing something inefficient but safe, ie use a microsoft product or service and accept it's limitations and cost, or some other safe inefficient choice like vmware before azure was a thing, etc.

Sure, I hear you and I've experienced this too. I've been on nightmare ASP.net spaghetti code projects that would be good fodder for programming sites. VB projects that are a stitched-together set of tools with a frontend full of a million buttons, etc.

But on the flip side, have you never worked at a company full of Ruby/PHP/Python engineers that have trouble getting their software to build and run correctly? People with billions of dollars who find the prospect of putting something on a web page—for a business model that has existed for a century—challenging? I have many times, and it's a reflection of how insular that segment of the industry is that they don't find anything weird about this.

In contrast, there's an army of JVM engineers out there that don't spend any time on HN because the JVM solved the problems HN talks about 20 years ago. They don't need to talk about it or consider it "news" because it isn't. For instance, the technical level of InfoQ is whole echelons higher than here. This is not to disparage the very real benefits that the "Hacker" mentality has provided to the world. SV are accomplished business and product people, and they've managed to impress the world with the type of organizational scale they can deliver. But technical it ain't.


"have you never worked at a company full of Ruby/PHP/Python engineers that have trouble getting their software to build and run correctly? People with billions of dollars who find the prospect of putting something on a web page—for a business model that has existed for a century—challenging?"

Ohhhh yeah. Yes.


> One of things I believe to be true (and which is probably offensive but here goes) is that the sexy work is a direct result of over-financialization of the sector. It's a form of signaling: "Hey, our business model is so successful we can afford this shitty niche technology and hiring too many people."

How much of that was a result of companies wanting to use Linux server-side and MS not supporting it?


Truthfully, I don't think that has much to do with it. There is a real cultural difference between the MS ecosystem, Linux or no, and the traditional open source ecosystem.

I was simultaneously an open source advocate (using FreeBSD 3.0) back at the point when NT4 was supposed to take over the world, and using VB and the Microsoft JVM. Back then and still today there's a lot of cruft with the MS ecosystem.

What I'm getting at is if you look at truly advanced software and what might be called "engineering" practices, there seems to be no correlation with marketing hype. Cosmos is to me the most advanced cloud NoSQL database out there feature-for-feature. I think Citus is the coolest sharded database in its particular space. C# has been pretty advanced relative to say Java for quite some time. Windows systems engineers did in fact know quite a lot, despite all the crud they had to put up with the endless parade of new MS features. The best ops person I know that built a huge unicorn that runs on Linux uses Windows as his laptop when everyone else uses Mac.

There's a bad habit in tech news of looking at the success of a company and equating it with the talent or technology choices of the engineering team. Very often, successful businesses provide enough padding for unsophisticated trendy technology to fail without consequence to the business. Likewise, many low-margin, crummy businesses are only around because they have high tech talent which can compensate.


Even Microsoft itself doesn't pay top of market anymore. They are increasingly known as one of the lower paying "big tech" companies.


That doesn't match what I've been told. It's more competitive than it has ever been out there!


From my experience, out of the big 5 they pay the lowest.


I think you're pretty much right.

Firstly, I guess we can ask whether Azure is genuinely the Microsoft "stack". Most Azure servers are Linux and the services they provide are mostly web, ML, RDBMS related. I don't think that's what the OP had in mind.

If by the Microsoft stack we mean Windows, SQL Server, .NET etc. Then it's definitely looking more and more dead end. In the past few months I've been working with MS tech a little bit again, getting back into a bit of Windows development. It's a mess. I am constantly left astonished by the state of internal decay that evidently exists inside the Windows divisions. Basic subsystems have serious bugs, even after being pushed for years. Their docs are a mess. Their platform is absurdly complicated - look at the schemas for an AppX manifest for an example [1]. UWP and Windows Phone are deprecated/gone yet references to it can be found everywhere. The recommended way to write Windows apps is still C++. The most exciting things they're doing with Windows are upgrading the command line support to match what Linux was doing 20 years ago. dotNET is some kind of mess with many forked versions, a language that's behind Kotlin and a runtime that's behind the JVM. And the problems just continue.

One thing that becomes clear when you look around is that very few people are really writing Windows apps at all nowadays. They exist, but they're mostly older codebases. Their attempts to move beyond Win32 have mostly tanked for this reason - the people who would once have been writing against the new APIs switched to cross platform tech.

So in this regard I feel it's a dead end stack, yeah.

[1] https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uap...


I'd agree with most of your points - the nature of the MS stack, Windows dev being a mess, docs polluted by related-but-deprecated technologies/versions etc.

Where I'd disagree strongly is dotNET being a mess of forked versions, the language being behind Kotlin, and the runtime behind the JVM.

The DotNet versioning annoys me, but it is actually straightforward. The Windows-only framework stopped at v4, then cross-platform Core began at v1 and now we've reached the point where Core v6 is just DotNet v6 because there is no non-core alternative at this versioning point. If you set aside naming/numbering confusion, you have a forward-moving framework up to v4 being overtaken by a rewritten cross-platform framework catching up then replacing it. There were some mishaps on the way, but this is not a mess of forked versions it is actually a pretty fast deprecation and replacement of a huge system with a massive high quality effort.

As for the main DotNet language, C#, it is generally not considered to be behind any other language out there. Perhaps in some areas different approaches have been taken when it comes to syntax, structure, tooling, but it is a very well designed language that is professionally respected, advanced, and innovative.

As for the runtime, it really isn't behind the JVM. It is supported on fewer platforms, but those it is supported on are very well catered for. Including not needing a (shared) runtime at all as builds can produce single binaries too, as per Java.

So no, the problems don't continue.

I do wonder if your recent experience of it may well be true, but is influenced by it being Windows development. Outside of internal enterprise tools, the main work is on the web/network (not Windows) and that's where it excels.


Well, C# has a less convenient syntax than Kotlin but without any more powerful features (maybe linq?). That's what I was getting at. And .net Core doesn't have a pauseless GC or anything like Graal/Truffle.

I agree it's not really a bad stack or dead end for writing Linux web servers, but I wonder how many new projects are adopting it at this stage.


Would strongly disagree. I'd also suggest that in my experience MSFT shops tend to be more "conservative" on the whole vs a lot of other stacks.

By conservative I mean not rushing into new shiny things all the time, finding out later down the line that it isn't fit for purpose and having to rewrite it. If anything they are the other way round (too much .NET framework dev still going on IMO). The JS ecosystem is terrible for this and I find it really frustrating.

I would agree though that it is seen as quite an uncool stack and I don't see many startups use it, which is a shame as .NET core really changed the equation for me on the whole stack (I really disliked having to use windows server before).

However, there are still an enormous amount of corporates and SMEs that use it, so I can't see the work drying up. Often the pay is better as well at these firms than startups (but probably less chance of a big equity payoff).


I can confirm, my current job plus my two previous ones all used .Net and Azure infra. I don't think it's dead.

I am in the Houston area btw.


Never rely on a recruiter to give you a complete and unbiased story. Even if they’re being honest – about half the time in my experience – their perspective is limited to their personal blend of clients. If someone is recruiting for startups they’ll have a different perspective than large tech companies or large non-tech companies, government, etc. — and their direct interest ends when they get paid after you accept the job, so long-term happiness is only a factor for the good ones.

I would certainly make sure you have experience with multiple options in different categories so you have a good baseline for comparisons (e.g. AWS is the most popular so you’re not going to regret learning it but Azure isn’t exactly nothing). Beyond that, look at what’s popular in your area — e.g. if it’s mostly Java, you might want to learn that, move to a bigger market, or survey the remote options. I would be surprised if you didn’t have C# openings in any major metro area but all employers aren’t created equal and it might be a good red flag to heed if there isn’t much and/or they don’t have a good reputation.


I left the Microsoft ecosystem over a decade ago and it was the right choice for me. The companies that use Microsoft are not on the leading edge of technical progress.

C# is a Microsoft's Java, Azure is Microsoft's AWS, Surface is Microsoft's MacBook, Teams is Microsoft's Slack, Codeplex is Microsoft's Github - well ok I'll give them that last one they paid enough for it. But remember Github is rails.

The tech isn't bad. It can and does power anything and everything. There are some interesting fintech companies built on .NET. It's not an issue with the technology, it's an issue with the culture of the companies that use that technology.

Look at Stackoverflow - that's the epitome of an unapologetic .NET shop. I feel that the culture at Stackoverflow was extremely different than most .NET shops I've dealt with. Maybe you should find cool companies building cool things that are in your stack? Check out https://dotnet.microsoft.com/en-us/platform/customers for some ideas. If you're not finding what makes you happy, do what I did and look elsewhere. Best of luck.


What did you leave the Microsoft ecosystem to do?


Reminds me of a CS professor telling me that a COBOL programmer will never go hungry ... and it's still true :-)

MS stack will be high quality and used by clients with $$$ for the rest of your career.

With that said, any serious non-MS shop will be happy to have your experience and so switching up stacks shouldn't be a problem either if you find a good team.

I would just apply broadly and go from there.


Definitely not in his lifetime at least!

I imagine in two or three hundred years though we will have moved past COBOL completely. That being said the idea of some future advanced civilization trying to wake up some old programmer from cryo sleep so they can decipher an ancient mainframe that is still somehow running does make me laugh!


> MS stack will be high quality

I've yet to experience a MS product that I would consider to be "high quality" (including Azure)


> I've yet to experience a MS product that I would consider to be "high quality" (including Azure)

Most aren't. Some are. As with all software/ecosystem providers.


Azure is not bad compared to the options. Also, MSFT is throwing a lot of brain power at it (notable systems researchers from MSR). Curious what you consider is better?


most of my bad experience with Azure is the control interface, which is worse than AWS/GCP in every way

random incomprehensible error messages, near constant UI timeouts and terrible UI performance and experience (artifact deployment has been "skipped"? why? no way to know), etc

the Windows VMs are also extremely slow compared to my employer's non-azure VM, with the Azure VMs having double the VCPUs, disk IOPS and RAM (despite having the same "stack" deployed on it)


I haven't experienced these UI problems despite regular use of Azure.

The VM speed I can't comment on.


Why the same quote and reply with both your accounts?


it's possible that more than one person thinks that Microsoft products are less than high quality


Do any programmers go hungry?


> MS stack will be high quality

As someone who has used the MS stack, I have yet to witness anything I would call high quality.


lol, C# (.net) is a fantastic language with some of the world's best language designers taking part in its initial creation and updates.

It has regular improvements and is LEAGES more well-design than JavaScript and I'd say Java.

Sure, it's no GO, but it is ever evolving.


C# is great, but a lot of the supporting libs like Blazr are not.


One thing Microsoft does that Google does not is persistently push their garbage until it's actually not bad.

Blazr is relatively new compared to Microsoft's other libs but I'm sure in 5-10 years, it will be solid. It took .net core years before it became decent.


Just like silverlight amiright


We don't talk about silverlight. Haha.


Sigh. Often MS software is not understood by those that criticize it.


Not true at all. As a user of AWS and Azure, I can say that I prefer the latter and it is gaining rapid market share. As a CTO I see a lot of resumes every week and there are plenty of startups being built on .NET

I was actually bearish on MSFT about 10 years ago, but since Ballmer has been gone I have seen a big improvement in cloud, developer tooling and a clearly different attitude towards Linux and open source software. Very confident in .NET now.


Azure? Maybe. I have my doubts with all things cloud in 2022.

MS "development stack" (assuming .NET/C#/VS2022/AspNetCore)? Never.

You can safely disregard this recruiter's advice. Presumably, it's based on some bullshit statistical survey or other meaningless waste of time.

If you were to use HN submission statistics to determine which tech stack would be the best fit your business or career, you are probably going to fail really badly.

I've been doing pure Microsoft/.NET/C# tech stack for ~8 years now at a small startup. We solve complicated problems for other businesses. The simpler our operations are, the more $$$ we can make. You better believe that if there was some tech stack that provided a better TCO, especially in a B2B setting, we would have already been on top of it years ago. Some of the paths bandied about in popular hacker culture today didn't even exist when we started this product.

If you want popular/shiny/fun, listen to your recruiter and the broader tech community. I don't even mean this pejoratively. Some people have enough money and just want to do work that feels fun and exciting. C#/.NET is fun & exciting to me, but I can see how it's not "shiny" enough for many.


I'm making the choice for a new tech stack and .NET is winning. For getting the job done reliably it's looking like the strongest contender.

I'm not sure why there isn't more momentum towards using .NET.


> I'm not sure why there isn't more momentum towards using .NET.

I've thought about this too.

Although I've done DotNet since 2001 I'm not blind to the faults; I also do Go, Node, Ruby, Python, and PHP. What I've concluded (and I could be wrong) is that as powerful as DotNet is it is held back, understandably, by the Windows-centric nature of the original .NET Framework (ending at v4).

Unless an open-minded assessment is done, that (fair) bias means that it isn't really taken seriously outside of enterprise. Which is a shame as it is (to within a degree that makes the difference irrelevant) as productive as Rails, as powerful as Java, as performant as Go, and as easy to read (when written well) as Python or Ruby.

Coupled with the fact that it is now cross-platform with self-contained and trimmed single binaries, it really is a shame.

I still remember the first thing that got me looking at Ruby was actually Rails, and it was doing the 15 minute build-a-blog tutorials. Nowadays with EF Core, DotNet 6, Postgres, migrations, and scaffolding, it is almost as fast in DotNet. And the result is a type-safe codebase that requires massively less resources to scale.


> I'm not sure why there isn't more momentum towards using .NET.

I can't quite pinpoint it either. It used to really bother me that there wasnt some daily HN thread about how amazingly-coherent the .NET stack is.

Over time, I have grown to accept this low-key path is a major competitive advantage that I have over my peers. Being able to tolerate boring, slow-moving technology platforms also allows for more time to think about solving real problems. If the ground isn't constantly shifting out from underneath you, there is a lot more time to ponder about the actual business that you are going to build on top of it.

If I had to make a wild guess, I would say that the developer community has a bi-modal distribution, and the "shiny" mode dominates social media. The "serious business" mode is too busy to fuck off on the internet most days, so you don't hear about their wins as often.


1) Not true. The bifurcation is between tech companies and non tech ones. Tech companies tend to not to use an MS stack. Non tech companies overwhelmingly do. I worked for an high tech engineering company in the Fortune 250 and it was an MS shop. I looked at other Fortune 250s and they were the same.

MS stacks tend to get used in companies where the final product is not software, but things and services.

2) Also not true. MS dev tools today are far better than they used to be and C# is a pleasure to write in.

That said Azure still has complexity and reliability issues. It’s getting better but I executed a one year long project on it recently and it was difficult getting permissions right plus there was a lot of unexpected complexity working with App Services.


> Microsoft dev stack is really a dead-end, any new startups or even large corporations starting new initiatives are more and more are moving away from any kind of MSF tech or Azure cloud development

This market is still huge. That said, the real question is what do you like building and working on? Do that. Besides, retooling isn't really all that bad, anyway and there is not an extinction event on the horizon for MS.

> no developer really wants to work with MSF tech.

Says every one about the tech they are not using in their product. There are plenty of devs that absolutely love MS stuff. What really matters is what you like working with. Do what you like to do. It makes getting up and going to work a lot easier.


That is complete BS. The MSFT dev stack is alive and well, it is not going anywhere. Azure is widely used in enterprises and startups.


I don't think Microsoft stack offers a path to like, a mid-six-figure job at a major Silicon Valley tech company. Nor will you me able to leverage much of the SV ecosystem if you're trying to do a startup. In that sense it could be seen as a career dead end.

But there are plenty of solidly middle-class developer jobs in the IT departments of traditional companies, and a robust ecosystem of small consulting firms all around the country; I would guess that your best bet for optimizing lifetime earnings on the Microsoft stack is to grow some business savvy and start one of those.


> I don't think Microsoft stack offers a path to like, a mid-six-figure job at a major Silicon Valley tech company.

Maybe at Microsoft?


Microsoft does not pay mid-six-figures. They are lagging behind monsters like Facebook and Google (but so does Apple AFAIK).


It would more likely lead to a six figure job at an enterprise company or consultancy. MSFT "stack" is enormous.


I don’t know how many enterprises are paying their mainstream senior engineers $400k like a Facebook or an Uber or an Airbnb does.


But there are a LOT more of them and they’re located around the world. If you aren’t located in SF/NYC, $200k plus stable hours isn’t exactly terrible — and if that means you’re near family or other regional draws, that’s plenty for many of people.


Sure, but you are settling for sub 200k at an enterprise co vs 300-500k at a tech co.


TBH I don't see how azure is dead end, it's just another cloud provider. If someone told me they manage everything in azure then I wouldn't be worried about them coming to work on say AWS or GCP. If they know the concepts and know how to navigate a platform then jumping to another cloud provider isn't much of a big step.

Likewise C# has been around for a while, sure companies may move away from it, but it will always be used, but again someone who can do C# are probably in a good position to pick up another language as well.


An average engineer can go from Azure and C# to AWS and Java in a few months. The biggest hurdle would actually be *nix devops where you might feel pretty lost for a while.


If anything, it's quite the opposite (at least in cloud): https://www.srgresearch.com/articles/cloud-market-ends-2020-...

C# for non-backend scenarios is a different story; no charts but IMO it's been going downhill since WinForms (WPF, UWP, Blazer, etc. all dead in the water).


Yes, that's a sad situation. C# is a great general purpose language but for us desktop developers following MS GUI trends is a nightmare. WinUI 3 is the latest attempt to unify stuff.

In general MS still seems like a safe bet given how tightly it's integrated across many large corporations.


>1) Microsoft dev stack is really a dead-end, any new startups or even large corporations starting new initiatives are more and more are moving away from any kind of MSF tech or Azure cloud development, and 2) no developer really wants to work with MSF tech.

As Amazon moves to compete directly with more and more of their customers, you'll find more and more of those customers fleeing to Microsoft and Google and IBM. At this point there is basically 0 chance MS gives up on Azure and very little chance they are not around indefinitely. They run their own services on Azure so there will always be a reason for it to exist as long as MS exists. MS is too big to be acquired, and short of government intervention of some sort are too diversified to have a bad quarter, or even a bad decade put them out of business.

You will have no issues finding a job learning the MS stack IMO, it'll likely just be more focused on the corporate world than the startup world. If you want the startup lifestyle, you'd probably have more opportunities with another stack. If you want a stable, well-paying job pretty much anywhere in the world, the MS stack is just fine.


This ^^


I'm assuming this recruiter doesn't recruit for a company, but instead works for a recruiting company. It's been my experience that they tend to be myopic with their skillset and end up setting up a cycle--experience finding candidates with X skillset, so work with companies that need X skillset, which means they need to source candidates with X skillset.

Is MSFT stack the darling of Silicon Valley? No.

Is it used widely? Yes.

MSFT and Google had no interest in losing cloud market, so you will be fine in either ecosystem.

At 40, with no interest in management, my suggestion would be moving towards principal architect / principal software engineer roles, where you are considered the defacto company expert in X. Sounds like you have a lot of MSFT technology experience, and I have to imagine you will find work until you no longer wish to work.

Also, I would consider marketing your skillset; MSFT makes good products, and teams/companies may not be aware. I wouldn't say "Why are you using Javascript and not .NET" as that is not a wise question, but rather, show how investing in MSFT toolchains would benefit their org.


The .net stack is pretty unexciting, but way better than it used to be and there are plenty of jobs using it. Just mostly not at startups.

Azure is huge and increasing market share. AWS is reaching some limits to its growth and some of its underlying architecture, and while it is far from perfect itself, Azure is very well placed to take advantage. It is considerably more mature than it was even 2 years ago and is a pretty decent platform to work with. It is also in no way tied to "the Microsoft stack".

I work with AWS, Azure and GCP regularly, and the node, Python, Ruby and .net ecosystems, and honestly I prefer working with .net and Azure than node and AWS. Node is a real mess of bad code, bad ideas, and inconsistent and often bad design. AWS is failing to fix serious architectural issues, and feels like none of the product teams talk to each other at all.

That said, if you've been stuck in Microsoftworld all your career, make a change.


A few thoughts:

- Recruiters are basically sales people. Some (not all) will try to convince you that the stack they're specializing in is the best one in the world and the rest of technologies are almost dead (nothing personal against recruiters btw, they are people and need to put the food on the table too).

- Microsoft has a higher barrier to entry, and makes it more difficult to leave. So you won't see many 3-people startups but more established companies who've been with MSFT since Windows 95/2000.

- Cannot speak for the front-end (I'm assuming .NET/etc), I've been specializing in MSFT BI for a number of years (since pre-Azure). Definitely see that the space somewhat stagnated, new companies are not starting their BI/data analytics projects with MSFT toolset, new entrants mostly go with AWS (Amazon throws a lot of money to continuously improve it and beef up their consulting arm) and other vendors. AWS seems to better suit rapid development philosophy as in "let's get all the data we can get in one place and see what we can do with it". MSFT tools are better suited for traditional data warehousing (as in "Enterprise Data Warehouse") concept which is currently (deservedly) frowned upon. Yes I know MSFT has the Data Lake, Spark, Kafka, etc etc but they are essentially playing catch-up with AWS and all the smaller guys, while incurring higher cost for their customers.

[Edit: formatting]


I can't speak for Azure specifically, but I've been hearing variations on this theme since at least 2001 or so, when VB diehards thought the switch to .NET was going to be a failure.


The OP is clearly hyperbole, there have been failures though. Imagine if you went all in on Silverlight or Windows Phone, haha.


...this is why I'm bullish on MS/Azure but steering clear of Blazor. I love C# but don't want to couple my front end dev to it, despite the allure of "right once run everywhere" that's being pushed (once again)

I really miss my windows phone :(


Don't let conversations with recruiters about the state of the industry scare you. They are rarely loaded with insight, and usually have agendas that are not aligned with your own.


Do you plan on retiring before or after 2050? I have been hearing MS tools and languages are dead and buried for two decades. They'll be here long after I retire.


And probably after we expire :)


Microsoft isn't dead. Lot's of companies use it and are successful. It might not be a good fast first to market choice, or a good choice for building a quick prototype app, but sometimes you build a rope bridge before you build a wooden one. You can make money, be hired, and have a nice career using Microsoft as a back end. That being said I run from any project using blazor instead of react, angular or vue. Node, Java and dot net are great choices, if I was going to green field a new project I'd have a hard look at NextJs. As far as cloud goes you need to be familiar with at least one and willing to train on whichever the company you are hired for uses. Hiring a unicorn dev which matches a text stack is unlikely for every case, and I'd say a dev who doesn't know the stack, yet, but thinks like a dev is better than one who does but can't think like a dev.

I am pretty familiar with the North American US job market and have participated as an interviewer and interviewee.

After 40 expect discrimination in the job market, you shouldn't have to, but you will. Consider what makes your personal brand unique and play up your experience and current trajectory of upskilling.


I don't think the answer is simple. I can give you a couple of observations, having worked at tech startups and adjacent industries that are MS heavy. Mostly anecdotal and opinions/personal taste:

When companies are small and the engineers choose the tech stack and tools, they choose the ones that they like best: Slack vs Teams, G Suite vs Office, AWS or GCP vs Azure. At least in the circles I work in.

When companies are larger and/or the management and IT teams choose the tech stack, it's Microsoft's game. They are experts at selling to the business world. If you're in charge of purchasing you see that Office + Teams + Windows is much cheaper than Macbooks + Slack + GSuite. Microsoft is very good at meeting all the same requirements at a lower price, even if the experience is worse for the user.

I strongly prefer to work at a non-MS shop because the tools are better for me. But the dev stack is by no means a dead-end - there are tons of jobs and work to do in C#, .NET. Also Azure is fine, VSCode is actually very good. But you won't be an obvious fit at a small tech startup. When I see a bunch of MS stack on a resume I'm honestly skeptical of fit.


Just to set the stage for my answer, let me say this: I generally dislike Microsoft and have for decades. I'm an old-skool OSS guy who has been running Linux as my main desktop OS since about 2000 (and on servers before that), tries very hard to run only OSS software in general, and still can't help but see MS as the "evil empire". So I am pre-disposed to take a negative view of MS and anything they do.

That said... I would not say that Azure is a dead-end at all. The rest of the MS dev stack, I am less sure about. But Azure as a cloud provider seems to be pretty much neck and neck with AWS, and I've seen plenty of evidence of big companies continuing to invest more and more into Azure migrations.

I haven't done any scientific comparison or anything, but from where I sit (live/work in a major tech area in the Southeast US) I get the vibe that Azure is pretty popular and will continue to be for the foreseeable future. Note however, I don't intend to suggest that using Azure means anything about using any other MS tech. Most of what I see is people running Java based apps in containers on AKS backed by Linux instances.

YMMV, HTH, ETC.


There probably needs to be some differentiation between Microsoft Stack and Azure. Azure is just a cloud.

My last company used Azure for everything. The languages of development were overwhelmingly JavaScript, Python (Django and Flask), with a tiny bit of Java. c# did arrive, but only after the development team mostly all quit and they had to rehire.


At my last job (left about a year ago) I worked for a large Enterprise software company that was moving to a PaaS/SaaS model from historically being an on-prem vendor.

A lot of customers would hear "We are on AWS" and immediately follow up with "Are you planning on Azure? We have standardized on Azure." So many customers asked about running one of the PaaS products on Azure that the company was basically forced to build an Azure version. These were all well known Fortune companies in the Fortune 100/500, not some failing big-corp.

That being said, the customers were all large non software companies (e.g. Volkswagen). We definitely didn't sell to startups outside of some marketing BS.

I don't think Azure is a dead-end. But from a pure job flexibility standpoint, AWS obviously gives you the largest set of employers to choose from if you want to work for a startup or software company.


Quite the opposite. Tons of opportunities with both. Many corporations are locked in to C# more or less permanently.


Using C# really shouldn't have any bearing on your choice of cloud.


The conditions that lead an organization to utilize C#, .NET, etc in the first place do.


It’s just changing. The knowledge is still useful but I think I wouldn’t invest heavily today. They are working hard on working well with Linux. Look at WSL and .net core. Azure, now hosts more Linux VMs than Windows. Their cloud will be a competitor for sure however I think long term GCP may overtake them.

Would I go hard learning C#, kernel32, IIS and MSVC today? No. I would bet against a windows desktop environment in 15 years time, however that’s just me. We also see a shift from Active Directory as well for managing your users.

It’s still in demand and useful however. One thing I will say from personal experience, overseas clients use Microsoft more than the US ones. In Israel, I swear every company was using Microsoft’s stack.

I would just go in with a I can learn anything attitude in interviews and not get stuck on being boxed into A Microsoft environment.


Azure's main selling point is its integration with the rest of Microsoft's products. If you're a large non-tech company/enterprise with an IT department (all of them) that's locked into MS business/enterprise products (most of them), any sort of software development is gonna be on Azure. No other cloud can compete. I think Azure experts are already highly valuable, and will only become more valuable as more non-tech enterprises adopt some kind of internal software development team.

To the recruiter's second point: It sounds to me that, like most recruiters, they only interact with people inside the zoomer web dev bubble. Sure, MS and Azure aren't sexy, knowing them won't get you free drinks at Silicon Valley parties, but the software development world is much bigger than that.


Azure has also been way more upstream towards the PaaS market, with the focus you mention on the entire MS ecosystem. We're seeing more traditionally IaaS vendors (AWS and Google) start to move in that direction so it will be interesting to see if MS can become generic faster than they can capture specific use-cases.


I'm pretty sure there are a lot of "decent" jobs out there that use C#. I saw a lot of C# used when I was working at Hedge Funds. Those overwhelmingly weren't the best paid jobs, but mostly back office/reporting jobs.

My personal take on this is that companies predominantly that work in other languages tend to pay more, and hence C# is a less desirable language to learn. This is especially true of the current crop of high paying companies (FAANG + some unicorns). None of them seem to be deep into the C# stack.

However Azure and C#/.Net aren't necessarily tied together. I've seen a lot of companies deploying other languages on top of Azure.

It's a bit of a pity with C#. C# is an excellent languages with great tooling. F# is IMO an even better language which needs a little more investment in tooling.


You’ll be fine; the way I look at it, AWS is built for product development and Azure is built for corporate IT. Many companies have simply accepted Microsoft lock-in. I have a number of clients moving from AWS into Azure to take advantage of free money and discounts from Microsoft for having an ESA for O365.

In short, Microsoft has the best B2B software sales engine that has ever existed. This has been true for at least 30 years. It’s the main reason for their success — they know how to get people to pay for their products. It’s not the flashiest tech but it’s enough of what their users need, and the sales engine makes doing business with Microsoft easy. AWS has a lot more friction in their enterprise sales process, so they rely a lot more on developer inertia and word of mouth.


You can make a solid living doing BI modification/integration for shops that are on Azure. Not dead at all. Especially since AWS has nothing that compares.

Your recruiter only cares about fields that can get candidates placed. Of course he needs to drop hot buzzwords to get people interested.


I'll be damned.

And i thought dot net has never been as popular as now.

Simple search: https://www.zdnet.com/article/programming-languages-this-old...

:)


It depends who you want to work for. C# and Windows tend to be more popular with a certain type of company, often one more established.

The node/react world tends to be more popular with younger companies and startups.

You'll find overlap in these worlds but it is a hard road to go against the overall direction of a market. It'll limit opportunities but can be done. It's up to you to figure out which is more suitable. But it's not a dead-end. If you're looking around and noticing your peers aren't into the same things you are, you may be trying to go against the direction of the market. You could try changing your peers.


Not true, however, I'd wager that the opportunities won't be trendy and hip. You are more likely to be working on some dashboard for a 70 year old corporation as opposed to building parts of the stack for the next new hotness.


> You are more likely to be working on some dashboard for a 70 year old corporation as opposed to building parts of the stack for the next new hotness.

Eh, both of those sound equally terrible.


Well the way I imagined them to be is two extremes


Quite the opposite. Microsoft has all the momentum: GitHub and NPM were very strategic acquisitions; Visual Studio Code is completely dominant; TypeScript is already a de-facto standard for large projects.

Those acquisitions in particular are already paying big dividends: very little new tech has excited me the way that GitHub Copilot does.

Conversely, AWS is the standard, and is way ahead, but it doesn't inspire enthusiasm the way that Microsoft tech does. They are laser-focused entirely on expanding their services to every conceivable niche, but (IMO) they are ignoring the fundamentals of developer experience, at their own peril.


In my experience, Azure seems quite in demand recently, and there's a lot of legacy Microsoft-based stacks that companies are migrating to Azure and need expertise to do so.

And of course, Microsoft-based stacks (MSSQL, ASP.NET, .NET including Core) is still a very solid stack that gets shit done. It may not be "sexy" but if you look beyond the "developer" angle and look at the "solving business problems" angle, you can "get shit done" with an MS stack and your clients won't care because they only want the "shit done", regardless of how it is done.


Now that it's cross platform, you're not locked into an MS stack anyway. Even for older projects that might want to get off .NET Framework to get out of the lock-in, it would be a lot more efficient to port it to .NET Core than another language/framework.

If the new kids really don't want to use it, specializing in it might be an advantage for the older crowd since we'll happily take the work if they don't want it. I work with some pretty big companies that still run .NET 2.0 based services. I think there will be work in it for a very long time.


I don’t think that’s true at all, especially Azure. It is very valuable to know Azure along with AWS and possibly GCS. Recruiters in general are not reliable technical or even market references IMHO.


It depends on the industry and company/client size you want to work with. For better or worse, large institutional companies and slow-moving industries are still often on the 'Microsoft stack' top to bottom, from desktops to backend infrastructure. I work in healthcare, and this is especially true here.

These companies/industries have strongly entrenched attachment to the Microsoft world, its certifications, etc. Microsoft cultivates this, Amazon imitates this, others try to emulate this. Because $$$.


A lot of what "being on the microsoft stack" means today is using general dev tools and libraries, like npm, node, React. It's really quite transferrable to other platforms


Others have listed some useful stats and market share info so I will stick to my experience.

Currently working at a company that offers online pre employment testing. We integrate with a lot of applicant tracking systems. Our entire backend is written in dotnetcore. A lot of our partners are also using dotnetcore. There is no way I would classify it as a dead-end job. It definitely is not used as much at the big FAANG but there are plenty of small to medium size companies that rely on the MS dev stack.


It's not, but it might simply be a matter of taste and preference. I personally do see a major difference in culture with companies that use Azure vs. AWS vs. GCP. I personally don't want to work for an Azure-dependant company again, and preferably not GCP either, but it'll do in a pinch.

Work on having portable knowledge if you want that security, and work on what you like to have an enjoyable job.


There is zero chance that your career is going to be detailed by sticking withS technology at this point - it just might not be the most interesting.

Azure is an inferior platform to the alternatives on a technical level, but they make up for it with stronger enterprise relationship-building than AWS/GCP, and they do generally try to keep up with broad AWS capabilities of not the actual quality.


A recruiter meeting companies and developers will probably have some knowledge

I am from a startup using Microsoft

But I am the opinion that companies doing boring development tend to use a lot Microsoft. Less cutting edge. More standard

Also because their tools are so integrated, the developer mindset kind of gets stuck. And less open to new and experimental. So they might get themselves too comfortable and stale


AWS is losing market share to Azure and Google (slowly). It's very silly to say Azure is a dead-end while it is one of the largest growing revenue streams for Microsoft. It sounds like this person was perhaps in the Silicon Valley reality distortion bubble and smoking their own exhaust fumes. Perhaps they should spend time out in the real world.


If you have experience using VS code to develop with containers against SQL Server and deploy to Azure with a React SPA and C# APIs no sane company is going to turn you down because you only have "Microsoft Experience". If you are a Blazor expert build sharepoint solutions that run from windows servers you'll have limited options.


I love C# (but most of my use of it is via Unity these days). I feel the opposite way about Azure (it feels much clunkier than the alternatives to me), and so won't work where I would have to use it... But as other commenters have pointed out there seem to be plenty of people who have no issues with it (or use it despite how they feel).


For those who agree that it is a dead-end, what is a better tech stack to switch to. Assuming you are a longtime developer who spent their career on a Windows machine, enjoys developing with C#, Visual Studio, VSCode, etc? I look at React, Node, Python and think, why is that better? Maybe I have been drinking the Jon Skeet cool aid too long.


Not accurate. The MS stack is very much so alive. I get recruiters hitting me up weekly if not daily with C# jobs. Perhaps the MS stack is not common in the startup ecosystem but there is no sign of it dying.

So many businesses and governments are using the stack that it is going to be around for quite some time even if it isn’t the new hotness.


I cannot speak so much from the C# side of things. But Azure is by some measures the fastest growing cloud right now. With some analysts projecting it will overtake AWS eventually. At my current company we utilize both AWS and Azure, but are by no means a “Microsoft stack”.


.net core is actually a nice development stack. You don't even need to use Windows to host it.


I managed the east coast operations for a global Microsoft-focused SI. From my personal perspective, there's plenty of well-paid and interesting career paths to follow. You're fine, keep going, we need you.


I think if you've been in the Microsoft stack for that long, you'll be bitterly disappointed moving elsewhere, because the tooling in most cases is trash, comparatively.


It's pretty much the opposite - have avoided the MS ecosystem for the last 20 years, but I know it is a luxury and it means leaving money on the table.


game industry is partly based on microsoft stack. high performance services for either game services / finance are also based on .net stack. I'm no microsoft and don't have much experience with the stack except F#, but I know you're likely to starve doing the new js / golang stuff than you're doing msft stack. hn might make noise, but the industry numbers prove for themselves


Absolutely not true.


This is the stupidest thing I've heard in a long time. Recruiters are boneheads who would otherwise be selling used cars.


to continue the metaphor: ...but only EVs because "The ICE is so dead only an idiot would buy one today".


Totally wrong. Many incompetent people are using it. And incompetent people is where the money to be made is.


Can't help but to agree. Azure, SalesForce, Oracle all scream incompetence and ... easy money, lots of it.


Incompetence is everywhere, probably evenly distributed.

It's just that at large scale it becomes noticeable, small orgs can float through unnoticed.


I think natural selection is also a factor. Probably you are right that incompetence is more or less evenly distributed, it's just that only organisations with a lot of money can survive using MS stack, by pouring money on a problem. And you can be on the receiving side of it.

Plus, few competent people like working on it, they prefer sexy open source things, it means it's easier to stand out.

Hardly a way to have a happy career, but surely a way to have a happy (and early) retirement.


startups maybe - but large corporations might be a different question. At my last company, 40,000 people, they used MS Office and I had the impression the sales pitch and glide path from Microsoft to just embrace the Azure cloud was a strong one, so many teams use Azure ...


There’s plenty of work using the Microsoft stack of the week, just don’t be surprised when they drop todays model like a brick as they switch over to yet another new one.

They probably burned people a few times too often, which is one of the reasons people rather stay away. And another one might be that it’s all ‘enterprise’ which isn’t necessarily an inspiring environment.


> Just don’t be surprised when they drop todays model like a brick as they switch over to yet another new one

This is very true from the client perspective (Silverlight? MAUI? WPF? WTF?).

From the server perspective, however, you are on solid ground.

From .NET Framework v1 (around 2000/2001?) they've stuck with and improved C# and said Framework, including spinning up the cross platform DotNet Core replacement which was largely a smooth code transition if you didn't jump too soon.

And they've been with it for 20 years. Even when they've moved on with some bits (eg ADO/ADO.Net/ODP/XSD/EF for database access) the old ways continue to run.


Definitely not. MS shops will be around a long time after you and I are out of this game.


If it isn’t happening in your neighborhood doesn’t mean it is dead…


I personally avoid microsoft tech like the plague

From a carreer PoV, you'd better experimenting with everything

Being vendor locked is no good, it prevents you from adopting opportunities quicker than your competitors


You don't "adopt opportunities" and being quickest is not always a benefit.

>> From a carreer PoV, you'd better experimenting with everything

This is not great advice either, especially once you're more senior. Experimentation is a great trait, if it's intentional and directed. Otherwise you're a magpie who leaves a messy trail in your wake.

If you think Azure and a lot of what MS is producing today is vendor lock-in you've never used AWS or GC. The MS developer experience is still superior to any other single company.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: