Soothsayers, prophets, mediums, oracles – call them what you will. Every culture has relied on those who attempt to predict the future. Of course, the prediction business is fraught with peril. The objectives are to consider the pertinent over the irrelevant, to do more good than harm, and to be more right than wrong:
- Successfully predicting ocean currents in the Pacific isn’t much help to someone rounding the Cape of Good Hope.
- Nobody wants to steer their respective ships into the rocks.
- Staying afloat and heading in the right general direction is usually good enough.
I deal with lots of software development projects, so it’s important to make some educated guesses on how technology is evolving and what tools will be available in the coming year. With that in mind, I’m sharing a few thoughts on .NET development trends in 2017.
The pendulum swings back and forth on this one. Right now, it is swinging toward cross-platform solutions. This is being driven by continued acceptance of C# in non-Microsoft environments and the availability of Xamarin to target Android and iOS platforms.
- Xamarin and the Internet of Things (IoT): Xamarin has emerged as the leading x-platform tool. Windows 10 IoT Core is gaining ground with support for Raspberry Pi and other embedded options.
- Non-Visual Studio Development: Demand for C# developers using Mono, et al, will increase as cross platform adoption expands. Developers are unlikely to want to do everything in Linux, only to switch to Windows so they can develop in Visual Studio.
Right now, there is a significant demand for full-stack developers and SDETs. I expect this to subside in the coming year. More solutions will emerge that require expertise in specific areas, especially when dealing with patterns that separate functionality by design.
- Subject Matter Experts: As the full-stack spectrum continues to expand, there will be a correlated dilution of supported capabilities. This will result in the need for a higher level of competence with specific components than a traditional full-stack developer will be able to achieve.
- Separation of Duties: Model/View driven development will be responsible for some of this as applications are separated by design and can be developed in parallel. Front-end and back-end development will emerge as standards for services become more familiar and user interface (UI) demands become more complex.
- Azure: Azure will continue to make inroads with larger enterprise presences in the cloud. Microsoft is clearly dedicated to making that happen. How it will overcome the efficiency gap of an AWS open source stack remains to be seen. Release of .NET Framework (Core) as open source is a step in that direction. Continued desire to use the Azure Service Bus for SOA implementations will be a driving factor.
- Adobe: Adobe is forging alliances with Magento, Symphony OmniChannel, and others to foster continued growth in e-commerce and marketing. Resources capable of integrating the Adobe Suite in .NET development projects will be in high demand. Adobe has recently been forging closer alliances with Microsoft. Expect that trend to continue with increased integration.