I have always got mixed reviews about switching companies in early stages. Some of the pros that I am seeing here are : Diversifying skills and experiences, Brings out the best salary, Signing bonus for every new company. I want to hear other side's opinions.
I think that the real strong value in changing between companies during early stages consists in earning skills in different contexts and technologies..
As cons I can point out loosing vertical / deep knowledge around specific programming languages that you can only achieve by using them for years.
Will
Switching jobs may be the clearest way to get a higher salary and boost your future earning potential. In terms of managing your own career, if you don't change your jobs every 3 years, you will not develop the skills of getting a new job quickly. Hence, there will not be any career stability.
On the other hand, job hopping is still a big red flag to recruiters. Since almost all new jobs require some sort of training and probation period, you should be expected to stay in your new position at least 6 months. Any amount of time less than that is frowned upon by most companies.
Its up to you, don't listen to people. If you don't like your job then leave it. Have full confidence in your decision. If your future employer asks you why you left after 1 year or 2 years or 3 years, you tell them the truth. Tell them what you're looking for. Tell them why your old job was terrible, what you learned, and why this new job is different.