Pros
You will be given the opportunity to learn a ton in a growing field, if you step up to the plate. Work can be challenging and rewarding. This is a great opportunity to combine interests in client-facing consulting, data analysis, and software development.
Cons
I want to address prospective and new entry-level employees with this. You have three paths, and you do not necessarily choose what path you will be placed on: 1) Set up for success: There's a well-defined project, goal, and team. If you are a self-starter, you will be able to tackle new ideas, new skills, and new responsibilities. You will grow into the team and take on more responsibilities. 2) Set up for boredom: Even if you are a self-starter, you may be underutilized and given few responsibilities on a team project. You won't be trained adequately, as the more experienced members of your team will be stretched very thin. 3) Set up for failure: You have no team, are given too many responsibilities too soon, yet raising flags will do no good. Your inexperience may end up pulling in resources from other departments, such as Engineering. Management will not assign resources to help you when it's appropriate, even if they are on the bench, if it means a thinner margin. Get ready for no sleep. I've seen all three going on simultaneously among newer employees (1 year experience and less). I've had a taste of all three experiences, but feel sorry for those who are currently pigeonholed into that final category. Clients and employees get a pretty raw deal. Failure by design. If you have another, comparable offer, take it.