Pros
I've been working as a part of Software Engineering team for more than a year now and I do believe in what the title says. You are given an opportunity to work on challenging tasks and learn from them as well as from your colleges. You do your tasks well you get a reward. Different benefits motivate you to do this: - team events/happy hours - work from home / flexible hours in office - sports activities reimbursement - profit sharing - career growth The management is open to your requests and ideas and will try to help you realise yourself in the company. If you want to deepen your professional knowledge you are welcome to pick up a relevant book from the library or order a new one. If that's not enough, ask for training courses or for visiting a conference. The atmosphere is very friendly here and everyone gets along.
Cons
Sometimes you have to be ready your working day can be non-standardized because you have to get your job done.