I've seen 3 different kind of devs. The go-getter that figures it out on their own, the "tell me how to solve it" person who doesn't really want to be a dev, and the type you have to mentor. If your junior is type 2, you'll want to get rid of them because they won't grow.
As for type 3, you'll need to understand how they solve problems and use that to help them tackle their tasks. I've had devs that can't hold a lot of information in their brain so they have to map things out on paper before solving them. Documentation will help these a lot since they won't remember methods and how things interact. Some devs might not be that creative and they'll have a hard time figuring out how to count unique values in an array. For these, it's like muscle memory. They'll need a lot of handholding up front but eventually they'll be able to easy tasks with ease. Others are visual learners so you might have to do a lot of pair programming. A lot!!!
As for the bored portion, good luck. That's more of an entitlement issue that you'll have to navigate on your own.