0. Get a senior programmer next to them to be a tech lead. (Yeah yeah I know..)
1. Describe the problems they need to solve as detailed as you can then trust them as much as you dare to bring a solution. Do not try to invent/describe the solution. This helps critical thinking and independence.
2. If anything is finished, be happy for it and communicate your happiness. This gives them direct contact to a person whose problems they can solve and is a great motivator.
3. Get them an udemy or similar account and try to set together a learning/development path that interests them and can be used in their daily tasks. This helps gaining knowledge.
4. Praise them when they hit their goals
It’s nice that you want to help them but this is a huge red flag for your company.
Product managers should not have engineers as direct reports.
You’re either sacrificing your product work to spend time doing an engineering managers job, or sacrificing supporting your direct reports to do product work. No one is winning in this situation, certainly not your company, and they are not setting you up for success.
Likely you’re really a project manager looking after a feature team of engineers, so no real product work is happening in this situation anyway.
If I were you I would:
a) stop developing new features right now.
b) escalate the issue with this really bad team topology to whoever can fix it.
Likely your CEO, if you have a CTO why don’t they care about supporting their engineers? If you have a CPO / head of product, why are they not supporting you?
c) only work on tech debt to keep your team busy and doing something useful for a few weeks while you figure out a way forward.
d) you need to find someone with some role power who can hire people to support your department/team and get team set up properly. Ideally that means you no longer have any direct reports who are engineers.
e) if they can’t figure this out you probably need to look for a different job because the experience you’re getting doing this isn’t really helping you grow as a PM. The very last thing I want my PM’s worrying about is directly managing engineers.
If you don't have an engineering background or any senior engineers around, you don't have expertise to share or to even know if what they are building is being done properly. Properly means many different things and there can be many different solutions to the same problem that are all fine.
I would suggest your organization hire an EM and/or a Senior Engineer/team lead that can help guide solutions. Or if you're in a department of a larger company, see if there are mentors available from other departments.
How is the quality of work of these developers being assessed? Is there anyone senior overseeing their work – and if so, would they not be more suitable?
And in terms of the team structure, I genuinely find it hard to believe that the majority of your team are recent grads... That's insane. Imagine if you went to the dentist and it was full of of junior dentists – would not be concerned about the quality of dental care you'd receive? Do you process CCs, do you handle sensitive data, do you provide business critical services? Because if you do you really need to be ensuring you're doing things correctly and not just hacking stuff together like it's a college project...
Honestly I struggle to ensure quality in teams where ~25% of the team are junior...
It’ll be expensive, but that’s simply the cost of having all juniors that you have to eat. That or eat the cost of bad quality software and constant failure to deliver.