As I wrote in my first blog post on the return of custom software development, cloud platforms are dramatically reshaping application development.
A lot of new cloud technology, patterns and paradigms are hitting us very quickly. Many of them are coming out of open source communities and from cloud native providers and their ecosystems.
The pace of change is faster and the need to navigate adoption of these new technologies is more intense, as is the commitment to adjust and maintain as you evolve.
You don’t see the traditional technology adoption curve that large enterprises have typically dealt with. Newer approaches mean developing in agile fashion, releasing subcomponents of systems in the form of microservices. Companies need to expose their APIs as web services to monetize their offerings. They also need to create and release new mobile applications and platforms.
To produce a solution that is truly disruptive, you need to bring together a huge number of moving parts: mobility, APIs, new web architectures, all the cloud services underneath it and new delivery models around DevOps and containerization.
To unlock the ability to do custom development at scale in a transformative way, all these parts need to come together. That means companies need to attract and/or train people who know how to do all this.
Finding the right skills, experience
What kinds of skills do you need? Well, they’ll be different than what was required five or six years ago—from developing a product strategy in this new digital marketplace all the way down to custom development. You need people who:
Have hard development skills around two-tier architecture (like Node.js and Angular) evolving from traditional three tier architectures /MVC architectures—no longer just Java EJBs.
Are experienced in doing infrastructure as code, using Powershell or Chef and Azure deployment templates or Amazon cloud formations to do the infrastructure as code development under the covers.
Understand the importance of DevOps tool chains in developing the custom applications and the various delivery patterns around agile, scrum, Kanban and so forth.
Have experience in “productizing” digital services—how to price, meter, foster usage and release new features to market.
Understanding the ecosystem
An additional skill needed is understanding and managing a continuously evolving ecosystem of cloud technology providers and features. Thousands of new features are delivered every month. What are the cloud vendors doing? How is the marketplace evolving? What’s happening as packaged software is converted to SaaS solution? What are the latest patterns and practices in doing all of this?
Understanding that ecosystem—how it’s evolving and even, potentially, how to influence it—is important. Do you have the internal capabilities to set your strategy and forge your own ecosystem in the midst of this complexity? That’s a big question.
The traditional provider/consumer approach of IT is shifting as a result of cloud and an as-a-Service consumption of capabilities. That means that companies’ adoption and consumption of IT needs to evolve at the same time.
What’s your retention strategy?
One final point: Finding people with the skills you need is a victory of sorts, but it could be short-won.
Those folks are in high demand in the marketplace. What’s your strategy for not only recruiting and hiring talent, but also development and retention?
That’s a question all organizations will need to ask themselves to remain competitive in the digital marketplace.