Pros
For people joining as freshers: 1) Great Opportunities to get hands on experience with different technologies 2) You are assigned greater responsibilities at an early stage.(as compared to other companies) 3) You will be able to see the difference in the kind of work you will do as compared to your peers in other companies. And you can be proud of it. 3) Growth based on performance. If you perform well, you can get very good appraisals. 4) Growing company and a growing company market.(Projects are increasing and its reputation is getting better)
Cons
Work might be more than your peers in other companies. But the growth in compensation will definitely be higher than them in this case. Once you are an experienced employee: 1) With the rate you grow in the company, if you are exceptional, there might not be many options for you in the outside market. e.g.: You can become a member of the Architectural group within two years of experience, if you are exceptional. But once you reach such a position, there would not be many other companies you can apply to since your position does not match your experience level. Its not just the position, but also the 2) With more experience, your growth percentage will become smaller and that might disappoint you with the habit you've got into. 3) There might be times when you will feel that the management process isn't very transparent. The company will only be good to you if you have that competitive zeal and are ready to work hard.