Doświadczenie i wiedza IT

O firmie

Przez wiele lat pracy nad różnymi projektami IT nauczyłem się, że kluczowym czynnikiem jest sukces biznesu. Projekt ma wspierać ten sukces, na takiej podstawie można budować długoterminowe relacje oparte na wzajemnych korzyściach, otwartości i zaufaniu.

Uważam, że programowanie to sztuka, a nie rzemiosło. Ważny jest dobry pomysł, a nie tylko dodawanie kolejnych linijek kodu. Ktoś, kiedyś pomógł mi zdobyć moje doświadczenie - dzisiaj to ja mogę podzielić się wiedzą jak budować aplikacje.


Analiza wymagań
Projektowanie
Wdrożenie
Szkolenia

Doświadczenie

Od 2004 r. pracuję w branży IT. Przez większość tego czasu zajmowałem się tworzeniem różnego rodzaju aplikacji internetowych, głównie w języku Java, poczynając od stron informacyjnych przez różnego rodzaju extranety/intranety, aplikacje do samoobsługi (eBOK) oraz sklepy internetowe. Miałem przy tym niebywałą przyjemność projektować takie rozwiązania jak:

  • stronę główną oraz mobilną Polskich Linii Lotniczych LOT,
  • eBok dla klientów PGNiG S.A.,
  • serwis internetowy Biura Informacji Kredytowej,
  • stronę informacyjną Banku Pekao S.A.,
  • oraz wiele, wiele innych ...
Były to zaawansowane rozwiązania stawiające wysokie wymagania związane z funkcjonalnością, wydajnością, czy też niezawodnością tworzonych aplikacji. Dalej aktywnie uczestniczę w tworzeniu nowych aplikacji dbając o ciągłe zdobywanie nowych doświadczeń.

Zarządzanie zespołem

Na przestrzeni lat miałem okazję pracować w różnych zespołach projektowych, od małych kilkuosobowych do kilkunastu osób zaangażowanych w implementację jednego z modułów projektu. Największym wyzwaniem w takiej pracy jest skoordynowanie działań na różnych płaszczyznach projektu, tak aby najlepiej wykorzystać dostępny czas i zespół.

Poza kierowaniem zespołami projektowymi zarządzałem również ponad trzydziesto osobowym działem w firmie IT realizującym wiele równoczesnych wdrożeń. Tu ważne było długoterminowe zapewnienie ciągłości pracy zespołu, rekrutacja, czy też wsparcie rozwoju.

Zarządzanie wymaganiami

Zarządzanie wymaganiami jest dziedziną, która szczególnie mnie interesuje. Główne z tego powodu, że sukces projektu w dużej mierze zależy od skutecznego zarządzania zakresem. Najważniejsze jest właściwe zrozumienie potrzeb klienta/projektu, na jak najwcześniejszym etapie projektu — dzięki temu można zaoszczędzić wiele nakładów pracy związanych z przyszłą implementacją.

Bardzo cenię sobie metodyki zwinne typu Kanban lub Scrum, głównie dzięki temu, że stawiają na zaangażowanie zarówno zamawiającego, jak i dostawcy. Wspólna praca buduje lepsze zrozumienie wzajemnych potrzeb, jak i ograniczeń. Otwarta komunikacja buduje zaufanie.

Technologie

Przez większość swojej drogi jako programista, czy też architekt tworzyłem głównie aplikacje internetowe. W większości projektów implementacja oparta była o język Java ze wsparciem różnego rodzaju bibliotek. Trudno byłoby wymienić je wszystkie, ale na szczególną uwagę zasługuje Spring Framework, który od lat się rozwija — tworząc co raz to bardziej efektywne podejścia do implementacji. Większość ostatnich projektów powstała na podstawie Spring Boot z użyciem Spring MVC, Spring Security, Spring Data.

W ostatnich latach bardzo widocznym trendem jest rozbudowywanie się funkcjonalności stron realizowanych w przeglądarce. Imponująca jest ilość nowych rozwiązań wspierających budowanie w pełni funkcjonalnych aplikacji w ramach strony takich jak: Angular.js, React.js, Vue.js. Dzięki nim powstają aplikacje w pełni funkcjonujące wyłącznie w przeglądarce (SPA), czy idąc krok dalej aplikacje mobilne, tzw. progresywne, oparte o aplikację Javascript (PWA).

Innym ciekawym trendem jest rozbudowywanie się platform typu IaaS (Infrastructure as a Service), dla mnie niekwestionowanym liderem w tym obrzarze jest Amazon AWS, którego to poznaję od czasu projektu implementacji strony internetowej LOT.com. Wówczas było to jedno z pierwszych wdrożeń na tę skalę AWS w Polsce. Przy właściwym wykorzystaniu potencjału platformy możliwe jest szybkie przygotowanie środowiska do uruchomienia projektu bez ponoszenia wygórowanych kosztów.

Szkolenia

Myślę, że wiedza i doświadczenie są niezbędne do skutecznej realizacji projektów. Odpowiedni bagaż doświadczeń pozwala uniknąć wielu błędów projektowania i implementacji. Dzięki wiedzy można być partnerem dla klienta, który z jednej strony realizuje wymagania, z drugiej zaś strony podpowiada możliwe rozwiązania, czy też świadomie pokazuje plusy i minusy poszczególnych decyzji projektowych.

Tworząc i rozwijając zespoły projektowe, szczególny nacisk kładę na rozwijanie innych. Z przyjemnością dzielę się wiedzą w postaci szkoleń, czy też omawiając wspólnie implementacje. Ważne są nie tylko umiejętności technologiczne (twarde), te wbrew pozorom są dość łatwe do zbudowania. Technologie mają też to do siebie, że zadziwiająco szybko przemijają. Umiejętności miękkie zostają z nami dłużej. Niezależnie od tego, w jakiej technologii aktualnie się programuje, przydaje się umiejętność sprawnej komunikacji oraz współpracy w grupie, umiejętność logicznego myślenia, czy też rozwiązywania problemów.


Jeśli masz pytania:

Zapraszam do kontaktu