Pros
Informed, highly technical staff and management: Seriously, the staff includes some of the smartest people I’ve ever been in a room with. Managers are technically savvy, so there aren’t just MBAs that have no clue what the projects are about. Feels like the next big idea could pop up in the office next door. Sometimes, it does. Rapid prototyping environment: Early prototypes are often created in weeks or months to test new, proof-of-concept designs. It is exciting to see the newest software concepts emerge so quickly into workable prototypes. Range of project subjects and types: Projects range from small research feasibility studies to large implemented systems. This makes for a ton of variety in the type of work to be done. Room to grow: Well defined avenues for personal growth are actively promoted by management. These include additional training and university degree support. Senior management is interested in employee experiences and growth; they remind and encourage often. Tons of support: Peers, managers, and dedicated support staff make sure you never are left out in the cold with technical or business questions. The range of expertise of the staff ensures they know something about your problem or know a world-class expert who does. Employee owned: It’s nice to own a piece of the pie and have a stake in the outcome of your work. Benefits: top notch Friendly environment: People are busy but they’ll make time to say hello, check-in, and help where they can.
Cons
Often requires self-direction: A lot of the work is self-directed, which could be an issue for people who don’t work well in that environment. Project futures can be uncertain: The nature of this type of work is that projects can be cut, downsized, or reorganized based on sales and the customer’s wishes. You usually know the decision points well in advance, but, if you like to know exactly what you will be working on in 5 years, that doesn’t usually happen here.