I am a senior developer and have been for the better part of a decade. I’ve been let go from almost every job I’ve ever had. I once had a mid-year review that started with my boss telling me he wanted to fire me but wasn’t allowed to. I’ve caused production issues, been the only person awake for a major outage, and had demos just completely fail. I’m currently working a ticket where I’m in the seventh circle of dependency hell and have 5 minutes of “bang head on desk” time every hour.
Being a developer is great. You get to transform carefully placed words and symbols into actions and designs. When these words and symbols come together, you feel like a magician. When my code compiles and does what I expect it to, I spend at least 5 minutes running around my house with my hands in the air celebrating. My dogs follow me around in confusion, but I pretend they’ve joined my parade. (Side note: it’s probably a good thing I’m the only person home during the work day.)
And then the SDET gets to my ticket and tells me all the ways my code doesn’t actually work. When I was a newer developer, having testers send back my code was crushing. What do you mean my code isn’t perfect??? Didn’t you see my parade???? But now every time my code is sent back, I want to give the tester a hug. Yes! Thank you!! You’re saving me from a production issue!!!! Production issues are a nightmare to be avoided at all costs.
When I see developers struggling with problems, I encourage them to go find a buddy to pair with them on the problem. Having a fresh set of eyes and a second brain can help find the solution and alleviate the pain much faster than struggling on your own. But most developers are scared of asking for help. They don’t want to be vulnerable and seem like a failure. Let me let you in on a little secret: Every developer has struggled at some point in their career. We’ve all had the test that won’t pass or the acceptance criteria that doesn’t make sense or the spike with the extremely complex web of solutions. It is 5000% okay to ask for help on an issue and no one will think less of you as a developer. And people who do judge others for asking questions and trying to learn are not good teammates.
As a senior developer, I’ve started going out of my way to point out all the times I’ve had to find a designated adult to help with an issue. Especially to all the newer developers I know. I want them to know that they are not alone and that all developers struggle and feel like failures. It’s not just newer developers. In doing so, I’ve found that more developers have started speaking up sooner when they are having issues and my team is working together more effectively.
Failure happens. Normalize it.