I'm more interested in low-level stuff so i don't think that the YAGNI principle applies here.
It always applies
If you don't need something, then building it is a waste of time, and worse, you can't evaluate whether you've done a good job or not.
I publish most of my low-level engine structures as open source, here, (there's a lot) and each of them has only been created in response to a need. They're all used directly or indirectly by the game project that's being developed simultaneously to the engine.
It can still be useful, because to be any good at building any product, you should have experience as a user of that product. The users of an engine are basically every other department in a development studio, so it's very valuable for an engine programmer to have some basic experience in all those other departments.
I'm really trying to get into the low-level stuff of the process of a game making, so I don't think using an existing engine will get me there, or will it?
Also, to build a great product you should be familiar with the competition already on the market so you can emulate their strengths and improve on their weaknesses so having used a variety of other engines is always a perk.