Imagine the prospect of the first day in a new job as a software developer. Beyond the meetings with HR, managers and team leaders, there is also likely to be a stack of training material and documentation around company policies to get through. These things precede the really hard stuff, which is around getting to grips with the tools and procedures used to develop and release code into a production environment.
In an ideal scenario, a developer should be productive from day one, committing code for production as soon as possible. This becomes more important as enterprises ramp up in-house software development efforts, which means hiring new developers.
Philip Walsh, a senior principal analyst in the software engineering practice at Gartner, says there is an overall trend towards building more software and buying less.
One of the techniques software teams are using to ensure developers can find everything they require to get coding is to use some kind of developer platform, which serves as a one-stop shop for tools, software libraries, documentation and sample code. It can start out simply as a Wiki page or intranet, but there are a number of platforms that help to pull together everything a developer needs to remain productive.
On GitHub, Microsoft has provided a template for onboarding developers. According to Microsoft, onboarding documentation should contain details of engagement scope, team processes, codebase, coding standards, team agreements, software requirements and setup details.
From what software engineering leaders told Gartner in a recent survey, it can be really valuable to provide an app store-like experience for developers, where they can select the tools they think will be most useful.
One example of this approach can be gleaned from a document Google published as part of its Apigee API (application programming interface) management tool, discussing how IT teams can create a great developer experience. In the document, Google recommends that IT leaders build a developer community, offer a developer portal and APIs that are crawlable by search engines, and provide self-service onboarding for new users. It says the developer portal should include role-based access control, a registry of available APIs, documentation and tutorials, plus sample code and a sandbox environment where developers can begin experimenting.
Lessons from the open source community
Gartner has also looked at the role of having open source programme offices in large enterprises.
“Organisations are starting to see the value of having a dedicated open source programme office in-house and an open source programme director or leader to coordinate their open source strategy,” says Walsh.
He believes enterprise software team leaders can learn a lot from the open source community, in terms of how to collaborate at scale and coordinate activities in an efficient way to achieve the desired end result. “Gartner recommends adopting the principles of open source development internally in your organisation,” he says. Gartner calls this inner sourcing.
It involves establishing clear standards and guidelines for code contribution and documentation requirements, to ensure developers are on the same page. Gartner also advises software engineering leaders who want to create an open source-like culture to implement shared backlogs and asset repositories to drive a collaborative approach to software development.
Developing in the data era
RedMonk analyst Stephen O’Grady points out that while the explosion in database, development and infrastructure tooling in recent years has put more resources into the hands of developers, it has also led to a heavily fragmented and inefficient developer experience.
“Enterprises are focusing on opportunities to thoughtfully retool their workflows to make them faster and more integrated,” he says. “The C-suite is making these investments not just because it benefits developers by delivering a higher-quality and lower-friction experience, but because having more efficient developers that are able to iterate more quickly is the single best mechanism for improving an organisation’s overall velocity.”
This is one of the long-term visions of MongoDB, as Sahir Azam, chief product officer at MongoDB, explains: “Building modern, intelligent applications that take advantage of application-driven analytics requires harnessing insights from application data and incorporating those insights back into applications to adjust business logic in real time.”
AI for developer experience
One of the more exciting areas of developer experience is the role of artificial intelligence (AI) in supporting software developers and helping to reduce their workload.
Computer Weekly previously spoke to Software AG about how large language models (LLMs) can be used to solve the complex problem of field mapping when integrating different IT systems.
Another example of how AI is being used is Robin AI, a tool that was initially developed for internal use at software firm Integral, to assist its engineers in writing performant and robust code. Powered by GPT, Robin AI uses natural language processing (NLP) capabilities to review code changes. Integral has recently made Robin AI open source.
John Kuhn, co-founder and CTO at Integral, says: “Robin AI has served us well in boosting product velocity and reducing production bugs for Integral’s engineering team. By open sourcing the software, we hope that developers worldwide can automate and optimise their code change reviews, increasing quality and productivity.”
Make a case for improving developer experience
Developer experience is about reducing cognitive overload to make it easier for software engineers to build and operate applications.
The idea of teams of developers spending more time looking for the right information just to get started drove Spotify to build a developer portal, Backstage, powered by a software catalogue. According to Spotify, the goal was to centralise and simplify end-to-end software development with an abstraction layer that sits on top of all of the company’s software infrastructure and developer tooling. The internal Backstage tool has now been donated to the Cloud Native Computing Forum (CNCF) as an open source framework.
Developer experience is undoubtedly going to play an increasingly important role as IT departments are forced to do more with less. Al Gillen, group vice-president of software development and open source at IDC, says: “The high demand for software development, further expanded by the pandemic, has put substantial stress on developers that already were in short supply.”
Given that organisations typically spend as much as two-thirds of their time and money on maintaining existing applications (see EDF example of developer prioritisation), Gillen believes the IT industry will increasingly add AI, automation and discoverability to software development activities. These technologies will not just be limited to new projects, but could also be used to support the time-consuming task of modernising existing applications.