That is a pretty valuable realization. To clearly see how you've been an idiot and pinpoint a flow in your thinking. I look forward to these as a sign that I'm learning and growing.

One such realization is this idea of doing everything systematically. The idea of walking the path of entrepreneurship with some grace and elegance.

One of my programming students recently shared this aspiration he has: I really want to code a data structure from scratch. I want to code from memory without looking anything up and I want to see how fast I can do it.

I smiled (and shook my head, inside). I explained that while that's a nice thought, it's not necessary to be able to do that. ever. to be an effective software developer or to have productive career.

(he is smart guy, studious, has a PhD in chemistry and has transitioned to software in the last year. I imagine he could do the above, but that wouldn't be the point)

I recognize this type of thinking. This type of earnestness. Some (misplaced) desire for excellence.

Similarly, I can sense that there are things I've been thinking around entrepreneurship that would seem plain naive to someone who's already done this entrepreneur-ing thing in practice before.

In theory, there is no difference between theory and practice. In practice, there is.

I remember this from one my commencement speech. I don't know who was the speaker and what else they said. But I distinctly remember the above words.

In practice, programming is messy. Always will be. No matter how much experience you get. (I know this now, didn't always. There was a time when I thought I was going to learn EVERYTHING and be perfect at it). There is no perfection to be had.

Why would business building be any different. There is only so much I can learn from other's experience. There is only so much I can learn from books and theory. Practice is where it's at.