Designers by nature want to assert order on the universe. We love websites that are thoughtful and well-organized. Websites where everything just seems to make sense. When admiring others' work, it’s often too easy to imagine a design process that is similarly straightforward. A process where the ideas were arrived at logically and effortlessly. How could it not be, given the polish of the finished product?
In my experience, this ideal is all wrong. Design is messy. When a project begins, you don’t have all the answers. In fact, you may not even know all the right questions. You do the research and schedule the brainstorms, but nothing is guaranteed. Some ideas get scrapped the moment they’re sketched, while others are abandoned far too late. That feature you assumed for weeks was technically possible, in fact wasn’t. Requirements grow or feedback flips. Time forces your hand.
All this is to say, design is full of uncertainty. Our work may exist on machines, but it’s made by people and people are far from perfect. As a result, each project unfolds differently and in ways we can’t anticipate. The best designers I know embrace this messiness.