Skip to content
#Processes

Let's talk about DX, Baby! - Jo Franchetti - NDC London 2024

#Processes #Management #Performance #Engineering #Software #SoftwareDevelopment #Leadership

This one report Joe Franketti at the NDC conference 2024 Dedicated to developer experience (DX, DevEx)A few whitepapers have been released recently. This topic appeals to me, so I will briefly tell you what was discussed in this report:

  • The author talks about DXIt tells the story of a developer who had difficulty integrating a new tool. There are three components of the DX approach: Cognitive load, flow state and feedback loops -- Cognitive load This is the amount of information that the developer must process to complete the task. -- Flow status A state of mind when a person is fully immersed in their activities and feels motivated and effective. -- Feedback loops The speed and quality of response to actions taken The thesis goes on to say that working to improve the developer experience can reduce cognitive load and increase productivity. To get into the flow state, we need an environment where there is a balance between the level of skill and the tasks that developers face. This allows developers to feel that they are in control of the process and can use tools. Feedback loops allow developers to get information about whether they are performing tasks correctly and where they are experiencing difficulties. (Conditionally, CI/CD launches with running tests give useful feedback, but if we wait for hours, then we lose in efficiency.)

Surveys can be used to measure and evaluate changes (NPS, CSAT), code quality assessment (code complexity, code coverage, number of bugs, number of issues), developer productivity (You can measure it differently.), development lifecycle Next articleSeparate Internal DX and External DX -- Internal DX Focus on improving productivity, aligning with business goals -- External DX focus on adoption rates, community engagement and product promotion to a wider audience And then the author shows hygienic factors when creating repositories with code: Compliance with coding standards Use of dev containers and codespaces Avoiding global settings Creating a comprehensive readme that includes introduction, goals, objectives, key features, use, configuration, limitations, recommendations for changes, contact details, code of conduct, license. Competent writing of technical texts, understanding the audience, creating an image of the reader. Creating understandable code – features without side effects, functions with fewer arguments, promises over callbacks, early returns from functions, etc. It’s important to keep track of the readability of the code, as most of the time we maintain the code we’ve already created rather than creating a new one. Complex code increases cognitive load and impairs developer experience

In the end, the author calls for improving the developer experience and encourages discussion and exchange of views on how to make the code more understandable and easy to read.

P.S. I have written several articles on developer productivity and developer experience.

#Processes #Management #Performance #Engineering #Software #SoftwareDevelopment #Leadership