One of the problems with being a new developer is that I have so little confidence in my skills, even when I should trust my gut.
My team is currently working on an engineering wide initiative to convert our codebase to a new Permissions model. This week I've had the task of taking a particular scary bit of code and migrating it over.
Today, I was working on a Python integration test failure that didn't make any sense. By all means, this test should have been passing. I spent a couple hours on Wednesday struggling over this code, trying to figure out what it was that I was doing wrong. But I couldn't see anything! Naturally, I figured I must have missed something. I made some mistake, somewhere. I'm new at this, after all. I must have done something wrong.
But after spending 5 hours digging into deep layers of this code, three services away from the code I modified, getting the help of two of my teammates and my manager and then finally an engineer from another team, we finally figured it out -- it was an issue with our development environment and the new caching the devtools team had released about a week ago. It wasn't my code, or me, after all.
While that's relieving, it's also unnerving that I could spend so much effort and emotional energy on a problem like this when really, I should trust my gut and believe in myself and that I know what I'm doing, that my code WAS correct, and to ask for help earlier and escalate right away when there are no obvious answers. If I had escalated to the other team, even to just ask earlier on if they had any suspicions on why I might be seeing that behavior, I could have avoided so much pain and hours of struggling!
So the lessons from this week:
Trust my gut
Ask questions earlier and ask for help earlier.
Don't be afraid of asking silly questions.
I do know what I'm doing. Believe in myself.