W okresie od 1 października 1971 r. do 30 września 1974 r. pracował w Dyrekcji Okręgowej Kolei Państwowych w Krakowie na stanowiskach urzędniczych. We wrześniu 1976 r. zdał egzamin sędziowski z wynikiem bardzo dobrym. Z dniem 2 listopada 1976 r. został minowany asesorem sądowym w okręgu Sądu Wojewódzkiego w Krakowie. 4 października 1979 r. został powołany na stanowisko sędziego Sądu Rejonowego dla Krakowa - Podgórza w Krakowie, z dniem 16 listopada 1982 r.na stanowisko sędziego Okręgowego Sądu Pracy i Ubezpieczeń Społecznych w Krakowie, a od dnia 1 lipca 1985 r., w związku ze zmianą organizacji sadownictwa pracował jako sędzia Sadu Wojewódzkiego w Krakowie. W tym okresie, od 1984 r. pełnił funkcję Przewodniczącego Wydziału Pracy, najpierw w Okręgowym Sądzie Pracy i Ubezpieczeń Społecznych w Krakowie, a następnie w Sądzie Wojewódzkim w Krakowie. Od kwietnia 1987 r. został powołany na stanowisko Sędziego Sądu Najwyższego, na okres kadencji, która zakończyła się z dniem 30 czerwca 1990 r. Od 1 sierpnia 1995 r., jako sędzia, został delegowany do Ministerstwa Sprawiedliwości, do pełnienia czynności na stanowiskach kolejno Wicedyrektora Departamentu Prawnego, a od 22 lutego 2001 r. Dyrektora Departamentu Legislacyjno - Prawnego w tym Ministerstwie. Stanowisko to zajmował do dnia 11 marca 2003 r., tj. powołania do pełnienia funkcji Podsekretarza Stanu w Ministerstwie Sprawiedliwości, zachowując stanowisko sędziego Sadu Okręgowego w Krakowie. Od czerwca 2004r. do września 2004 r. - minister sprawiedliwości w rządzie Marka Belki.