wlodzimierzkrakowskiWitaj na mojej stronie poświęconej refaktoryzacji!

Nazywam się Włodek Krakowski i z Krakowem, oprócz nazwiska, związany jestem miejscem pracy i zamieszkania.

Od dłuższego czasu temat jakości kodu jest mi bardzo bliski. Swoją pracę zawodową zaczynałem jako programista z czasem specjalizujący się w także w poprawianiu kodu.

Wówczas wydawało mi się, że jakość kodu może być celem samym w sobie. Zacząłem jednak zadawać sobie pytanie: czy jakość kodu to najważniejszy cel, jaki przed sobą ma programista? I zdałem sobie sprawę, że być może zadaję sobie niewłaściwe pytanie. Przecież najważniejszym celem każdego programisty zatrudnionego w dobrej firmie jest dostarczenie wartości biznesowej, poprzez napisanie prawidłowo działającego oprogramowania, które rozwiązuje problemy naszego klienta. Jeżeli firma nie jest w stanie sprzedać / dostarczyć swojego produktu do klienta, to nie przyda się kod, który napisaliśmy niezależnie od jego jakości. Na początku mojej pracy dziwiłem się, dlaczego ludzie w świecie biznesu tak chłodno reagują na informację, że poprawiłem jakość kodu, bo dla nich on nadal działał tak samo.

Czasami jednak zdarzało się, że klient znajdował scenariusze kiedy kod działał nieprawidłowo, a wtedy poprawienie błędów w kodzie o złej jakości…wprowadzało w zamian następne błędy.

I teraz, kiedy już wiadomo, że kod/produkt przede wszystkim ma działać prawidłowo i dostarczać wartość biznesową, to możemy zadać to właściwe pytanie: Czy można to osiągnąć poprzez kod o złej jakości tj. na przykład nieczytelny, nie-testowalny podzielony na mniejsze komponenty nieprawidłowo?

Swoją wiedzę zgłębiałem i dzieliłem się nią prowadząc szkolenia z tematu jakości kodu, a dokładnie z zasad SOLID, refaktoryzacji, refaktoryzacji do wzorców projektowych, bibliotek do testowania jednostkowego itp.

Kiedy w końcu objąłem stanowisko lidera zespołu, mogłem spojrzeć na problematykę z innej perspektywy. Zobaczyłem jak na sprawę patrzą analitycy biznesowi (którzy widzą tylko interfejs użytkownika i rozmawiają z klientem), a jak widzą to członkowie mojego zespołu. Co więcej okazało się, że każdy rozumie jakość kodu trochę inaczej. No i w końcu jaki na to wszystko ma wpływ termin realizacji.

Jak widzicie, napisanie o refaktoryzacji w powyższy sposób zajęło mi trochę czasu. Chcę dzielić się swoją wiedzą z innymi w trakcie prowadzonych przeze mnie szkoleń.

Kilka razy występowałem na konferencjach tematycznych i pozwolę sobie tutaj wymienić:

  1. 33rd Degree – Krakow, Poland (obecnie devoxx.pl)
    1. Effective Refactoring (2014)
  2. Confitura – Warsaw, Poland (nagrania w sekcji Video)
    1. Efektywna Refactoryzacja (2014)
    2. Refaktoryzacja w Świecie Biznesu (2018)
  3. Java Developers Days Krakow, Poland (nagranie w sekcji Video)   
    1. Effective Refactoring (2014)
    2. Refactoring in Business World  (2017)
  4. JBCNConf – Barcelona, Hiszpania : warsztaty z refaktoryzacji
    1. Inheritance of Delegation (2016)
    2. Tests Refactoring (2017)
    3. Refactoring out of God Object Design Anti-Patterns (2018)

W roku 2013 w ramach projektu Sabre Academy prowadziłem wykłady oraz warsztaty z refaktoryzacji dla studentów informatyki z Uniwersytetu Jagiellońskiego, Akademii Górniczo-Hutniczej oraz Politechniki Krakowskiej.

Przeprowadziłem także kilkadziesiąt szkoleń i wykładów poświęconych refaktoryzacji w różnych oddziałach firm Sabre (Kraków, Dallas TX), oraz Ocado (Kraków, Hatfield UK, Wrocław, Barcelona, Sofia).

Wszystkich zainteresowanych tematem jakości kodu zapraszam do współpracy.