Next session was focusing on the 'Future of Software Development'!
We quickly figured out: Microservices ARE happening. For me this brings back soft memories of the first time I was doing real multi-tier applications – at that time expectations from the systems weren't that complex, therefore in some perspective those were close to being microservices with today's scale and view. Part of the current problem is that the tools already catching up with trend. When would the developers catch up? As on the previous session, we learned how much the software development should focus on optimizing development productivity – no empty cycles, more information at hand. Which is interestingly leads to the question, and recognition: there are actually two kinds of developers, those who wants to sit in the most complex cockpit available with as much HUD as possible and integration into all the workflows and systems – and at the same time the large group of developers who would rather see there development cockpit also made of smaller microservices, that are pluggable – for the latter was VSCode dreamed for, and I think it does fit those shows perfectly with the large number of extensions. Next came a topic many of us were dying for to hear about – is Javascript (e.g. hybrid), Xamarin (e.g. cross compiled language tailored for the device and capabilities) or native the answer. I think we answer we got – "it depends" is actually the best answer you can do, there is no one size fits all. We have seen companies moving back and forth between these technologies as they did develop their mobile and desktop experiences, so even it might be different based on the growing or changing requirements. Also, we got a more detailed answer, where the major point was about 'code sharing' – e.g. your choice should depend on what targers you have and how much code and design you can or want to share, and whether you can depend on having a network of you have to be thinking an 'offline first' approach.
Also we dove into the question of running and finishing now the full cycle again – from native to JIT to native compilation again, however this time with the added complexity that a dynamic cloud structure will most likely result in a cloud recompile. On the same topic and about older devices and browsers, it was expressed, that "evergreen" development IS happening. You just have to come up with your definition of your minimum client/browser, probably aggressively. Than came the question that broke down everyone: "I still have ActiveX controls…" Actually at their own time they seemed to be an easy, clean and quick solution. I agree with the panels opinion that it's just the question of managing two browsers, one for legacy and one for normal life – and actually with Edge and Explorer separate Microsoft did the same distinction. After jumping around desktop and mobile topics, we could not miss going to the cloud next: I don't think any disagreement came after we declared that a non IT company's core competency just should not be managing server farms. So the dream cloud of the future? Is it more than just moving applications off onpremise? We know and probably believe as well how much the cloud enables business transformations – for big data, for big firms, but also the same way for startups.
Of course we did dive-deep into docker, and how a fully dockerized world would look like, and how the idea and need of docker was arisen, nurtured and now being projected full scale. This wouldn't be an IT conference in 2015 if the question about IoT and wearables would not be rosen (actually I asked it) – whether we look into self driving cars, mesh networks, displays and glasses, we can be sure: our kids will have a different world ahead of them than we had. Will our kids, grandkids know how to drive? Should they know? After touching on all these topics, we went to understand the need and reason for aggressive telemetry – technical insight AND customer insight are both needed for a succesful telemetry, but also to have the ability in the DNA to act upon it quickly is the most important point. We learned the anecdote on why right telemetry is more important than just having it – the large number of clicks on 'Add Service Reference' in the IDE does not mean people playing with microservices if it was followed by a quick cancel each time 🙂 With having telemetry part of your cycles, you need to have the confidence (as you already have the insight) to roll back a release when needed and to mitigate the occuring risk – both in the cloud, on prem and on the desktop. Lastly, we discussed if the Visual Studio 2010 releasenotes focused on Silverlight, WCF, Workflow and the new architectural tools – what Visual Studio 2020 release notes would be about? It was a wild speculation 🙂 On the same thread the last short spark: with the number of technologies to interact growing uncapped – do we need developers with less specialization?
In a (looks like sticky) one liner summary: It's a different Microsoft now!