Pros
The work environment is very fast paced. The average age of the SpaceX team is well under 30. Groups are typically very small and each individual engineer has a huge amount of responsibility. It is very nice as an engineer to have such a large amount of control over your project and to make large impacts on the flight vehicle design. You will be exposed to a wide variety of projects which keeps work interesting and you learning as an engineer. Engineers are responsible for their parts from conception to flight - making CAD models, doing analysis, making drawings, and working with the manufacturing and production teams. Engineers are very unlikely to be pigeon-holed into a specific tasks for years on end. As the company is growing in size it has managed to keep much of the small company feel within the engineering groups. In addition most peoples hours have been scaled back to 50-60/week, but it can still jump to 80+ in crunch time. Working as an engineer at Spacex is really about working with a bunch really bright people to build some awesome hardware and send it to space. You will have to make some sacrifices to do so but being part of such an incredible endeavor is worth it.
Cons
Management styles, hours worked, and compensation all vary wildly among groups within engineering and throughout the company. Large expectations, little direction from managers, frequent changes of direction, and general hard work culture makes SpaceX not for everyone.