Pros
The classroom setting makes an easy transition. If you're coming right out of school to join the workforce, this is a nice way to slowly integrate yourself. You sit in a classroom like setting learning real world material and for some classes, applying these skills to real world problems instead of sandbox, predetermined issues. Interview preps and feedbacks are a goldmine. You can't imagine how many interviews you will fail in life and wish someone would have just told you why they felt you didn't fit the part. Despite that clients are not obligated to provide feedback and that you are not always guaranteed to get any, when you do, it's some of the most valuable information you could ever receive for life. Certifications are a huge plus. While you're in a specific track, some classes will offer certifications. This is a major advantage for anyone in any industry. Even if you never use it a day in your life, you received a certification for free that you were able to fully dedicate all of your time to and there's nothing more anyone could ask for. If you're not placed with a client after you're finished training, you can still pursue more certifications while you wait ALL FOR FREE.
Cons
No health care until you're assigned a client. This could last until who knows when and if you're a self sufficient individual who doesn't use a parent's or spouse's insurance plan, then this level of uncertainty is definitely not for you. Low pay for an indefinite amount of time. You're made aware of the minimum wage pay from the beginning and that you'll only make about $45K in your 1st gig (if that client still needs you. Clients have been known to "let go" employees for various reasons then their salaries drop to $30K), but all of this pay talk is contingent on you getting assigned to a client in the first place, so get "comfortable" with a minimum wage lifestyle in the heart of NYC (if you're assigned there). Remember: this contract is for 2 years. Client placement has no real algorithm. Unfortunately upon my arrival, FDM had more inventory than it had clients. My group was the newest to arrive yet one of team members was getting more interviews than those who had already completed or were almost finished their training. The people still lingering in the office waiting for placement were actively asking for jobs and getting interview tips but were being bypassed entirely. Even the levels of education and work experience didn't help. If you had more education and experience than someone else, that actually didn't boost your chances of getting assigned a client or even getting an interview faster than your classmates. Placements are pure luck.