I feel obligated to point out that being a l33t coder hasn't done E36 M3 for me in life, in the grander scheme of things. I'd say you should steer him towards something more engineering-related - being able to program can still be an asset and part of the job.