A few days ago I went to a meeting and we were discussing (among lots of different topics) various optimizing mechanisms for a web application.

After the meeting had ended, I came to the conclusion that, implicit in all the conversation, I was not fully aware of the most obvious step previous to any optimization:

Measure You cannot optimize if you don’t know what do you need to optimize. Is it a database problem? A web problem?

The guy interviewing had tried to push me further. What to measure? Memory, CPU and request time I vaguely remember replying. What tools to use? At that point I probably screwed up the meeting, but that worth a post on its own.

I was thinking along these terms while preparing for a different interview. And I suddenly realized that “what to measure” is also important and the answer I provided can be valid but is not the only one. Yes, I knew it from courses. But now I’ve learnt it.

Good thing about selection processes is that you learn a lot from the processes themselves.

First published here