Pros
Don't know of any, unless you are an EE and really need a job with medical insurance, 401K etc...
Cons
Incompetence on all levels i encountered. From team leads and team members up to 1-3 line management. Have not had to deal with anybody higher than that. A lot of politically correct nonsense, as in most big companies. Probably the worst HR I have ever had to deal with. Med. insurance premiums were taken out of my paycheck regularly, but when I needed to go to a doctor turned out HR messed up my paperwork, actually did not even send it to insurance company, so I had no coverage. Premiums deducted for nothing (as it turned out) were never reimbursed back to me. I left company on my own accord. Could not bear this total lack of understanding of what it takes to get the project done; and, consequentially, having to pay for management's mistakes by working overtime, that was not compensated in any way. Most of my colleagues, with few exceptions, were incompetent too, worked for meager salaries, cannot imagine them being hired by any really professional company. Six months after I left, got a call from collection agency, stating that GE submitted me to collection agency for "overpayment of salary". GE HR could not even get my last day at work correctly nor my mailing address. Took several weeks to straighten this mess out and for GE HR/payroll to admit their mistake. No bonuses, no overtime pay, short vacations, not so good med insurance or 401K. Salaries (for Software Engineers) are generally lower than industry average. That was my experience. Your mileage may vary