Finding guidance and inspiration from a mix of software leaders, scholars, and a few unexpected heroes.

One of the best parts of working in software is experiencing the spirit of collaboration and sharing that dominate this industry. Recently, I was fortunate enough to attend a couple events full of learning opportunities about the present and future trends influencing product strategy and tactics at software companies. The first, MLconf 2016 in San Francisco, showcased the exploding possibilities of machine learning and artificial intelligence in software development. The second event, Defrag 2016 in Denver, provided a much wider-ranging survey of the opportunities and challenges facing technologists today.
While I met so many interesting people and digested more content than I could ever hope to recap here, I do plan to focus on four themes that struck me as being particularly resonant for my work as a product strategy influencer and technologist. These trends should be part of the strategy for every emerging and growing software company. For you, I hope these posts will serve as starting points for conversation and further exploration. In this post, I’ll summarize the four themes and what they mean from a strategic perspective.
Data Science Is More Critical — and Complex — Than Ever
Both events showcased content surrounding all the advances in machine learning tools, platforms, and services. This remains a fast-changing space where available technology vastly exceeds expertise, which is a shame because data science can really help teams drive additional value out of their products. Facebook, Google, Amazon, and other big names are well-known for leveraging data science to improve their customers’ experience. These efforts have inspired a variety of open source and commercial applications that product teams can use to incorporate machine learning and artificial intelligence into their own products.
The challenge for software businesses is that the pioneers of data science-powered products have set the bar incredibly high for the quality and usefulness of intelligent features. Choosing from the vast landscape of tools and applications introduces additional complexity into the planning and implementation of data science projects. Also, these projects can become incredibly expensive and time-consuming while still not delivering value for end users.
The right data science projects are driven by an optimal intersection of data availability, anticipated customer value, and implementation feasibility. Similar to other product features, data science initiatives should be designed, tested, and iterated on with real customers. Most importantly, product leaders need to leverage the right expertise to ensure the success of their efforts. In the future, we will explore a framework for selecting and executing data science projects with the right technologies and partners.
The Future Is Not DevOps — It’s No-Ops
Some time ago, we moved into a post-infrastructure world, where software companies no longer managed their own data centers or dedicated personnel to managing individual servers. With infrastructure and platforms now delivered as a service, the term “DevOps” emerged to describe the new practices surrounding deploying, managing, and supporting applications in the cloud. While this movement greatly reduced the associated complexity and expense, most teams still fall short in terms of DevOps experience and expertise.
The emergence and maturation of microservices platforms like AWS Lambda stand to revolutionize application design and deployment, ushering the possibility of a “NoOps” approach to architecture. Last year, Lambda likely served as an experimental or point solution for many development teams as it lacked the sophisticated control and coordination necessary for complex production environments. Now, commercial vendors and the community have developed best practices, tools, and services designed to make microservices a compelling choice for application architecture. These microservices eliminate almost all the management and support overhead associated with even the most progressive cloud application platforms, scaling automatically and limitlessly as demand dictates.
From Construction to Composition
Traditional application development focused on building the perfect balance of rich functionality and a compelling user experience. Design became a critical consideration, especially as mobile devices offered rich new ways for users to interact within the containers of an application. However, as barriers to building rich, compelling applications fell away, users were presented with an exploding variety of software choices for a given need — many of these options became indistinguishable from one another.
Software buyers expect their applications to work together more seamlessly than ever before. The boundaries between software applications are slipping away, reducing the need for all-encompassing user experiences. Instead, users want the contributive value of their application choices in whichever environment they’re working. While the prevalence of APIs and developer-oriented services has been growing for quite some time, we are seeing a shift toward building software applications service-first so they can be more easily integrated into other platforms (and experiencing significant financial success — see Twilio). Conversely, software applications need to focus on building their own unique value and augmenting with the wide variety of third-party applications and services to fulfill other user expectations.
An Industry Takes a Hard Look in the Mirror
While all the above trends present exciting opportunities for companies and teams to do more faster, one trend should continue to give us pause. Most software development and leadership teams lack socioeconomic, gender, and racial diversity, stifling the richness of culture and heritage that can make organizations great. Current events cast entire populations as having lost hope that they have access to opportunity for economic wellbeing. We in the software industry know that we create secure, high-paying jobs likely to be sustainable for many years to come. Yet, we haven’t been able to find a way to pull in the people who are most likely to benefit from access to these opportunities.
With all that is happening right now, it was inspiring to hear the stories at these events about those who are working to make real change. We are surrounded by some of the smartest, most energetic people in this industry. It’s clear, though, that change requires commitment and not just curiosity. One such story came from Charles Ashley III, President of Cultivate Coders, whose journey led him from the south side of Chicago to now running code camps in rural communities previously neglected by technology education. The best part is that he’s not even a coder himself — he simply saw a problem that could be solved by technologists and committed himself to pulling together all the resources necessary to bring Cultivate Coders to life. I plan to share more about his story as well as other ways the technology can improve the community.