Many areas that need/could be looked at, but when I talk to people at different facilities and look at my own experiences, I think a lot of the issue is the training process the FAA uses.
They put you in classroom and labs for weeks, maybe months, sometimes having to wait for others to start. Then when you start the classroom and labs they don't train or teach you anything but rather evaluate you. You run some problems up to 110% of the traffic workload/complexity and you get eval'ed at levels up to 100% just to get to the floor and start to train. Why are we running problems on traffic levels busier than the facility has and why are we expecting satisfactory evaluations on 100% traffic load prior to the controller even working on the floor? Labs can be good and give a controller a base to start training on the floor, but months in labs are overkill. Why don't we use them throughout training to supplement situations such as seasonal weather, complexity, or unusual situations?
Additionally, why do we make all controllers go through the entire facility to get checked out at busier up/downs? Center controllers don't go through every area. I know CLT and I believe MIA, has an A and B track of sorts and it seems to work there just fine. At my facility we have center transfers that hate tower and struggle upstairs and we also have a few trainees currently washing in the radar room but checked out in the tower with no problem. If staffing and certification time was really that important why not cut the training program in half while keeping those who have demonstrated the ability to work and help staff the facility?