Pros
The atmosphere is very laid back. Management is incredibly flexible with scheduling, allowing us to choose our own start time (so long as we put in our 40 hours a week). They strongly believe in work-life balance and are very understanding of family and health issues that may come up. Additionally, they often encourage use of vacation days, and are willing to allow developers to take extended vacations (for up to weeks at a time) if they desire. TechEmpower has the small-company feel of a startup, but the security and technical expertise of a more established company. Due to the diversity of projects, developers have potential to be exposed to a variety of languages, technologies, and workflows. The senior programmers are always available to help and are eager to pass on as much knowledge as they can to their peers. TechEmpower has a history of hiring and retaining strong developers, as every single person I've worked with has high technical skill, abundance of motivation, and unwavering desire to learn. Additionally, we are provided unlimited coffee, tea, soda, frequent bagels/donuts as well as catering, and a sweet gaming/lounge area complete with two 60+ inch tvs, Xbox One, and Wii. All in all, it is a positive place to work and grow as a developer.
Cons
The pay could be a little higher, though they do pass along profits to developers through bonuses and profit sharing. Additionally, as previously noted, a very small percentage of the older staff are opinionated to the point of sometimes sounding condescending. I suppose it is at a rate less common than I've encountered with others in the industry, however, and I've come to terms with the fact that that's just how they are. It certainly isn't a deal breaker, and their technical knowledge often compensates for it, but they are open to new ideas most of the time.