Pros
The ideas, from a conceptual standpoint, are very interesting. There's a lot of market segments (such as the connected car, IoT) that Flex is trying to go after and software plays a critical role in it. Coming into the Innovation Labs at Flex means working on projects that won't be productized for years. A lot of the higher-ups are really savvy people and are trying to shift the organization from the manufacturing mindset and into the product design and development mindset which is really good to see. The office space has the accoutrements of a typical tech company (open office, lots of snacks, fully stocked kitchen, etc). The people are all quite friendly and the only expectation is to get your work done on time, not how much time you spend in the office.
Cons
I came to build IoT products for clients and what I got out of it was a bunch of poorly thought-out ideas from management that the software team would have to implement for demonstration purposes. The software team spent a majority of their time piecing together pre-existing demo's and open source projects for management to demo to clients and other upper management. We never tackled any difficult problems or were even aiming to build features for a certain user or use case! A major problem with this company is that software has yet to become a really important area to invest in. The hires they make aren't that great and the projects they've been handing out to the development team can hardly be considered software engineering. However this may have been just an issue with my group. The project management team was abysmal. It was filed with people who literally had no idea what they were doing and acted unprofessionally on occasion. I had one project manager fall asleep in the middle of a meeting when someone was asking him a question!