Microsoft has come a long way with .NET, ASP.NET and C-Sharp, to say nothing of Azure Dev Ops and all its free and powerful tools they’ve made available. Gone are the days of the “not invented here” mentality and here to stay is Microsoft’s renewed commitment to not just .NET developers, but to the software community in general. No longer do I feel Microsoft looks at my PHP/Python/MySQL/MongoDB open source credentials with disdain.
Suddenly there’s been a sense of a lot less scheming to try to “convert and lock-in” and more just putting product out there to let free people freely decide. Microsoft’s stock price, in my mind, has skyrocketed. Along with making Visual Studio 2019 more capable, powerful and free, they have shown a renewed commitment in their acceptance and slow, soft-walk into the Open Source software ecosystem. The giant has turned to face the world with a friendly, welcoming smile instead of an adversarial fist, as if opening its arms, ready to call a truce as it (in my mind) finally came to the realization that it stands so much more to gain if it stops fighting two-thirds of the software community and joins it as a citizen with a common goal with a win-win mentality.
I have had a love/hate relationship with Microsoft since I bought my first PC, an IBM PC Jr, with the money I saved up with my paper route and mowing cemeteries in Essex Junction, Vermont. In full disclosure, I have accumulated stock in Microsoft because I have believed in their products and long term growth. Second to Autodesk as my favorite software company, being another small name in their massive list of shareholders they don’t know me and I wouldn’t pretend they would nor would I expect them to care. However, I will say despite the fact that I have been a loyal PC Windows user going on four decades, when it comes to making systems and websites for businesses, I’ve been a Linux guy for about 20 years without regrets.
Speaking from my own perspective with some authority, when I shifted my career from agency work where I was a business-building consultant, media producer and marketing strategist to software and web development, Linux solutions were the only feasible option for most of my clients and employers. For two decades I have made many different kinds of business systems, including ERPs and custom programs along with countless websites and other software products for many freelance clients and employers over the years. For many of the owners and leaders of these companies, there was seldom any serious debate to consider developing any new systems in Microsoft and .NET, though there were many discussions about how to free themselves of their current dependency on it.
In the past, Microsoft’s perceived attitude and treatment of smaller businesses kept many small businesses away, a major reason I stayed firmly manning the mostly PHP & MySQL ship for so long. Many small business owners begrudged Microsoft or simply couldn’t afford to move to .NET while others found they couldn’t afford to stay on Microsoft.
To stay relevant and current, I have been studying .NET, ASP and C# these past two years and I have picked up other skills and worked in other languages like Python/Django and a little Java, but since behemoths like WordPress and Drupal are PHP/MySQL based that was where the demand was for over a decade. With the help of Zend, Laravel and Symfony PHP frameworks, up to only a few years ago PHP dominated the thriving web landscape.
For the web, it used to be an almost binary choice between PHP and .NET. Now, the competition of .NET and now NodeJS based systems seem to inundate the software development job boards as PHP appears to be waning faster than the tested and mature language deserves. After all, many government agencies still require certain systems run on Drupal due to its reputation for excellent security, as is .NET.
Unpredictable fees aside, there were other reasons why I stayed firmly manning the mostly PHP & MySQL ship for so long. Could I have steered my employers, some fairly large businesses, to Microsoft platforms, servers, SQL databases, and .NET over the years? Probably, but assessing the landscape and alternatives at the time, it wasn’t a hard decision for them to make – they all deemed that it was not worth the risk to change.
Since the late ’90s Microsoft’s attitude and treatment seemed to border on contempt of smaller businesses and made decisions that kept many of my clients and employers away. Their “exclusive club” attitude along with the uncertainty of their licensing fees helped sustain the reciprocal animosity towards them. Microsoft’s quick turn of late towards embracing the Open Source approach has been viewed with skepticism, but to me it’s competition working out the bugs and throwing out old paradigms. It’s the system at work, ever optimizing the different cogs, reducing friction and bottlenecks in its own way. Not the smoothest, not the most optimal or ideal, but real world optimization of systems are seldom predictable, clean and linear, but at least it’s happening! In a way it’s like why we test so much code before it gets into production, and even then there’s always a need for improvements.
Though for Microsoft especially that “common goal” as a “citizen” I mentioned earlier is an amalgam of many smaller goals, including its own self-interests, at least they are accompanied with recent very generous contributions to the open source community. No matter what their motives are, to me at least, Microsoft has finally grown up. There are bullies in the schoolyard and there are adult bullies and instead of trying to be the bully in the playground and the boardroom with the “Us against Them” posture, it has humbly stepped down from its elitist “our way or the highway” thinking and joined the ranks within the greater software community. Its slow walk became a run in 2017 as it really started to change its attitude and tone, accepting competing solutions and paradigms, partnering and working along side and (dare I say) embracing other libraries.
Their attitude of “not invented here” has morphed these past ten years, albeit slowly and painfully, into “don’t reinvent the wheel.” In a way, Microsoft is finally applying logic and more concrete software development principles to their own products and business. “DRY” – Do not repeat equates to “don’t reinvent the wheel.” I have taken notice of Microsoft’s new commitment to providing the best products to get the job done and its peace offering towards the Open Source community. In turn, I will consider recommending .NET and ASP as a viable solution to those who may benefit.
Should any developers want to look into transitioning to .NET or if you are interested in just learning more about software development, Microsoft has a treasure trove of free resources available now more than ever before. On a side note, I highly recommend IamTimCorey.com and his excellent and thorough tutorials of all things C# and .NET. This man is an experienced master whose videos and guided tours I highly recommend watching, following, and practicing.
Before Microsoft made these seismic changes they were generally seen by many in the open source community as a monolithic, close-minded exorbitant license fly catcher where once you were ensnared there was no escaping. I know like any giant corporation they have a duty to their shareholders and Microsoft has their ulterior motives. I am aware that in the end they will profit more if more of us software and web developers, uh… embrace them. But that’s okay with me as long we all get the best Return On Investment, something many people I’ve worked for in the past couldn’t seriously justify for many major projects and systems in the past.