Dash is DataDog's annual conference, which like many things in 2020 was held virtually. I took the opportunity to watch a few of the talks and personally found these two pretty great. Whilst I'll leave my thoughts below, I won't be summarising the full talks so encourage you to watch them yourselves.
Measuring Software Quality at Instacart
Whilst most software engineers agree that testing is important, there is often a lot of discussion about what is the appropriate amount of tests and where to test them. I've found this even harder to answer when dealing with distributed service architectures.
In terms of metrics, about the only one I've seen used in practice is test coverage (whether by lines or logic). Whilst useful for telling us about the health of a piece of code, it doesn't tell us much about how we are doing in our full development life cycle.
Finally, the last area I've never really seen is the workflow that is used to manage to lifecycle of failing tests; and in turn the types of systems that can be used to support such a workflow.
This talk does a great job of covering these questions and for me provides a great framework for maturing testing within a company.
Beyond Writing from Scratch
I think one of the most important software engineering lessons I learnt from my first job was that full system rewrites are to be avoided - especially when you are talking about monolithic systems. Instead gradual, iterative approaches are to be preferred.
This talk provides some techniques for increasing your understanding and trust of a system without resorting to full rewrites.