Let Me Overthink This

Posted in :

Ed

Woodworking CraftsmanI heard an excellent talk from Sandro Mancuso recently at the Nashville dotNET user group. It was titled “Outside In Design,” but his background and his writings are around software craftsmanship, a term I don’t think I had encountered. I would never consider myself a software engineer, and a don’t know if I am a data engineering craftsman, maybe that should be my aspiration.

That night’s talk wasn’t recorded, but found a few previous versions on YouTube. I’ll apologize ahead of time if my paraphrasing of his content is not near as elegant as it was in person.

When he was talking about “Outside In” design he was meaning that often back-end developers go off and polish this absolutely beautiful model of everything they think the software should be. Meanwhile, the front end developers and BA’s are talking to users about what the app actually needs to do. And when the two sides are silo’d you have this disconnect.

In the discussion with some of those there that night, he mentioned that everything has to be within constraints, and often one of the constraints is time. If we look at waterfall versus agile, you can’t take forever to have an MVP product, you have to produce something and iterate on it. He said that represented the contention between Excellence and Pragmatism. (I noticed one his books even has “Pragmatism” in the title.)

Excellence versus Pragmatism

…That really stuck with me.

It made me recall having a former boss give me this notebook that in big letters said “Let Me Overthink This.” I’m not sure if he was saying my overthinking was a good or bad thing, but I’ll own it. I do over-think and over-engineer.

I’ll spin my wheels on the edge case, that one account that has all this convoluted ETL logic when then other 400 don’t, and they represent less than 1% of the total volume of data. That same manager would often say “is the juice worth the squeeze.” And to that I probably am like until it is perfect, it is worth it. But we know that isn’t true, you make the perfect the enemy of the good.

So yes, you should try to be a craftsman (person?) and hone your skills and evolve and improve your designs, but don’t do it at the expense of getting something (usable) delivered.

Leave a Reply

Your email address will not be published. Required fields are marked *