Johannes Lodewijk Nicolaas (Jan) Schaefer werd geboren in Amsterdam. Hij werd opgeleid tot banketbakker. Schaefer droeg eind jaren zestig als buurtactivist bij aan het verhinderen van grootschalige sloop in de Amsterdamse wijk De Pijp.
Vanaf 1971 tot 1973 was Schaefer namens de PvdA lid van de Tweede Kamer. Daarna was hij van 1973 tot 1977 staatssecretaris van stadsvernieuwing op het ministerie van Volkshuisvesting en Ruimtelijke Ordening in het kabinet-Den Uyl.
Van 1978 tot 1986 was Schaefer wethouder van de gemeente Amsterdam, met als portefeuille woningzaken, stadsvernieuwing, bouw- en woningtoezicht en grondbedrijf. Van 1986 tot 1990 was Schaefer opnieuw Kamerlid voor de PvdA.