I havinghave been doing systems development for years starting with Basic and Cobol, then dBase III+, VB6, Asp.Net using Access, and SQL Server. I am also a CISSP.
I
I think he should learn assembly language. Though it may sound irrevelantirrelevant, it will give him a strong foundation in reverse engineering and also help him to understand the basis of C, C++ etc.
When When source code is not available, then after reverse engineering what you will have is assembly.