I'm leading a team of programmers and I have had a number of interns/junior programmers who came into the team in the past decade. Some of them have done well and have continued onwards to become accomplished, senior programmers. However, there is a subset of people that have a lot of enthusiasm and have the right attitude, but even after intensive coaching sessions I am unable to get them up to the right level. Curiously, I find that their programming skills are okay (not great, but in general this is not the main problem). The main issue is that they lack more "administrative" skills around the job. Chiefly, they are unable to be meticulous in their work. They lack skills to read instructions, documentation, emails or other material with the level of attention and thoroughness that is required.
What this ultimately means is that instructions often have to be repeated. The same mistakes are frequently made. When documentation is being read, half of this is "absorbed" and the other half is glanced over and ignored. When something isn't understood it is not interrogated. We have had lengthy discussions of what is unclear or where people are stuck, and 90% of the time it boils down to not having properly understood something or picked up on something important.
I've tried checklists, documenting procedures, and being thorough in the instructions. However, I can't foresee everything and I need a certain level of critical reading and reflection skills - and those are simply not present. But these are some great people that I feel have potential. I know I can't offer them the upskilling and guidance that they need - I am merely there to help their programming skills but this goes further than that. However, when they leave I want to give them pointers as to what they can work on going forward, before going back into a similar programming role. I must note that I operate in a country with a poor education system and I feel several of these issues relate back to an education system where reading, reflection, and critical thinking are not well developed.
What kind of resources should I point these people to? Are there (hopefully online and free) courses that address these kinds of issues? What would they be called? Any other tips?