Коренной петербуржец, один из сильнейших футболистов СССР предвоенного периода. Большую часть карьеры провёл в ленинградском «Динамо» (1931—1946). В чемпионатах СССР провёл за команду 100 матчей, забил 3 гола (по другим данным — 117 матчей и 4 гола) .
Выступал за сборную Ленинграда. Чемпион РСФСР 1932. Участник матчей с командами Турции, Праги, Басконии. За сборную СССР провел 4 неофициальных матча (1934—1935).
Принимал участие в Великой Отечественной войне.
Также играл в хоккей с мячом (чемпион СССР 1935). После войны был одним из организаторов хоккея с шайбой, являлся играющим главным тренером ленинградского «Динамо» (1946—1950).
С 1950-х годов — футбольный тренер:
1953 — «Динамо» Ленинград, тренер.
1961 — «Спартак» Ленинград, главный тренер.
1964—1966 — «Зенит» Ленинград, главный тренер.
1965—1966 — «Зенит» Ленинград, начальник команды.
1967 — «Черноморец» Одесса, главный тренер.
1968 — «Терек» Грозный, главный тренер.
1971, с июля — 1972 — «Динамо» Ленинград, главный тренер.
В 1970-е годы занимался созданием экспозиции о развитии футбола в Музее истории Ленинграда.
С 1986 года приз памяти Федорова разыгрывали команды районных УВД Ленинграда. В 1992 состоялся турнир на Кубок Федорова среди команд 2-й лиги.
