Pros
Every day you go to work and work with some of the smartest but also hard working, do-anything-to-get-to-mars coworkers you can find anywhere. Every day you are pushed to do things faster, cheaper, but still smarter than anyone has ever done them before. The challenge is addicting and something you will find pretty much nowhere else. Young company full of energy and coworkers that will inspire and motivate you. Any top engineer's dream place to work. Also, great healthcare, gym reimbursement, food subsidies, and stock compensation. For hourly employees, overtime opportunities abound and mean you can make top dollar if you're willing to put in the hours.
Cons
Base pay is lower than it is at a lot of competitors for employees at SpaceX for several years (starting salaries are quite competitive). Salaried employees end up working a ridiculous amount of hours in many cases. I have worked for weeks on end between 70 and 85 hours, though I would say on average employees mostly work between 50 and 60 hours, which is quite typical for a tech company. It is very hard to afford to live in southern california and have a family with the salary and work hours at SpaceX. Definitely hard to retain employees after 5 years given that pay is often far less than competitors if you are salaried and work/life balance can be very tough. Despite all of the above, which can be fixed as time goes on, you will not find a more exciting or interesting company to work for. Every year is more exciting, pushing the impossible and doing what most others believed would not happen in their lifetimes. Sometimes, doing incredible work requires sacrifice. If you believe in the mission, the hard work can be worth it, and if you are a valuable employee you can learn to be efficient and improve your work/life balance to be quite reasonable. If you hate southern california, we have exciting work happening in Seattle, Texas, Vandenberg AFB (Santa Barbara area), Cape Canaveral FL, and washington DC.