Pros
The company has seen aggressive growth over the past 5 years. They have a solid Employee Stock Program and if you're hired as an full time employee, and your half way competent, the work is stable. You won't be fired or let go at the drop of a hat.
Cons
Because the company has seen such aggressive growth there have been many growing pains. The Project Managers I worked worth were rarely competent in actually managing the project. Most engineers end up having to assume a lot of client interaction and project management responsibilities. The aggressive growth has also been at the cost of under-bidding many projects to get their foot in the door with large utilities. This has resulted in overly aggressive schedules and unrealistic demands on engineers (being asked to work un-paid overtime). Generally the projects that are awarded are throw away jobs that larger companies wouldn't waste their time with. It is difficult to get experience that will be relevant in other fields or at other companies. While interviewing with other companies and mentioning the Enercon projects I worked on I was basically laughed at and told I hadn't learned anything at all. Many aspects of the job are improvisational, the way most projects are run is similar to a pick up game of basketball, they just kind of wait and see what happens. During times of high demand, for personnel, lots of low quality contractors are usually brought on. They are paid a high hourly wage and have an incentive to drag the project out longer. Training or mentor programs are non existent. It is basically assumed that you will know how to do what you're asked. This is incredibly difficult when having to do work for multiple utilities, each with their own set of procedures and systems. Because of the types of projects they work, and management structure that is in place, advancement is difficult. The main goal of management is to hire people with experience they can put into proposals. The most competitive salaries are saved for external hires, raises are just large enough to have you not quit. For lower level engineers, coming up within the company, they want to keep you as long as possible for as cheaply as possible.