← Back to context

Comment by christophilus

3 months ago

I really liked working with C#. I spent 15 years or so with it and found it very productive. But no; I don’t miss the culture of C# / Microsoft shops at all.

> culture of C# / Microsoft shops at al

What do you mean?

  • Been awhile since I've worked at one but it is usually grounded in trying to achieve 100% MS usage.

    It is rarish to find a partial MS shop. Most of this is how hard MS makes it to use other tools. Even in 2025 they have good interop with external tools hamstrung.

    Example: SQL Servers JDBC driver will convert an entire table's of data from ASCII to UTF and a full table scan instead of convertering your UTF bind to ASCII and using the ASCII based index. This doesn't break interop but does make it painful to code and one more reason to just use .Net.

    • Not that rare, I work in one now and we use: .NET, Mongo, Postgres, SQL Server, Node, Python, etc.

    • There is no way a reasonable person would not deploy to Linux and postgres for cost reasons alone. No one wants to pay Microsoft or Oracle money for databases, operating systems or frameworks nowadays.

      3 replies →

  • My biggest complaint would be a tendency to blindly use a "Microsoft first" approach to selecting tech rather than evaluating things on their own merits in the context of their own use cases.

    Some Microsoft stuff is really good but it's not universally true. And in the worst cases you end up locked into some hard to migrate off platform that is withering on the vine.

  • I worked at a Microsoft shop, and this was my experience.

    1. Process, process, and more process. Doing anything required layers of management approval. Trivial tasks become month long, or even years long, processes.

    2. You have no power or agency. Something is broken? You're a developer, you should be able to fix it right? No. Broken things stay broken. You swim in your lane and keep your head down. Mediocrity is the goal.

    3. Optimization doesn't exist. If a process is manual and takes you, a developer, 10 hours, then that's what it is. Nobody gives a flying fuck about tooling. Nobody cares if you spend 50% of your dev time doing random stuff. And if you even dare try to fix it, you will be told it's impossible and you're wasting your time.

    4. Management is king. You will have to lie to them. You will have to spend time re-entering the same data in 5 different places so they can read it conveniently. You will have to make Excel workbooks. You will have to dumb things down, and then dumb them down again, and again. Everything is about Jira... Unless they're a really high up manager, in which case you have to take whatever is in Jira and put it in a word doc and send it to them, because they don't know how to open Jira.

    • Those things have nothing to do with C# though, rather than your personal experience with companies that were using it.

      If I judged every single company i worked at/interacted with, that uses NodeJs, I'd think that every single Node dev is a 13 year old child with no real experience but who think's he's the hottest shit. That has nothing to do with Node and doesn't really describe _all_ the companies out there.

      11 replies →

    • This is just the run of the mill politics you see at every big company (or mid sized one).

      I worked at a PHP shop, it was pure mierda. Worst code I've ever seen in my life. Pure incompetency. Does that say anything about PHP shops as a whole?

    • Don't forget all the $PATTERNS ... I mean, you can't possibly live without 15 layers of abstraction and indirection.