I've spent the last few weeks improving the integration between one of our products and a third-party service, and it's been a little slower going than I'd like. Several times, I'd be cruising along, get hung up on some detail, backtrack a bit, ask a few questions - of my team, of the third party - and finally scratch and climb my way to a solution. Rinse and repeat.
Do you ever feel that way? Like a task is gonna go really well, like some brand new jigsaw puzzle fresh out of the box. You can see the pieces; just have to assemble them. But as you get further along, you realize some pieces are missing, leaving holes in the puzzle. They might be holes in your own knowledge. They might be missing or incomplete documentation, or unexpected behavior in a legacy app. Sometimes there's a workaround, but usually you just have to climb in and create the puzzle piece yourself. Fill the gap and move on.
During our team retro last week (for the uninitiated, that's when a team gets together after working on a set of tasks/stories and reflects on where the team excelled vs where they'd like to change up or improve), I mentioned not being able to finish as much as I'd have liked, and someone asked if there were anyone else who would know more? Who's the expert? And that's when it hit me.
I'm the expert - for this particular piece of the system at any rate. After the time I've invested in getting acquainted with the code, seeing what it does and how, and understanding the third party's documentation, there is no one else who knows more about how the puzzle pieces fit than I do, at this particular moment.
And really, that's what we get paid for, right? And it should be a satisfying feeling, really. There are worse things in the world than someone giving you their vote of confidence, by paying you to do what they cannot or will not - find the right puzzle pieces, however difficult, and figure out how they go together.