I have a profound appreciation for well-designed things, and I feel this appreciation helps me write better software. Naturally, this wasn’t always the case. No one really teaches you why design matter in school, and even in the software industry of New Brunswick, there was nary a designer to be found.
So what sparked this appreciation? Certainly, a lot of credit for refining that appreciation should go out to the talented designers I’ve met in Toronto. But I don’t think that was the spark.
Tonight, I realized what it was.
Portal.
Seriously, the developer’s commentary on Portal showed me the staggering amount of thought they put into everything. I always thought that the hardest part of making amazing software would be the development, but (as an upper-year student) listening to the creators of that game explain their choices, the testing they performed (heh), and the thought behind everything really opened my eyes to the fact that design exists, at all.
Making amazing software requires cleverness, and designing a game around the expectations of people requires extra special cleverness, since people think in really weird, specific ways. I think that more software should be designed and developed with that same vociferous appeal to users’ expectations. I’ll also restate what I realized at the time: making amazing software requires more than just clever developers; it requires that everyone working on your team approaches their jobs with the users’ expectations in mind.