To have a strong position in the analytics economy, the applications for high performance analytics need to be accessible and embeddable. Therefore, developer experience is becoming more and more important. Analytics developers have become the new customers for many technology organisations. Their experience influence decisions and shape the way analytics is consumed. But how, in practical terms, does this change things? What is being seen or done differently for developers to have a better experience?
Flexibility is key
It is clear that one of the key priorities for developers is flexibility. They want to be able to approach analytics in their preferred programming language. This means that analytics packages need to offer that flexibility to make them as accessible as possible. REST APIs are an essential part of this, but above all, APIs need to be pragmatic. In other words, they should be organised around functional areas, not products.
Being able to access the open source ecosystem is also crucial for developers, and this helps to ensure that analytics providers focus on flexibility and compatibility. The availability of open source allows developers to choose the right tool for the job, and therefore enables experimentation. And when open source is often the preferred tool, building compatible blocks that can be connected to other ecosystems becomes crucial.
Sharing, learning and building
Developers are often curious, and want the opportunity to share, learn and discuss with others. Whether online or in person, building and maintaining relationships within a community is important. There are few large off-line groups, but especially the online communities allow the opportunity to build a reputation among peers, which many developers value highly.
Developer communities are also powerful resources that can help developers learn, network and share. Setting up formal support takes time and money, and communities offer a “quick and cheap” alternative in many cases. In one survey on StackOverflow, 90% of users reported that they had found solutions using the community, and the same situation is broadly true for SAS communities.
One growing value for developers is being able to “pay it forward”: Building on top of what has already been developed, and then sharing for others. This is an important function of developer communities. It allows developers to validate their work, create better solutions, and have personal satisfaction.
More importantly, perhaps, sharing code and using communities help to ensure quality. Developers looking to build a good reputation will want to make sure that anything they share is worthwhile, and building on other people’s work helps to improve the quality.
What we have discussed so far is how to meet developers’ needs. There is, however, another perspective; how providers can engage with the developers and developer communities to improve the quality of their products and services. For example, how can providers use communities to help ensure that APIs are flexible, literate and easy to use? What, in other words, do providers need to do to enable them to tap into this resource, and even create partnerships with developers?
It starts with being open and approachable. Welcoming feedback is the first step in obtaining it. Analytics providers need to take the time to invite developers to give feedback, provide them the tools to experiment and the platform to share opinions and developments. Then they need to listen to the responses, and act on at least some of them. The developers may even contribute directly to the improvements on collaborative platforms like GitHub.
What is in it for the developers, why would they care? Many developers would be happy to offer feedback because they are curious and passionate about their work and they like exploring new ways of making things work more efficiently. They may, however, get tired of doing so if there is no acknowledgement or appreciation of their efforts.
To obtain useful and usable contributions, providers need to embrace the free-spirit mindset of developers who may not necessarily want to contribute in line with specific guidelines or the roadmap of the companies. These off-track inputs make the contributions even more valuable. Developers are likely to become partners if they see that their contributions are welcomed, valued and treated as such. And they get the improvements they ask for in return.
The bottom line is that within this connected world there has never been a better time to be involved in advanced analytics and the design of applications. It is the right time to move faster together, and all for the price of a bit of passion and trust.