This question maybe similar with this one. However my condition is different. Moreover I think this question better suited for workplace rather than pm, since I'm not yet in role of manager. This question does not limited specific to programming, while in my condition it is programming activity.
Currently I am assigned as team leader at the new company, or you can say as a supervisor instead. I have one subordinate. I am responsible to manage my subordinate, while at the same time also responsible to develop the system required.
My subordinate is not a star developer. He can do his job and develop a system as required. But the system developed is not that clean (you can say that the code is dirty, some duplicate and hacks). I believe it is caused by his lack of experience and knowledge of maintainable system.
That is why in the last several weeks I only give him the task for UI-level only while myself constructing the foundation for business and data access layer. But even in the end, in spite of time requirement, I take the UI level development in parallel, found some dirty code in his system (which I also had done the same in past few years) and replace some with more cleaner code.
I believe this is not a right thing to do (micromanaging). However given the situation I do not have time to train my subordinate, and trusting him with more challenging work will give higher risk in the future. Is there something that I can do to handle this situation?