I think a good engineer should always be thinking of failure states.
The key imo is that seniors know how to delegate.
Trust me, giving a feature you know you can build to someone else and guiding them no matter how slow and ensuring the feature gets completed well is key.
I'm very curious, what really distinguishes a mid-level engineer from a senior engineer?
To me, it’s not just about writing better code.
Mid-level: writes code that works.
Senior: writes code that works, fails gracefully, and can be debugged by anyone.
So IMO, the real gap is thinking in terms of failure states.
Not “what works in ideal conditions,” but “what breaks, how it breaks, and what happens next.”
I’d like to hear from others on this. What do you think actually separates mid-level from senior engineers?