Pros
Great place to learn the nuances of software engineering. Good cultural values, great encouragement by management to take up big things early. Good DNA within core(old timers) management to "take care" of young, new, enthusiastic employees with identified high potential to ensure they are given the job that challenges them and keeps them in the organization for reasons other than money. So there is a thrill of doing big things early and I can vouch for that. Company is highly process oriented and folks judiciously follow the same in projects completely executed by the company, especially those audited by the internal SQAG (Software Quality Assurance Group). Strong senior management insight and their moves, keeps the company ahead of its competition and makes the company stock a great long time investment. Historical results stand witness to this as it has never disappointed its investors. Employee stock purchase plan thus is a plus. Stock options given to senior management ensure very low attrition at that level.
Cons
Poor compensation compared to industry standards. Causes a lot of "brain drain" since all the inhouse training & grooming go waste if good employee choses to leave for genuine compensation reasons. Vacation period very less compared to other industry competitors, though managers get to have a say to give more if required, at their own discretion.