Depending on the pricing in your area, he might also consider a Ryzen 2600. The 2600 should perform a little better than a 1600X at stock settings, and can also overclock a little higher. Unlike the 1600X, the 2600 also comes with a stock cooler, though you will probably want to use a better cooler if overclocking. And at least around here, the 2600 currently costs less than a 1600X.
For the motherboard, you would probably want a B450 board for the 2600, as they are guaranteed to support the 2000-series processors out of the box without a BIOS update, and support overclocking. They are likely to cost a little more than a B350 board, but if the processor costs less than a 1600X where you are, then the cost might still be lower overall.