Pros
-Interesting and varied work (U-Boot, Linux Kernel, Android, Yocto, OpenGL, writing blog posts etc.)
-flexible hours (I often would come in at 10:30-11 and work till 7 and occaisonally come it at like 6 am and work till 2-3.
Cons
Low Pay, no benefits (would have gotten some had I stayed longer but they were paltry compared to large employers in the area (Intel, Garmin, General Dynamics, Microchip etc.)
Interrupt driven. Because it is a small company and their main business is custom boards not the boards you can buy on their site, there is a lot of customer interaction via email, blog posts/comments etc. You are constantly working on different things and stopping your work to talk with customers. You usually have several things at once and never work/focus on one project for very long. The most interesting thing I did there was create a proof of concept Bayer Demosaicing program in OpenGL ES, working with the Vivante tools, developing it on the desktop and the board. That spanned about a week and a half and I was doing other things the whole time I was working on it but it was the most focused I ever got.