In fact, my friend will buy 2060/5700 but he will use it for at least 4 years.
Neither of these cards is going to last that long. Each lacks one of the most important features of the upcoming consoles, which will have both at least 8GB VRAM and hardware-accelerated ray-tracing. Going forward we are going to see game developers targeting their engines at these consoles, which means we can expect some newer games to require these features.
That said, I don't expect that the number of such games will be high. If you target 8GB VRAM, you exclude every GPU that has less memory, and there are still a lot of those around (and being manufactured and sold right now). If you target RT, you exclude every GPU that can't do RT, which is currently every GPU except the Turing series. If you go for both options, you exclude every GPU except the 2060S, 2070/S, 2080/S, and 2080 Ti.
So... at the end of the day, it's up to your own personal crystal ball. If you believe 8GB VRAM will be more important going forward, choose the 5700. If you believe RT will be more important, choose the 2060.
My personal recommendation: don't buy anything now. Wait until Ampere launches and see how much faster it is in RT, and whether that performance will make it a better long-term buy. Wait until RDNA2 launches, and see how fast or slow AMD's first-gen implementation is, which will dictate how likely game devs are to implement RT for console games and thus how important it will be going forward. As a bonus, when the new cards launch, the prices of the current-gen cards will drop.
If your friend
must upgrade now, the 2060 Super is the slowest card that supports RT, and it also has 8GB VRAM, so it ticks both boxes. Unfortunately it's going to be quite a bit more expensive, but that is the price you pay if you want to (try to) be future-proof.