Architecture & DesignSeven Changes 2017 Will Bring for Software Developers

Seven Changes 2017 Will Bring for Software Developers

Developer.com content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

By Siddhartha Agarwal

If you’re a developer, the top three things you focus on are:

  • Code.
  • More code.
  • Even more code, faster.

2017 will only increase the pressure on developers to be faster and more efficient in how they create new applications, add features, and extend apps. The year ahead will sharpen that focus because line-of-business leaders are demanding many more applications and features, knowing most will fail but that the handful of winners will make a bigger impact on the business… With that business environment as the backdrop, here are seven predictions I’d like to offer for what developers should expect in 2017:

1. A New Market for Artificial Intelligence Data Providers

AI will become the new UI—it’ll be one of the elements that truly set some applications apart from the others. But, there are two aspects to AI. One is the algorithms that developers write, and the second is the data that feeds the AI apps and makes them smart. Content is still king. New companies that gather valuable and unique data, anonymize it as needed, and make it available for as many frameworks/libraries/programming languages as possible will emerge. Examples could include consumer preference and browsing trend data linked to anonymous profiles; it could be data from a human resources app, aggregated from millions of employees, that can be used to predict when valuable employees are likely to leave. These new AI data providers will have the data, but the competitive advantage will come from developers knowing which is the best data and how they can use it wisely to meet a business objective.

2. Real Chatbot Applications with Natural Language Processing Will Become the Norm by 2018

We’re getting tired of having multiple mobile apps for the same purpose. I fly multiple airlines, so I would like one messaging app—say, Facebook Messenger or WeChat—through which I can say “Check in, and get my boarding pass,” rather than having to download apps from a half dozen airlines. Airlines will still need those apps, but the interface to them will be through a chatbot that understands natural languages—whether it’s text like Facebook Messenger or voice like Apple’s Siri. And it can work in reverse, with the bot telling me when it’s time to check in. Developers will look for cloud platforms that can help them leverage those chatbot capabilities efficiently, such as by allowing them to write a single interface that works across multiple chat platforms.

3. Containers Will Become More Popular than VMs, Led by Dev/Test Environments

The volume of development/test environments can be 3 to 10 times larger than production environments, due to all the staging, regression testing, performance testing, and other testing environments that customers have. Containers are going to be used as the de facto application technology foundation in these dev/test settings—even if it may be awhile before containers are used ubiquitously in production deployments. The appeal is simple: Containers improve agility so developers can create and deploy new apps and functions. However, using containers in production also creates a lot more stuff for developers to manage and maintain, such as orchestration, scheduling, and resource allocation. They’ll need a true container platform, with familiar orchestration tools such as Kubernetes or Marathon. Developers are using these cloud-based tools already, and some will keep managing and maintaining those elements themselves. Others will turn to a comprehensive cloud-based container-as-a-service, giving them the agility benefits of containers without having to spend time managing all those infrastructure elements.

4. The Number of Application Releases Will Double in the Typical Business

Here’s the new reality: It’s easier than ever before for competitors to disrupt your business. Cloud platforms and infrastructure mean that competitors can ramp up to serve your customers, under less time and expense, if their app or service viscerally connects with them. That pace of innovation has put line-of-business leaders on high alert, knowing that they need to put new apps or features in front of their customers early and often. A release might only be a trial for a controlled user community, but even then it’s in front of real customers getting real feedback. It’s a new spirit of experimentation that line-of-business leaders are embracing in a world where software—and great developers—provide a source of competitive advantage. In many ways, the change here is more about line-of-business leaders getting comfortable with putting a limited set of capabilities in front of customers, getting feedback, and refining (or killing) an app. For developers, this iterative development isn’t a new idea—they’ve been thinking for years about DevOps and a continuous integration/continuous delivery pipeline, a container-based infrastructure for quick deployment and testing, and all the other pieces needed for an agile environment. They just need to make sure that those ideas are in place to deliver more apps, faster than ever, because in 2017 those ideas become mainstream for business.

5. The Shift of Dev/Test Environments to Cloud Accelerates, on Pace for All New Apps Getting Built in the Cloud by 2020

Two big benefits come from moving app development and testing to the cloud, both of which pay off for the developer.

For developers, cloud-based app dev environments let them spin up resources quickly, which they need to respond to today’s development pace. But there’s another benefit: The resources they want to use—from APIs to continuous integration tools to developer collaboration apps—exist in the cloud already, so it’s natural to have their infrastructure in the cloud as well. One thing to watch for: If you need to keep production on-premises, make sure your cloud dev-test environment is identical to your on-premises environment, so that what you test in the cloud works seamlessly inside the data center.

For CIOs, about 30% of their IT spending goes to spinning up and running dev-test environments, with much of that capacity sitting idle. Moving those environments to the cloud can slash the dev-test cost, because CIOs pay only for the capacity developers use, and drop it as soon as a project ends. In an age of flat to declining IT budgets, cutting that app dev infrastructure cost can provide a big source of funding for the innovation budget.

6. By 2020, the Growth Rate of Citizen Developers Will Exceed That of Traditional, Java/.NET Developers

There will be a dramatic expansion in developers from people who traditionally didn’t think they were developers, due to the ease of building, customizing, and creating new capabilities in the cloud. Yes, great developers and differentiating apps are part of every company’s competitive advantage. But, developers are expensive, and custom code takes time, investment, and strategic commitment. A new generation of developers working within lines of business such as marketing, customer service, and HR, will use low-code platforms to satisfy a new-found spirit of experimentation, and business users—not just coders—will whip up mockups and prototypes using drag-and-drop tools and point-and-click interface creation. But, these are more than wireframes—half of these projects will go into production as-is. There may be challenges to properly manage and maintain these.

7. 60% of IT Organizations to Move Systems Management to the Cloud by 2020

Developers face another significant challenge in this frantic pace of app experimentation and enhancement: Customers also expect their apps to never fail. Yet, the level of technical change required for developers to consistently improve apps and experiment raises the risk of an outage or performance degradation.

That tension will fuel the shift of monitoring, performance management, log analytics, and the like, to cloud-based systems management, both for on-premises systems and cloud applications and infrastructure. This shift will allow IT teams to spend less time installing and managing complex management systems and more time analyzing the problems they do spot. Cloud-based systems will spot problems more accurately by applying machine learning and pattern recognition to larger amounts of code, using more processing power, than on-site systems could. And, they’ll do so across today’s data silos, finally giving more of an end-to-end view across development and operations.

About the Author

Siddhartha As VP, Product Management and Strategy at Oracle, Siddhartha is responsible for division strategy and revenue growth (organically & inorganically) for the Oracle Cloud Platform (Platform-as-a-Service) and Fusion Middleware across all product lines globally ($4.5B+ business). Prior to Oracle, he held several leadership positions, including WW Field Operations at Zend, VP of Sales at Solidcore Systems, and Regional VP of Sales at Totality. Siddhartha also founded companies such as Teamscape (acquired by Peoplesoft) and Contractor Online as VP of Engineering/CTO. He started his career at Oracle in development and, as Director of Development, built Oracle’s CRM eCommerce product, Internet Bill Presentment, and Payment.

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Latest Posts

Related Stories