С 1984 года по 1990 год — инженер-технолог, инженер-конструктор ПОТ «Ленинградский Металлический завод».
В 1990—1991 годах — председатель мандатной комиссии Калининского районного Совета народных депутатов.
С 1991 года — сначала заместитель главы, затем и.о., а с 1993 года — глава администрации (территориального управления) Калининского района Санкт-Петербурга.
С 30 июня 2000 года — вице-губернатор Санкт-Петербурга — председатель Административно-правового комитета Канцелярии губернатора Санкт-Петербурга.
C 1 января 2002 года по 29 октября 2003 года — член Совета Федерации Федерального Собрания Российской Федерации — представитель от исполнительного органа государственной власти города Санкт-Петербурга. Заместитель председателя Комитета Совета Федерации по правовым и судебным вопросам.
После отставки с поста члена Совета Федерации занимал пост начальника Управления информационного и документационного обеспечения Аппарата Совета Федерации.
С 3 июня 2009 года — начальник Управления Президента Российской Федерации по работе с обращениями граждан, преобразованного в феврале 2010 года в Управление Президента Российской Федерации по работе с обращениями граждан и организаций.