Software systems and configurations fail often even when they used to work the day or even an hour before.
Working on software development has helped me built higher resilience, tolerance, and patience toward errors and fixing them. Why? Because software breaks more often than we would like them to and sometimes we don’t know the exact reason, but as an engineer, we need to fix them regardless, so we can continue working.
I mean, I know why it breaks – hint: systems’ interconnectivity and versioning.
Although it’s a pain sometimes, the reward and satisfaction when things work outweigh these painful moments.
After years of building and fixing, I’ve created processes to handle these situations.
Document everything
Something I usually do when there is a problem is to document the issue (reasons it fails and how to fix it), steps to fix along with all its different parts – links, logins, versions, and interconnectivity with other systems and configurations.
Take screenshots
Our memory is a lot more selective than we think it is. Therefore, I take screenshots and them to documents to speed up the fix. I take screenshots of every step, from beginning to end, because our brain might remember steps, but forgets how things and places look like in the application.
Talk to people
If you are having a problem, more often than not someone else might have also had it and fixed it, so do one of the following:
- Reach out to a coworker
- Search online (Google, YouTube, StackOverflow, blogs)
- Review your documentation
I wrote this as I’m trying to fix my local environment to keep working, and it’s taking around 10-15 minutes.