@bekdik +1
Yes a good teacher is what is needed, BUT a good student is where you should actually start. I started programming 22 years ago and did a course via one of the few programming schools which was around. You could only get into these schools by writting test. Its not a programming test but rather a logical test. Example, can you describe fully, how to change lanes and pass a car. I know a basic test, but if you see that the person says first pass the car and then switch on the indicator, then there is a logical flow problem and that person will have problems figuring out how to do basic programming. And yes I've seen a few programmers can cant code their way out of a wet paper bag.
Also he must decide what sort of programming does he want to do, internet, mobile, windows based. More on the front-end of things, or maybe become more a database expert again. The field of programming was not as wide 20 years ago, and you had very limit programming languages to choose from. Today you have from the backend, front-end, mobile, desktop and where Im now, data warehousing.
And to add, most of my time now is not programming as much any more in anycase. Its rather a case of selecting the correct software packages to use for the job...