While initially sceptical of this new MS platform, I was quickly sold on C# compared to Java: The language just seemed so much better. The base class library was easier to use. The tooling was rock solid. In many (but not all) ways it was just a better Java.
Since then, I must admit I think Microsoft has handled the platform really well. It has made the Java-platform seem quite literally stagnant. First class functions and lambdas first now? Really?
Clearly there's been ups and downs. There was times when Microsoft has seemed dormant and not paying attention to the needs and requests of its developers, happy to have conquered the market for in-house enterprise applications. Some APIs were thrown out as soon as they were delivered to market. There were times when I was about to throw it all out due to Microsoft's best option at the time seeming inferior to pretty much everything else out there (ASP.Net Webforms with AJAX being a particularly frustrating story).
But all in all, it seems they've managed to pull through, to react in time. They've gotten better at listening to the community. Now they've even open sourced it "all" and let us in, allowed us to participate and shape the future of .NET, if we want to.
Yes. I can list a bunch of imperfections which remain with us today (like the .NET Core launch and migration-strategy not being all that convincing), but I'll leave that for another time.
Today, on .NET's 15 birthday, I'll say that I'm happy I invested in .NET those 15 years ago. It's literally paid my house, and I've enjoyed working with it while it did.
Keep up the good work, Microsoft. There's a world of developers out there who appreciate what you do.