In any big organisation there are a number of applications that have been running in production for many years but still need maintaining. Sometimes those systems are in limp home mode and we can only make small changes to help them across the finish line. This is not a very appealing scenario to an engineer with a can-fix attitude, but there are still many benefits to getting involved in troubleshooting live issues.
More like this
I used to think that greenfield projects and new features are the most important areas that would give me opportunities for learning, but I have realised looking back at my experience that digging into code that I had not written or from a project I was not part of has given me many benefits: confidence in stepping into the unknown, a better understanding of systems that seemed to be a black box and also the ability to predict possible pitfalls when implementing new systems and prevent failures!
Part of the growing journey of any engineer should involve troubleshooting live issues but also learning how to bring people along who are not as experienced. I think by focusing on the positive aspects of maintaining production systems we can demystify that a good application has no failures and also learn to be a bit more compassionate with our own code and the code that others write.
In this talk I would like to share the steps I went through when I could no longer avoid diving into the unknown, some anecdotes of things I’ve learnt and how I have been trying to get my team excited about sharing the brunt of helping production systems continue running.
Key takeaways:
- Legacy systems offer an opportunity to learn, but a different approach is needed
- Learn the three skills that will help you make sense and manage. Sharing the responsibility of maintaining production systems brings greater benefits to teams by fostering teamwork and empathy.