Pros
- there is room to grow, my team lead gives me opportunities to expand my skills and experience, and there is the chance to move to other teams and roles
- you are given a high degree of freedom on projects and in general, as long as you can justify and explain your choices
- as the company is still young and growing, there is plenty of new and interesting projects to work on
- the company has strong, decent values which are actually felt as a big part of the company, and don't just revolve around making money for the company
- company events, summer days in particular, are fantastic
Cons
- it is a very fast paced environment which can be stressful at times
- having highly autonomous teams can make large distributed projects more difficult and make it harder to focus teams on particular things
- with the very large and quick growth there are sometimes growing pains that go with it