A lot of the workforce today can attest to the fact that the recruitment game is amusing at times, you can throw your CVs around and go months without getting offers from organizations and suddenly they all start responding in ways that can leave one overwhelmed. Software engineers are infamous for their job-hopping prowess as there's a very competitive market for software engineers at the moment.
DEVELOPERS SWITCH JOBS FOR VARIOUS REASONS
Software engineers factor in a lot before making a switch, asides, salary, software engineers tend to evaluate their position in an organization based on the nature of their responsibilities within such an organization. Because software engineering is a skill that needs to be constantly honed in order to prevent redundancy (and for bragging rights within the community as software engineers like to point to huge projects they have built) you will find that software engineers leave organizations in search of more challenging opportunities.
A GENERAL ADVICE
Be that as it may, there are those who have a huge problem with saying no and as such tend to bounce around a lot because it does take a lot of commitment and discipline to turn down a good offer or a more convenient working environment in a market that doesn't go so far to penalize job-hopping. The general advice is to stick around in an organization long enough to make an impact and possibly learn a lot in the process. I believe as organizations reevaluate what is really important in maintaining staff retention developers will stick around a lot longer.