You need to decide first if you want to do a game or a game engine. Both things can run in parallel, but trying to reach the first one without taking the second one steps can ruin your learning process.
IF his goal is to become a game engine programmer, you are right. If he wants to be as "hirable" as possible to a wide range of studios, I guess it cannot hurt too even if he applies to other jobs like UI programmer or stuff like that (don't know how "focused" programmers need to be in Game Dev, in Business Dev I see lots of jobs with a small list of mandatory skills, and a HUGE list of nice-to-have skills).
If he just wants to make his own games, or doesn't want to be the engine coder in a studio that does not look for these nice-to-have skills, writing full on 3D engines will not help him much (other than getting a deeper understanding of existing engines, which is great of course). I agree that just diving into working with existing engines without tinkering with writing games from scratch can make understanding the internals of existing engines harder. Still, I wouldn't tell a beginner to start writing his own engines just to get the skills to write a game. A modern 3D engine takes lots of time to create, time that could be spent learning other things or already working on a game.
Of course, writing small engines as a learning milestone I completly agree with. Anything that takes less than maybe 6 months to complete might be a good idea... just don't try to write the next Unreal engine...
Just my 2 cents.