Commonalities: “Past me” is an idiot

Sometimes, the developers I’m working with come to me and say, “Hey, um, what’s up with this part of the design? Because [insert problem scenario here].”

Sometimes, I’ve actually accounted for that problem scenario, and I’ll explain why I did what I did.

The rest of the time, and the rest of the time is more times than I’d like to admit, I find myself looking at my design and thinking, well, that was dumb. What the hell was I thinking?

I have two options for how to proceed: I can cop to my idiocy, or I can pretend that I knew exactly what was doing at the time and that the person in front of me is ignorant or  asinine.

It’s worth noting that the developer is right in both of these scenarios. If I missed something, I screwed up the design. If the developer thinks I’ve missed something, I screwed up the communication.

Design gets a bad rap because too often we decide to cover for our own mistakes by making the person pointing them out feel like they’re the one who made the mistake.  We don’t want to look like a fool in front of others so we make others look like a fool instead.

On the other hand, it can be really hard to say “I am a moron and I am sorry I made this mistake”.  And even if it wasn’t hard from an ego standpoint, there are plenty of situations where internal politics and relationship-building and the like may already be in a bad place, so saying anything that sounds like “I am underskilled for this scenario” can be legitimately harmful to our personal positions or the position of UX in our organizations.

Which is why I’ve started to say, “Oh my God, Past Me was an idiot. I’m sorry, let me fix this.”

Everyone has a Past Me persona, whether they call it by name or not. Developers in particularly have to argue with their Past Mes all the time.

Software Engineering Woes: Me: Who wrote this code?! This is awful! Me: What sort of idiot would code it this way?? It's just flat-out wrong! Me: ... Me: I wrote this code, two months ago. Me: Man, past me was a moron.

Past Me is a moron. Every developer knows Past Me was a moron. Every developer at multiple stages of their career has to admit that Past Me screwed up, and Current Me has to deal with the consequences.

Almost without fail, the developer grins. They’re glad to know that my Past Me is just as stupid as their Past Me.  Yes, we make mistakes, yes, we learn from them, and we’ll try to do better in the future.

And we’re all in this together, trying to overcome our Past Mes while simultaneously knowing that Future Me is a know-it-all who’s going to be baffled by the decisions we made today.