Vantaggi
Ability to work in different client offices, fellow consultants are highly skilled due to hiring process.
Svantaggi
Every time a contract is up, you have to go through the entire hiring process for a new client. You are essentially an independent contractor that makes less money (Avanade takes ~60% of what they are charging clients for you). Being a Consultant, clients will not want you to go through any training during chargeable hours. The only time you can go through training during office hours is when you are on the bench (don't have a client). Avanade expects you to have 85% charge-ability (time not spent on bench). While you are on the bench, you are expected to be actively applying for new contract positions. This forces you to learn things on your personal time. Dev skills have nothing to do with a promotion to Senior Consultant. Avanade expects you to do presentations at lunch-and-learns, bring in consultants on to your project by marketing the company to clients, come to company events outside of office hours, etc. Clients aren't tech companies so you won't be working on very innovative/interesting projects or with very talented developers (for the most part), even if you work out of the "innovation hub" like I do. I've been through 3 Career Advisors (and managers) within less than 2 years and none of them are really looking out for my career growth (not to mention they don't actually have any insight into what my client side contributions are). They just want me to satisfy the business and distract me by making me do training on my personal time. PASSIONATE, TALENTED DEVS - STAY AWAY FROM THE SERVICE INDUSTRY!