Pros
Small organization makes it easy to approach people
Cons
Technical leads never gets their due. There is no visibility of their works. If project is a success; managers and BAs gets whole benefit, visibility and promotions. On the other hand if project fails, technical leads are made scapegoat. A very political environment, if becomes difficult to survive for technical people, developers. Projects teams are always kind of sandwiched between clients and internal support teams. Long working hours. Over the weekend, you will never find manager in office but developer is supposed to come and complete the work promised by managers. Managers makes unrealistic commitment, developers suffers, management never listens, no options left then moves out. :) Cycle goes on. New developers joins, HR shows green grass, big promises are made. cycle goes on... developers again leaves, Managers stays, management is happy that delivery is made, gets promoted every years, life goes on. Career for developers. What is that? BAs pretends that projects are running just because of them. They only have brain. Developers.. Oh they don't even understand small business logic. How to make them understand that since BA only interacted with client to gather the requirement; he is supposed to know that, what the big deal. Once under development, it is Tech lead who has to analyse, and find the gap to get clarified from client. Is not BA supposed to put effort to analyse all gaps? But his job is just to collect and pass on, not to analyse. He has more time to build his visibility though. :) Very sad state of a technology company. Technology company without technical leaderships.