Microsoft Hates Enterprise Developers?

The changes with Visual Studio 2015 and .NET Core 5, aka vNext, have churned up quite a bit of conversation, but something I overheard recently caught me a bit off guard. The gist of it was that Microsoft hates enterprise developers because of the sweeping changes in .NET Core 5. Fear, uncertainty, and doubt (FUD) was my immediate reaction in response to such a claim. But before I could find my soap-box and make a stand, a wise young man who oddly reminds me of Justin Bieber said, “Any change is anti-enterprise.” He is right.

evil-microsoftjpg

It’s true, enterprise, government, and large organizations resist change. They are often referred to as “giant ships that steer slowly” and for good reason. The enterprise doesn’t respond well to change out of necessity.

Enterprises choose stability over flexibility and security over speed, and it does so to protect itself, its assets, its money, and yes even its people. Change and uncertainty in business means time spent and possibly money lost.

However, in this case there’s more to the story because there have been huge changes in the way software is developed. So maybe what we are seeing now isn’t as simple as enterprise looking for self preservation, and instead possibly push-back from individuals within enterprises.

Creative Destruction

An immovable object meets an unstoppable force and the result is creative destruction. New products, processes and technologies are changing how software is developed, and the speed at which it is created. Open source and online collaboration with GitHub’s 10.6 million users is an unstoppable force and will continue to be for quite some time.

tumblr_inline_nej3dv5hHv1qa4tsw

With hundreds of thousands of downloads per week, tools like Bower, Grunt, Gulp, and Node have become mainstream. Microsoft chose to not resist the trend but embrace it by supporting these new tools in Visual Studio. As a result some enterprise developers will be faced with tough choices. Those choices are to adopt new processes, learn and bring it safely and securely to their enterprise, or resist and hold on to what will eventually be legacy software.

Creative destruction refers to the incessant product and process innovation mechanism by which new production units replace outdated ones.

what-have-you-done

The software development industry is competitive and ever changing. At some point legacy software will need to be adapted or abandoned. This is something we have seen throughout the history of other technologies and industries and despite much opposition the innovator generally wins.

A Transition Point

We are at a transition point, which is why today we have options. Visual Studio 2015 and .NET Core 5 can be overwhelming with its templates and support for multiple desktop, mobile and web platforms. The reason it’s so daunting is because the ecosystem for software has expanded beyond the desktop. The proliferation of mobile devices, IoT, and cloud technologies has created an infinite canvas for software developers. Everything today, including a car to dish washer, seems to have its own set APIs, UIs and app stores.

By 2020, the amount of Internet-connected things will reach 50 billion, with $19 trillion in profits and cost savings coming from IoT over the next decade.
CMO

For Visual Studio to remain a relevant developer tool, it has to change with the trend by including new platforms.

Learning and moving forward

The field of technology rapidly evolves through creative destruction. The position Microsoft has taken was inevitable. It’s time to accept it, learn something new and move forward.

let-it-go-silverlight

Spend less time worrying about who Microsoft hates or what language or framework is declared dead this week. Instead, embrace progress, engage in active self-improvement and education. Be the person who abandons the old way of thinking, be more productive, be cross platform, be open source. If you do, you’ll find yourself armed with a unique set of skills, ready to solve the problems of tomorrow instead of idly working on problems from the past.

Comments

  • Enterprises do embrace change when it fits in with their sales cycles. To infer all Enterprise is slow to respond isn’t correct per say in that they always look to modernise but have learnt over time to avoid sugar rushes – especially in the AJAX/HTML5 space. Todays framework is tomorrow’s bellbottom pants – already we’re seeing the “AngularJS vs React” saga emerge and whilst its roll your eyes and ignore the two opposing arguments it tends to create a divorce in the supplier markets – developers.

    If you as a developer continue to see “AngularJS” for example as a must needed skill whilst doing ASP.NET MVC well chances are you as a developer will look at the necessary adoption learning curve to embrace this. At the same time you learn that Angular 2 or react are the “new thing” well do you continue to invest your own time into this pre-existing framework or “embrace” the new wave by getting ahead of it?

    Here in lies the problem, it’s about knowing what to adopt and what to avoid, knowing who has your back while your adopting and who’s just in it for the trend / sugar rush.

    Microsoft past 5 years has been irrational behaviour and often filled with forced attrition on the managed code front while equally upping the echo chamber on web-centric skills, yet it hasn’t worked out in their favour. Developers continue to ignore their appstores / native apps and instead figure “well i’ve i’m going fully web then may as well divorce myself of microsoft completely or as much as possible.”

    Microsoft’s now trying to regain lost ground by pandering in a lot of ways to this bad strategy by enforcing tooling relevance and in some ways try and push the js framework to start consolidating into patterns like AngularJS (alongside Google). I’d argue the reason being is if we can all start to settle on a more consistent middle ground in JS land then we can all have a better chance at backfilling this thinking with tooling and component level support (regain and try and get developer buy-in).

    Putting ones figuers in their ears and ignoring the Microsoft/Google and in parts Adobe movements is somewhat foolish as if HTML5/JavaScript wins over anything we produce from hence forth – who has the most to gain and who hasn’t, as the one who hasn’t is the one you watch. In this case i’d argue its Microsoft but should the market shift away from the web, who loses? …Google… as if they can’t index/search the web in its current from and it goes proprietary or native, then well…how does one “find” the world again.

    Companies like Microsoft/Google don’t invest in these frameworks / OSS because they feel good about the world (the devs working on them sure), they do so for a reason and knowing this is important when adopting.

    Silverlight used to have this fake “Emergency Break Glass” image in our team. It was a joke but had a serious bite to it, basically the idea was “when you finally emerge bloodied, bruised and beaten, break glass” ..then when you open the note inside it said “Congrats on beating Flash, now delete Silverlight” … that was the underlying point of Silverlight, push the web forward.

    Oh and Silverlight still lives baby, you guys now refer to it as the XAML Runtime in Windows 8 and 10 🙂

    • quazecoatl

      “Here in lies the problem, it’s about knowing what to adopt and what to avoid, knowing who has your back while your adopting and who’s just in it for the trend / sugar rush.”

      Any sane developer shouldn’t think there’s someone who has his back on this. As just a developer, you are a puppet and you don’t have much of a choice.

      I agree programming on the web is “advancing” still very slow.
      Money and domination is in the first place for any influential player like Google, Apple. Microsoft, etc

      It’s hard for them to agree on some web dev technology and then adopt it, because there’s so many money making related things they need to take into account.

      Not sure where you’re going here, but as just a developer, you have little choice. You’re just a consumer.

  • Alejandro Almeida GarcĂ­a

    The SOLID business solutions are distinguished by their low coupling (according to DDD orientation of Martin Fowler and Eric Evans).This means that they should be agnostic to applied technology.

    So are bad solutions architects who hate Technology and Microsoft is not to blame that there are poorly designed these business solutions.

    • Fakher Halim

      I agree — it is the “bad solutions architects who hate Technology and Microsoft is not to blame that there are poorly designed business solutions”. The time only moves forward, and better solution take over with or without anyone’s convenience.

  • Salah Malaeb

    Microsoft’s decision to not support in-browser Silverlight applications in its own Edge browser has many effects:

    1) It’s telling the developers that adopted Microsoft Silverlight and built enterprise applications to not depend again on Microsoft for their next project
    2) It’s forcing developers to select a Silverlight replacement platform from a huge set of options (Angular, Node, Kendu, Knockout, Etc.) without basic guidance
    3) It’s opening the market for some creative software vendors that will find a big opportunity in designing a tool that will help automate the conversion from Silverlight to a more open platform that hopefully will not die soon

    So, as developers, we have to keep learning, and hopefully pick the winning horse or platform with little or no real knowledge of what we’re getting into.

    • Scott Johnson

      Hate to break it to you, Silverlight is a dead product, announced in 2013.

      • codeJunkie

        Open sourced, not dead, but close.

      • Salah Malaeb

        So, what is the best way forward? We built some Silverlight apps (using Telerik Controls for Silverlight) that run inside the browser to extend our existing web application (that is using Telerik Controls for ASP.NET Ajax), as the ASP.NET controls did not provide us with the nice user interface that the Silverlight ones did.

        Any suggestions on what platform should we go with?

        • If the solution is for your enterprise and not public customers, the solution is no change. You phase out the system as it starts approaching it’s end of life. Come 2018 i think development will be quite a bit different than today. The current herculean tool set needed to just render some text or a graph on a webpage will hopefully be dead and that the heart of silverlight will be that software is built for a mostly consistent platform target and offers first class support to application code execution (and entirely sandboxed like silverlight).

    • httpJunkie

      I think it may caution developers before they build their entire application behind a MS technology like that one again. But I don’t feel burned by Microsoft or feel like I can’t rely on their technology in the future because of what they did with Silverlight. Silverlight was an answer at the time to a paradigm problem and it itself became subject to similar problems (scaling and browser support). I think what I will do next time is make sure that what I am using does not hold all my proverbial eggs in one basket, and on that note I am happy to see what Microsoft is doing these days. But when it comes to what technology I will use in the near future, it will be dependent on what my employer is paying me to use and I will do it with a smile as I cash my paycheck! Bring it on (Change) we’ll adapt as we always have.

      Good article Ed!

  • The last paragraph sums it all up! In our
    industry the one constant is change. We all have to be agile in life, in our
    code as well as in our projects. Embrace the change and you live long
    and prosper…

  • Craig Jeffords

    Love the article. As developers we need to be the champions of change in our organizations, no matter what size they are. My only frustration with how fast things change these days is that I barely have time to start using a new technique before it’s considered obsolete. Keeps me on my toes, though. 🙂

  • It is a well proven engineering maxim that “the better is the enemy of the good.” In what way has these “improvements” improved productivity, either in coding or in operation? Are these more secure and resistant to hacking?

    There was a considerable investment in time and money to develop these improvements and much more time and money will have to be invested to implement these “improvements,” including the diversion of coding time to learning the new systems, many times at the developer’s or coder’s/programmers personal cost.

    What is the ROI? Was a “break even” point calculated using cumulative, possibly discounted, cash flow? Is this break even point far enough out to be into the next “improvement” cycle such that no gain is realized?

    What exactly can these “improvements” do that the existing frameworks [or even COBOL] cannot?

    • Steve Naidamast

      You are completely correct in your questions here. The problem is that younger technical personnel think they have all the answers when they don’t have the years of experience. Part of the problem you are concerned about here is that the younger generations are addicted to their mobile devices and smart-phones, which has been noted by many sociologists to have basically destroyed their capacity for critical thinking. These people believe they are “thinking” but they are just simply flitting from one new concept to another under the impression that since their lives have become nothing more than sound-bites so to should in-depth endeavors like software development.

      Hadi Hariri as provided some excellent insight (see… https://www.youtube.com/watch?v=3wyd6J3yjcs) into the deterioration and commodification of the software development profession as it skips from one new tool to another while touting that change is important and new business requirements demand it.

      It is all complete nonsense and there are already signs that this progression is going to fall back on itself as Micrososft begins to promote “.NET Native”, which is compiled .NET. This will return us to the 1990s when we had true executables and not interpretive processes. But hey… Everyone thought that Java’s “Write once, run anywhere” mantra was the silver bullet of development.

  • James Parsons

    R.I.P. Silverlight, It was better than Adobe Flash and Java Applets. But seriously, you can see the enterprise’s reluctance to move forward in Oracle. Half of their developer tools make me feel like its 2005. I actually applaud Microsoft in moving their developer tools forward and I am looking forward to Gulp/ Bower support in ASP.Net 5

  • szahn

    Silverlight may be dead but WPF and XAML is still very much used though

    • Agreed no one is using Silver light now things are changed, People are moving towards new technologies.

  • Pingback: Windows 10, Chrome 45+, and Silverlight -Telerik Developer Network()