I don't know how representative it is as a whole, but my experience (working for various companies of 15-200 employees) has been that there are two classes of engineers: - Those that have been there for years (3/5/since the beginning), are usually underpaid for the long hours they put in, and may or may not have stock options. - The rest of us. And it seems that the first group rarely moves on. I suspect it's because…
12-18 months job change sounds a bit too much, especially after you have a few years of experience under your belt.
Technical lessons about design, architecture, and infrastructure choices one has made, how they cope with scale, subtle mis-steps, etc. Interpersonal lessons about how people develop and communicate. Lessons about why some approaches work and don't work organisationally.