Heck, even well known boring big companies (eg IBM, Oracle) have great smaller teams that are doing interesting things. Much of it is a crapshoot. The nice benefit of the smaller company is that you have much higher likelihood of seeing your code go into production, and experiencing the feedback from it being used. At a big company you will get shielded from that. Often for good reasons - but the feedback truly helps your career.