Recently I had too much work so I decided to hire a programmer to help me. I managed to find someone great on Upwork and assigned him a relatively simple task.
What I found out was that I needed to spend a considerable amount of time reviewing his work. Not because he wasn’t experienced enough, but because whenever any programmer works on something (especially when he’s a newcomer), he needs help.
How could I have avoided this tedious reviewing work? By employing yet another programmer, so that the two review each other’s code. (This, by the way, is the correct way to program if you want to build something good and maintainable and sustainable and scalable.)
The problem is obvious. I exceeded my budget for the task simply by employing a single programmer. Yet another programmer would have demanded more budget and would have added managerial problems (which would have demanded even more budget).
Why am I writing all this? Because if you assign some software development work to your nephew, you may find out that the cost is low. The problem is your nephew is unlikely to continue to be with you for a long time. To have continuous support and to cover all your needs, you need to do it seriously and professionally. When you do so, costs skyrocket (compared to your nephew). If you don’t do it seriously and professionally, it is more or less certain you’ll have problems.