I think of the steamroller in a slightly different way. When a technology is in its infancy, you get paid more because it is still an evolving space - demand is increasing, but supply is still short (think node right now). Then the technology reaches mass market - cost becomes a factor in whether we write the app in Foo or Bar and rates drop (java). Then, on the tail end of a tech life time (cobol), rates are high again as people retire or move on to the Next Big Thing and supply is low - demand may be low too, but the install base really depends on the tech so will pay a premium. So, will you get steamrolled? Only if you are expecting to make a premium but don't recognize where you are in the lifecycle.