An engineering degree from a top university and years of experience writing code is useful, but it’s not what will set a developer apart in today’s job market. Cloud computing has changed the nature of software development, narrowing the gap between users and developers, making intuitive and captivating user experiences and user interfaces an absolute requirement, and driving software companies to a continuous-development-and-release mindset.These changes have had a profound affect on the skills and experiences developers need to be successful in their careers.
With on-premises enterprise software, developers are separated from end users by sales organizations and an army of implementation consultants. With cloud apps, many of these barriers are gone. Customers are able to kick the tires themselves with “try before you buy” programs and can do much of the go-live work on their own.
Cloud app customers also interact more directly with developers via many social support channels. Developers need to build close relationships with those customers, learning firsthand what their users need and then prioritizing future innovations based on this direct communication. This developer-customer intimacy is especially critical considering that the cloud has replaced the every-other-year software release pace with a steady flow of improvements.
In addition to seeing firsthand how customers use their software in testing and production, cloud developers can view anonymized metrics that show them exactly how their installed base is using their products. Long gone are the days of trolling through customer support logs to try to divine where customers are struggling or identify the biggest opportunities for innovation. Dashboards with anonymized usage data tell developers which features customers are using and how often, how long it takes users to complete tasks, and how often they abandon a task.
While these metrics can be immensely helpful, they can also mislead. Cloud developers must be able to figure out whether a problem is best solved with better code, a new feature, or (and this is becoming ever-more important) better application design. They can’t be happy with a “good enough” user experience but must strive to delight users with every click of the mouse or tap of the finger.
By far, the hardest adjustment for developers moving to the cloud has been the accelerated rate of shipping products. Most on-premises software companies use a waterfall development approach, whereby a large set of features (a release) goes from conceptual design to functional design to technical design to development to system testing to shipping—often taking years to complete. This slow pace isn’t acceptable to cloud customers, who have grown accustomed to having their software evolve at the same rate their businesses are evolving.
To align more closely with customer needs, all the development steps described above are now completed in a matter of months, sometimes weeks. And instead of waiting for a critical mass of hundreds or even thousands of features to ship in a new release, customers get continual incremental improvements. This just-in-time approach has left many developers flatfooted. Cloud app developers must be comfortable not only with sailing fast, but also with changing course often.
As customers continue their move to the cloud, software developers will have no choice but to embrace these changes. Developers’ success will depend less on their ability to write code to spec and will rely more on how well developers can communicate and empathize with the users of their software. Success will depend less on becoming an absolute expert in one technology area and more on becoming an absolute expert in quickly acquiring the technical skills needed to build products that delight users. And it will depend on their ability to ship code fast and often, with superb quality.
Hernan Capdevila is vice president of applications development at Oracle, responsible for leading the product vision, product management, and software development and delivery of Oracle HCM Learning Cloud, Oracle HCM Cloud Mobile, and Oracle HCM Cloud Work Life solutions.