My onboarding experience (from 20 years ago) involved all the new hires (engineers) being placed in a classroom environment for two weeks. A senior engineer gave us a primer on the libraries the company uses (C++) and then had each one of us individually develop a mini version of the system (a trading system). Each day he would visit the classroom for a couple of hours to unblock us and answer questions. At the end of the period, our code was reviewed and we were placed into teams based on how well we did. It was certainly better than the "throw them into the deep end and let them sink or swim" approach.