What are the advantages and disadvantages of working in the same software company for a very long time?Advantages:
- You know the processes and systems so well that things become extremely easy for you. You know where you cut corners and where you simply mustn't.
- You know whom to approach for any issue so new hires gravitate to you for anything they are facing.
- If you are good at what you do, you form relationships with people who are growing. This really helps if you want to move to another division or need that reference for something.
- Life becomes comfortable and manageable with little effort.
- People are a lot more easy on your "work from homes" and "sick leaves"
- Your salary will not be industry standard. Your salary tends to slip with respect to the industry simply because the yearly hike will not be equal to the kind of jump you would expect when you switched companies.
- You tend to become an expert at things within the company and you lose touch with the industry outside. This means unless you do some serious self development, your job opportunities get limited to another part of the company or the competitor.
- The above 2 reasons play in management's favour. You are not going anywhere so bonuses, raises and other 'gifts' are not offered so frequently.
- There may come a time when someone at a lower pay grade to you gets hired with more salary because that is the going rate in the market.
- At about 3 years the company has probably taught you everything it can. You can coast for as long as you want after that. Trust me, it is sooooo comfortable to coast. That comfort is the trap.
Now this doesn't apply if you are an A player, if every rating is out-of-the-park. But in that case, you are probably working really hard and/or have good contacts in the company. Even in this case you could make much more if you jump.
Bottom line, unless you are self driven and constantly on the lookout for avenues to grow, staying in the same company will lead to stagnation.