Changing jobs every two years is not necessarily a good strategy for techies who want to gain deep experience. When joining a new company, it will take time for one to become productive by learning the dynamics of the company as well as the unique business and technical challenges. And then it will take time for the person to learn something deep by building a truly great product.