4 ms·
I'm probably one of the devs you've described. I've always worked at Microsoft shops and I love it. A couple of advantages to the homogeneity. I can jump on a
by JamesBarney 7y ago
I'm probably one of the devs you've described. I've always worked at Microsoft shops and I love it.
A couple of advantages to the homogeneity.
I can jump on any project and be productive on day one because not only am I familiar with but I am an expert on 95% of the stack.
I can very easily hire people who can be productive from day one because they've used 95% of the stack.
I can have much a broader skillset than is possible in other ecosystems. In other ecosystems, I might be knowledgable in three different databases, three different orms, three different web frameworks, 3 different cloud hosting providers. In the Microsoft ecosystem, I can be knowledgeable in writing a mobile app, a high-performance desktop app, and a web app all at the same time in the same language.
The knowledge base is amazing. Everything that is canon Microsoft has an enormous amount of stack overflow questions and blog posts about it. And specifically, blog posts about the interacting parts. There are a thousand blog posts on a sql server/EF core/with asp.net/azure app. But less on similar combinations in more heterogeneous ecosystems.
The tooling is fantastic. The IDE was built for a very specific stack so it has a lot more functionality than equivalent IDEs.
The disadvantage is you don't get to pick best of breed products. But I think this is overrated. Outside of some very specific use cases, people can write great apps in any number of languages on any number of stacks. Picking Sql Server vs PostGres vs Mongo or Ef Core vs NHibernate vs Dapper isn't going to make a huge difference on whether your app sinks or swims.
- Ididntdothis 7y agoI used to be like that but over the last few years I found the Microsoft world more and more uninteresting and intellectually stifling . Maybe using git and node was the turning point where I saw how simple things can be with the right tools vs what Microsoft offered.
- JamesBarney 7y agoWas it just that you found the Microsoft world boring or was there something specific about node that was a game-changer?
- Ididntdothis 7y agoWith git and node it was the ease of deployment and scripting. I have done some TFS scripting which was always a total nightmare. With git it’s so easy. You can like npm or not but it’s pretty phenomenal how it’s set up and works. MS was way behind the curve with nuget. The more I look into Linux tools I find them way more practical than what MS has to offer. There is just more innovation. See containers too. MS is years late. Pretty much every new trend gets started on Linux these days.
- JamesBarney 7y agoEvery Microsoft shop I've been in for the last 5 yrs has been git, and you're right git was leaps and bounds better than TFS. Its funny npm is one of the things I always hate. Several times a project I have to rimraf node_modules at some point due to some weird hidden state in npm. Containers are an amazing technology, but sometimes I think they make it too easy to overcomplicate a project. Been on too many projects where we solved a similar problem 4 years ago with a web app and a service and a team of 3 devs, but now the same project is a team of 8 with 4 devops guys and 7 containers. The last node project I was on was the MEAN stack. It seemed like it was pretty similar to the standard .NET apps I work on, you have an entry point, you make some database calls and you display them. Pros were the code re-use was nice, you could copy and paste your validation logic from back end to the front end. The cons were the lack of typing made it a little hard to navigate the back end, it looked like they basically reimplemented a poor man's relational database in mongo without any referential integrity, and it was harder to come up to speed without having a schema to look at and understand the domain.
- deleted 7y ago[deleted]
- scarface74 7y agoGit is well integrated into TFS, Azure Devops, Visual Studio and VS Code. I do all of my Node development in Visual Studio.