В 1971 г. начал работать слесарем локомотивного депо Волховстрой-1 Октябрьской железной дороги.
В 1977 г. окончил Ленинградский институт инженеров железнодорожного транспорта. После окончания института продолжил работу на дороге, где прошел путь от дежурного по горке до начальника дороги.
С 1977 по 1997 гг. работал на Октябрьской железной дороге, прошел путь от дежурного по горке до начальника дороги.
В 1998 г. был избран заместителем председателя Законодательного собрания Ленинградской области.
1998—1999 гг. — первый заместитель начальника Юго-Восточной железной дороги.
С мая 1999 г. по май 2000 г. работал заместителем министра путей сообщения РФ.
В 2000—2002 гг. — первый заместитель начальника Московской железной дороги.
Февраль 2002 г. — 22 сентября 2003 г. — первый заместитель министра путей сообщения РФ.
23 сентября 2003 г. назначен и.о. министра путей сообщения РФ.
7 октября 2003 г. утвержден в должности министра путей сообщения РФ.
17 августа 2005 г. назначен первым вице-президентом ОАО "Российские железные дороги".