Bill liked to explain that on normal software projects, the program manager is just  in charge of the program.
The program manager doesn't really do any hands-on work. 
The main role of the program manager is to do the hard coding during software development. 