This post is ridiculous, but there is a point hidden under the ham-fisted writing.<p>.net development is complex. The languages and frameworks are deep, and cargo cult (implementing without understanding) development is common. .net provides you, out of the box, with a collection of pretty good "easy-mode" APIs; and most (as far as my personal experience has taught me) .net developers are exclusively familiar with them. The more dedicated of us learn how things work under the covers; but using that understanding to full effect can often result in fights with management (and team members) on smaller and less experienced teams (where your code is "unreadable" by other team members).<p>I love .net, one of the reasons I love it is that if there's something you don't love about it, you can replace it. It's written in such a way as to encourage you to replace it's components in whole or in part for your specific needs; and it provides you with fantastic tooling to do so. Replacing and extending the framework well requires experience and discipline, without them you'll make a mess (and everyone on your team has a horror story about someone else's mess). Gaining that experience and discipline requires fastidious dedication, and a very understanding employer.<p>I don't see this as a weakness in the platform, although it is a daily frustration on a lot of projects. Extending the framework for your project requires writing framework complexity code in your project.<p>The potential for complexity runs deep. You could, for example, easily interop with some custom c++ that calls custom assembly (as an extreme, borderline silly example). When your coworkers see that, and their first reaction is "If this guy gets hit by a bus, I can't maintain that", they are justified to be frustrated. It's up to you to prove that it's needed more than they are frustrated; or to take it out. I think that argument is healthy.<p>Dapper (a popular mini ORM) does a ton of run-time custom generation and execution of intermediate language. It's the right solution, and well executed, but if you tried doing that in your own project, you're likely to have a fight on your hands. Your coworkers would likely have no problem adding Dapper to your solution because they won't be expected to maintain the code, but as soon as they feel they may be stuck maintaining something so difficult to understand they are likely to want to murder you.<p>As a former architect on one of the most trafficked .net platform web applications on the internet, I've seen .net do some amazing things. I've made it do some amazing things. .net is predictable and super hackable (and it wants you to hack it); but you have to get the money-man and your team's trust before you can do any of that hacking.<p>You can be a good .net developer. It's not easy, but it is rewarding.