DevEx is not just about frontend experience – it’s crucial to DevOps success
In his talk at the Shift Conference in Miami, experienced Developer Experience Leader Jeremy Meiss will focus on some of the principles of DevOps and how a strong DevEx mindset can bring Dev and Ops together.
We talked about it in more detail.
Platform Engineering is revolutionizing by creating tailored environments for developers
Jeremy believes Developer Experience extends beyond just the frontend experience, so we asked him what DevEx is for him.
“DevEx encompasses the journey of developers as they learn and deploy technology”, he says.
When it achieves its goals, it aims to remove barriers that impede developers or practitioners from succeeding in their pursuits.
DevEx, is a vital aspect of your systems, encompassing all the ways developers interact with them, not just the frontend.
It directly influences developer productivity, satisfaction, and the quality of the products they build. The choice of development tools, technologies, and platforms significantly impacts DevEx.
Because of this, he adds, it is essential to factor in the ease of use, reliability, accessible documentation, build efficiency, testing effectiveness, and deployment smoothness to optimize the overall dev experience.
And how does platform engineering fit into that picture?
“A robust DevEx is essential for effective collaboration between DevOps teams, and Platform Engineering is a direct result of understanding this. The rise of Platform Engineering represents a paradigm shift towards creating comprehensive environments specifically catering to developers’ needs”
According to Meiss, this movement abstracts the complexities of infrastructure and backend services, allowing developers to focus on creating innovative value.
With access to scalable and easy-to-use platforms, developers can streamline development processes, reduce setup time, and eliminate the toil for developers (and practitioners) which leads to a reduced, or negative, experience.
Jeremy also described what he thinks are the core principles of DevOps: Collaboration, Communication, and Shared Responsibility:
“Without these principles in place, it won’t matter what tooling you choose – you will struggle to have a good developer experience for your teams”.
When considering the integration of DevOps and DevEx, and after implementing the foundational principles within your organization, you’ll begin to notice the brilliance of DevEx shining through.
We can think about it this way, says Meiss:
- Collaboration: With a good collaborative culture in place, you’ll be able to utilize the right tools and processes (for YOUR business) together that make it easier for developers, operations, and other stakeholders to work together. This includes IDEs, version control systems, and collaboration platforms for real-time co-editing and issue tracking.
- Communication: Once you have the culture and processes in place for honest and intentional, communication and feedback across teams, you’ll be looking at the tools and platforms that streamline that information sharing and feedback. That would include CI/CD, shared dashboards, automated alert systems, etc.
- Shared Responsibility: When you have a culture where all team members are collectively accountable for the software’s quality and reliability, you’ll be able to empower them with access to the tools and information necessary to contribute across the entire software lifecycle. This includes, but is by no means all-encompassing, access to deployment and monitoring tools as well as quality assurance, security, and performance optimization.
How can UI/UX Design and API Documentation elevate DevEx?
We also asked Jeremy what role UI/UX design plays in shaping Developer Experience and how it can be optimized for developer productivity.
“When you have well-designed interfaces for development tools and code, it can have a profound impact on a developer’s workflow”, he thinks.
To ensure a seamless development process, it’s crucial to prioritize clear and intuitive UI elements, consistency, and usability. A well-structured UX that emphasizes the discoverability of features and functionalities is necessary to reduce friction, optimize development time, and ultimately boost productivity.
By focusing on problem-solving and coding tasks, he adds, developers can achieve greater efficiency, making a significant and positive impact on their workflow.
And when it comes to APIs, how do you ensure they contribute positively to Developer Experience, particularly in terms of ease of use and documentation?
Jeremy says that when you give a developer access to an API to interact with your systems, services, and tools, you’re directly having an impact on their experience. “If the documentation differs in any way from how the API works, your chances of a developer having a positive experience goes down dramatically”, he emphasizes.
To ensure a positive experience, make sure that you extensively test each of the endpoints against the documentation, and conversely, the documentation matches up.
A good step would be to also have the least technical persons in your company participate as part of your documentation validation process. This helps find the core parts missing to ensure a developer achieves the first “path to joy” necessary to get them to dive deeper into your tool.
Finally, we wanted to know how Jeremy advocates for and prioritizes Developer Experience within an organization.
“A developer’s experience with a tool can be found, and sometimes influenced, via the team that is designed to be most closely linked with them: your Developer Relations (or Advocacy or Community) team!”
DevRel and DevEx, says he in conclusion, are so intrinsically mixed and rely so closely on each other that it is hard to separate them.
“As a result, it is extremely important that the DevRel team establish and participate in the feedback cycle. One way to accomplish this is to bring specific, non-anecdotal feedback (complete with names, the company they work for, job title, use case, etc.) to the Product and Engineering teams and then continue to interact with the feedback and close the loop back to the user when a decision has been made.”