So I counter your advice by saying the best opportunity for a young engineer is likely a large company that is well-known for having generally smart people. At least I learned what I wanted and didn't in the rest of my career.
From my own experience I interviewed with a small company right out of school where I would have been the second or third developer (I forget now). One reason I did not pursue it is that I seemed to know more about development best practices than their existing developers; for example they did not use source control at all. While I would have had the opportunity to make a big impact on the product, I don't believe I would have grown much.
This is assuming that smart leadership equals no deathmarches. Deathmarches are for the young and gullible.