Podczas swej kariery zawodniczej występował jako obrońca. Jest wychowankiem Ruchu Chorzów, w którym grał przez całą karierę. W I lidze zadebiutował w wieku dwudziestu lat w wyjazdowym meczu ze Stalą Mielec, trener Ruchu Orest Lenczyk wystawił go na pozycji defensywnego pomocnika[3]. W latach 1983–1994 rozegrał w Ekstraklasie 233 spotkania, zdobywając w nich cztery gole. W 1989 zdobył z Ruchem tytuł mistrza Polski.
Był asystentem trenera Ruchu Chorzów w latach 1993-94 (za kadencji Edwarda Lorensa) i 1997-99 (Orest Lenczyk) oraz asystentem w drużynach Górnika Zabrze w latach 1994-95 (Edward Lorens) i Polonii Bytom w latach 1995-96 (Edward Lorens). Krótko był też pierwszym trenerem w bytomskim klubie (07-10.1996). Jako trener zadebiutował w ekstraklasie 18 października 1997, prowadząc zespół Ruchu w meczu z Wisłą Kraków (1:0) podczas nieobecności pierwszego szkoleniowca Niebieskich przebywającego wówczas za granicą[4]. Następnie był też asystentem Wisły Kraków w latach 2000-01 (Orest Lenczyk)[potrzebny przypis]. Jako asystent pracował też później w Amice Wronki w latach 2004-05 (Maciej Skorża)[potrzebny przypis].
Kariera klubowa jako I trener przed Ruchem Chorzów
Pierwszą dłuższą pracą jako I trener była praca w Górniku Zabrze (05-10.2001, 2002-04). Jako trener pracował w Ekstraklasie również w Odrze Wodzisław Śląski (2005-06). W 2005 w Odrze zastąpił na stanowisku pierwszego trenera Franciszka Smudę. (7 lat później, w 2012 zastąpił go również na stanowisku selekcjonera).
W sezonie 2005/06 Odra zajęła szóste miejsce w ekstraklasie. Następnie trenował m.in. Polonię Warszawa (2006-07) i Widzewa Łódź (2008-09). Co ciekawe do dziś są to jedyne kluby spoza Śląska w których pracował on jako I trener. Był też trenerem młodzieżówki oraz rezerw GKS Bełchatów (8.01.2008-30.06.2008), kiedy trenerem pierwszej drużyny był Orest Lenczyk (do 21.03.2008), Jan Złomańczuk (tymczasowo, 21.03.2008-21.05.2008),Paweł Janas (od 21.05.2008)
Ruch Chorzów
27 kwietnia 2009 zastąpił Bogusława Pietrzaka na stanowisku trenera Ruchu Chorzów. W sezonie 2011/2012 zdobył z nim wicemistrzostwo Polski i doprowadził do finału Pucharu Polski. Wśród kibiców chorzowskiej drużyny otrzymał przydomek Waldek King[5]. 7 maja 2012 roku otrzymał nagrodę trenera sezonu Ekstraklasy[potrzebny przypis].
7 października 2014 ponownie został I trenerem Ruchu Chorzów, przejmując go od Jána Kociana[8]. Ponownie odszedł z tego klubu 22 kwietnia 2017[9] po przegranym meczu z Lechem Poznań (0:3). Zostawił wówczas Ruch na czternastym miejscu z tym samym dorobkiem punktowym, co drużyny będące na miejscach spadkowych[potrzebny przypis]. Ostatecznie w tamtym sezonie Ruch spadł z Ekstraklasy[potrzebny przypis].
29 listopada 2022 został trenerem Zagłębia Lubin, podpisał kontakt do 30 czerwca 2024[11] który został przedłużony do 30 czerwca 2025. Trener zwolniony został 23 września 2024[12].