The developer experience has a huge impact on the success of software projects. Poor developer experiences can lead to increased project costs, decreased developer productivity, and slower product releases.
Talk to the team Book a Free DevEx ConsultationThe developer experience (devex) is a concept that tries to manage and measure the ease with which it takes to create software within an organisation. It includes all aspects of coding, debugging and testing — as well as any other processes involved in the development process like deployments, and provisioning of non-production and production infrastructure. The developer experience should be tailored to the developer’s individual needs, ensuring they have access to the best tools and resources available to complete the job without unnecessary friction or blocking. Organisations must consider elements such as code quality, developer support and overall developer satisfaction when creating a positive developer experience. The goal is to empower developers in their work, helping them achieve their objectives more easily and quickly. By providing a great developer experience, organisations can foster innovation and collaboration, encouraging developers to strive for the best results possible.
Developer experience consists of the following components Tools, Workflows and Processes.
Tools help automate the development process, they remove the grunt work and enable developers to focus on the problem domain. The most common tool is the CICD server which manages the source code integration as well as automating the build and testing of code. The CICD server is extensible and integrates with thousands of other tools which enables you to customise how you integrate with 3rd parties. The tools alone won’t provide a very good developer experience and it is necessary that we leverage the CICD server in a particular way to ensure that it is optimised to provide feedback fast to the developer. In fact CICD servers are commonly the cause for bad developer experiences.
Workflows describe the process that code needs to follow in order to refine source code. Workflows are commonly referred to as pipelines but as pipelines are specific to CICD tools we refer to them here as workflows. A developer can have source code in a repository and the repository has a workflow which describes how the source code is built, packaged, tested and deployed to the non-production environment and perhaps even production. There can be as many stages in the workflow as necessary to refine the source code and validate it for production. The workflow can reach from the source code repository through to the production environment and on its journey through the workflow the source code can pass through multiple systems that scan it, analyse it and in the end deploy it to production. Like tools the workflow itself is also commonly the cause for bad developer experiences.
Processes describe the human element of the developer experience and can include collaboration between different teams, can include the process for deploying code to prodution or even validating that the code is ready for production. The different processes a developer must follow can have a impact on the developer experience and there are some patterns that should be avoided. For example beauracratic processes are harmful to the developer experience. Your organisation needs to invest in removing all kinds of beauracracy and harvest evidence of rediness from the outputs of the workflow and if any beauracracy is necessary to use these outputs as inputs into any forms or rubber stamping exercises. The main issue with beauracracy is it doesn’t have a deadline. Developers have deadlines and when a part of the organisation does not have a deadline it can lead to unreasonable expectations. You want your developers to be efficient and fast but they have to wait x days for approvals. With automation it should be possible for processes to be automated and for their to be less beauracracy within organisations.
We created a platform to build and deliver dozens of natural language learning chatbots to help improve customer service on the websites for maisons like Tag Heuer, Sephora, 24Sevres.
How hard can it be to support a development team in mainland China? We encountered many challenges, many surprises but helped them deliver the application.
How a major UK supermarket transitioned from monthly releases to 50 releases a day with Servana. Find out how in this case study.
Get experienced DevOps consultants on a flexible basis into your teams to unblock your developers, build great software and the cloud platforms to run it.
Unblock your developers with professional support for DevOps Tools, Practices and Cloud Services.
The Managed Jenkins Service is fast, secure, reliable and fully managed by certified Jenkins Software experts. Perfect for busy software development teams.
Retire your existing application hosting. Get a fully managed cloud-native hosting service to improve any applications reliability and user experience.
There are millions of frustrated software developers working in organisations with suboptimal developer experiences. We look at the 3 major causes.
Your questions answered.
Organisations that don’t have dedicated DevOps engineers can leverage our DevOps-as-a-service to augment skill gaps in their software development teams to help improve the developer experience. DevOps is one of the most important methods of improving the developer experience and one way to measure successful DevOps is the ability to reduce the friction in the development process by automating as much of the process as possible while ensuring it is fast.
No it definitely does not. We create some amazing developer experiences with Jenkins CI and using declaratice pipelines and shared libraries can have very extensible pipelines and workflows that allow developers to be very happy.
The high confidence we currently have on our platform infrastructure and deployment processes is thanks to the team at Servana. Their experienced, methodical and inclusive approach to DevOps has helped create a great environment for the team and our product.
Harin Vaghela, Product Owner, LVMH Digital