I'm not asking why optimization is important, I'm asking about the notation that only seems to appear in interviews.
It is important to distinguish between asymptotic optimization vs. i/o optimization vs. code optimization.
I'd argue if you can't do the first one you're less likely to be able to handle the next two. Yes, you can do it intuitively to some extent. However, I think it's important to be systematic about it so we can have meaningful conversations about it beyond "doing it this way is slow and if we do it this way it's faster."
(Then again, I also am involved in a few constant-time optimisation discussions a year, where cache coherency beats out complexity as useful in an algorithm.)
I don't expect people to know the notation, but I expect that they can explain the underlying values for a particular algorithm.
Knowing the complexity of algorithms is important, correct? How would you go about teaching something like that to a student? Limit yourself to generic terms like linear vs exponential? Would that student have as nuanced an understanding of the subject compared to if he or she learned Big-O notation?
If you have a basic understanding complexity you almost certainly have seen and can more or less read the notation, as you probably needed it in order to develop that understanding of complexity in the first place. Whether you really need to understand some of the finer details, if you should have a tattoo of the Master theorem, well, I don't know.
("You" being whoever, not you).