Pros
Good pay, Great benefits, and a wide variety of contracts
Cons
You must be extremely flexible. You may be a Java programmer one day, a go programmer the next, a DC/OS admin the next, and so on. You will not be able to focus on one type of technology or role. It can be quite frustrating.