С 1974 года, окончив Ленинградский сельскохозяйственный институт по специальности «инженер-электрик», работал инженером-конструктором на Старорусском авторемонтном заводе, с 1975 — бригадиром, инженером-технологом в Новгородском районном объединении «Сельхозтехника» (Сырково, Новгородский район)[3][4].
В 1977—1981 годы работал в Новгородском райкоме ВЛКСМ (второй, затем — первый секретарь)[3][4].
С 1981 года — на партийной работе: заведующий промышленно-транспортным отделом (1981—1984), второй секретарь (1984—1987) Новгородского райкома КПСС. В 1987—1991 годы — председатель Новгородского райисполкома. До августа 1991 года состоял в КПСС. В 1990 году окончил Ленинградскую высшую партийную школу (преподаватель, политолог)[3][4].
В 1991—1993 годы — заместитель председателя Новгородского областного Совета народных депутатов, в 1993—1994 — заместитель Главы администрации Новгородской области[3][4].
Депутат Новгородской областной думы 1—5-го созывов[2]. Председатель думы 1—4-го созывов (2.4.1994 — 14.10.2008), председатель комитета по законодательству и местному самоуправлению (с 22.10.2008, в 4 и 5-м созывах), член комитета по социальной политике (с 26.1.2011, в 4-м созыве), заместитель председателя думы (с 21.12.2011, в 5-м созыве)[5]. Одновременно в январе 1996—2001 годы — член Совета Федерации (член Комитета по аграрной политике, Комиссии по регламенту и процедурным вопросам)[4]; в 2006—2007 годы — председатель Парламентской Ассоциации Северо-Запада России[5].
Одновременно с 14 октября 2008 года — директор Новгородского регионального филиала ОАО «Россельхозбанк»[5].
С 2010 года — председатель конкурсной комиссии по отбору кандидатур для назначения представителей общественности в квалификационную коллегию судей Новгородской области.