Creating a safe culture for learning is crucial to overcome the 'learning debt cycle' in software engineering.
The importance of documentation in software engineering depends on the needs of the team and the codebase, and should be decided in a learning-focused environment.
Deep dives
Understanding Cat Hicks' Work at Catharsis Consulting
Cat Hicks, a principal researcher at Catharsis Consulting, explains their work in providing evidence-based guidance to clients. Their focus is on meaningful measurement and helping partners learn real insights about their work. This includes projects like evaluating the impact of product design changes or using surveys to understand community perceptions. Catharsis Consulting emphasizes sharing research methods and integrating data-driven decision-making into a larger plan for progress.
The Learning Debt Cycle in Software Engineering
Cat Hicks conducted a report called 'Coding in the Dark' where 25 software engineers shared frustrations about actively learning on unfamiliar code bases. They described feeling like they were in the dark and navigating learning without support. The report highlights the existence of a 'learning debt cycle' where learning is undervalued and not rewarded. This cycle leads to inefficient learning experiences and a lack of emphasis on meaningful learning. Cat suggests that solving this issue requires creating a safe culture for learning and separating development feedback from performance evaluation.
Changing Perspectives on Documentation in Software Engineering
The conversation shifts to the importance of documentation in software engineering. Cat Hicks emphasizes that there is no one-size-fits-all approach to documentation and that it depends on the context and the specific codebase. Some developers prefer to rely on well-written code, while others find value in comments and documentation to provide context and aid understanding. The key is to create an environment where learning is valued, and decisions about documentation are made based on the needs of the team and the codebase.
Building a Learning Culture in Engineering Teams
Cat Hicks and the host discuss the importance of fostering a learning culture in engineering teams. They highlight the role of leaders in creating a safe environment where learning is celebrated and mistakes are seen as opportunities for growth. Suggestions include recognizing and rewarding individuals who actively support learning, separating development feedback from performance evaluation, and creating spaces for knowledge sharing, such as brown bag sessions. They emphasize that measurement should align with the learning culture and focus on continuous improvement rather than just activity or productivity.