It's temping to put new hires on maintenance work. Having them fix bugs seems like a good way to have them become familiar with the code. The problem is that there’s usually too much for them to learn, too quickly, so it becomes daunting work. I'm mostly talking about legacy code here, but even the maintenance of current code can be daunting because too many skills come into play. Police captains don't assign murder mysteries to the kids fresh out the academy, and neither should you.
It's simpler (but not necessarily easier) to assign new development work to the rookies, and leave the tough legacy code wrangling to the experts.
Note: This is all the more reason to move towards a (micro)services-oriented architecture for your application, if not already there. Standing up a new service within an SOA environment is something that a rookie can quickly get his or her arms around, and a much better way to ease him or her into the development environment, and into the business domain.