Wywiady

Najbardziej rozwija odpowiedzialność za wynik. Historia Kamila Stasiaka

Najbardziej rozwija odpowiedzialność za wynik. Historia Kamila Stasiaka

Kamil, kiedy pierwszy raz dostrzegł potrzebę prowadzenia dokumentacji w projekcie, docenił możliwość holistycznego spojrzenia na realizowany system. – Dzięki temu, że robiłem ten projekt samodzielnie – od koncepcji przez budowanie środowiska laboratoryjnego i programowanie po testowanie – mogłem poznać wiele perspektyw – dodał w rozmowie z nami. Dziś zajmuje inne stanowisko, pracuje jako Starszy Architekt Sieci Transportowej i Rozwiązań SDN, a od 2018 roku jest architektem rozwiązania w projekcie SDNbox.

Co to za projekt? SDNbox ma na celu implementację rozwiązania SDN składającego się ze sterownika SDN, orkiestratora NFV oraz sieci switchy SDN wyposażonych w zasoby obliczeniowe pozwalające na uruchomienie wirtualnych funkcji sieciowych na brzegu sieci. Platforma SDNbox umożliwia budowę elastycznej, bezpiecznej i wysokowydajnej infrastruktury zarówno w warstwie agregacyjnej sieci operatora, jak i na styku sieci klienta [CE – Customer Edge /CPE – Customer Premises Equipment].

Pracę w EXATEL rozpocząłeś od praktyk studenckich. Później trafiłeś do Biura Architektury i Planowania Sieci. Czym się zajmowałeś?

Moim głównym zadaniem było zaprojektowanie i implementacja aplikacji SDN (ang. Software Defined Networking – sieć definiowana programowo) realizującej ochronę przed atakami anty-DDoS klientom nie posiadających usług IP od EXATEL. System ten odpowiadał za automatyczne konfigurowanie routerów Cisco i systemu anty-DDoS Netscout Arbor na podstawie konfiguracji usługi. Modyfikował też konfigurację routerów Cisco w przypadku uruchomienia mitygacji ataku.

Dodatkowo przeprowadzałem testy urządzeń, które potencjalnie mogły zostać użyte w sieci. Opracowywałem i testowałem konfiguracje dla nietypowych usług klienckich oraz przygotowywałem propozycję nowych usług i innowacji jakie można wprowadzić do naszej sieci.

Pamiętasz, które z zadań w pracy nauczyło Cię najwięcej?

Zdecydowanie najwięcej nauczyłem się tworząc system do zarządzania usługami anty-DDoS. Dzięki temu projektowi poznałem Arbora, musiałem nauczyć się korzystać z tego systemu, poznać z jakich mechanizmów sieciowych korzysta. Tak, aby następnie określić konfigurację routerów Cisco. Dodatkowo przeszedłem proces wytworzenia systemu SDN, w którym miałem okazję popełnienia wielu błędów. Wtedy jeszcze nie mieliśmy w EXATEL działu R&D.

Jakie to były błędy? Myślę, że warto o nich opowiedzieć.

Moje prace nie były uporządkowane, a system stawał się coraz większy i trudniej było go rozwijać nie mając rozrysowanych procesów w nim zachodzących. Wtedy dostrzegłem potrzebę prowadzenia dokumentacji. Doceniłem możliwość spojrzenia holistycznego na realizowany system, choćby na wyższym poziomie abstrakcji. Dzięki temu, że robiłem ten projekt samodzielnie – od koncepcji przez budowanie środowiska laboratoryjnego i programowanie po testowanie – mogłem poznać wiele perspektyw. Nie było również osoby trzeciej, która mogłaby krytycznie spojrzeć na mój kod. Wzajemna recenzja wykonanej pracy pomaga utrzymać odpowiedni poziom. Praca w jednoosobowym zespole prowadzi do zbyt dużego ,,rozluźnienia”.

Z drugiej strony, właśnie takie zadania, projekty rozwijają programistę najbardziej? Dlaczego?

Myślę, że najważniejszym czynnikiem jest pełna odpowiedzialność za wynik. Nie ma odpowiedzialności zbiorowej, bo nie ma grupy. O każdy element systemu trzeba zadbać samemu oraz rzetelnie sprawdzić jego działanie. W takim projekcie, gdy jest się zmęczonym danym zadaniem nie można wrzucić “być może niedopracowanego” kodu, który ewentualnie nie przejdzie recenzji albo testów kolegów z QA. Wszystkie trudności również trzeba rozwiązać samemu, co może nie jest optymalne czasowo. Choć jestem zwolennikiem konsultacji, z pewnością takie zadanie uczy samodzielności i kreatywności.

W 2018 roku zostałeś architektem rozwiązania w projekcie SDNbox. Czym się zajmujesz?

W projekcie mam szeroki zakres obowiązków. Wspieram kierownictwo przy podejmowaniu decyzji związanych z projektem, pomagam właścicielowi produktu w tworzeniu wizji naszych rozwiązań SDN oraz wymagań, wspieram programistów wiedzą domenową i przede wszystkim tworzę koncepcję sieciową realizowaną przez nasz system SDN. Sieci programowalne nie są popularne w pakietowych sieciach transportowych, szczególnie sieci SDN oparte o protokół Openflow (w skrócie OF).

W związku z tym w przygotowywanych projektach muszę określić m.in. kiedy i jakie reguły OF są instalowane. Kiedy i jaka konfiguracja jest przekazywana do urządzeń, jakie protokoły musimy realizować na urządzeniach a jakie możemy przenieść do sterownika SDN. Czy w ogólne potrzebne nam są niektóre protokoły powszechnie używane w sieciach konwencjonalnych. Jak działa dany protokół czy w jaki sposób będziemy integrować się z sieciami konwencjonalnymi. To tylko przykłady moich zadań. Pomagam również w przygotowywaniu przypadków testowych testów akceptacyjnych.

Czym Twoja praca różni się od pracy programisty, a jakie ma podobieństwa?

Przede wszystkich różni się językiem, którego używam. Programiści opisują działanie systemu w języku programowania, a ja opisuje go za pomocą diagramów UML oraz języka polskiego. Różni się również poziomem abstrakcji – ja operuje na komponentach funkcjonalnych oraz prymitywach protokołów. Programiści z kolei na obiektach realizujących dane komponenty. Łączy nas to, że musimy rozumieć nasz system, aby dołożyć swoją cegiełkę do jego realizacji.

Obie strony muszą rozumieć system. W jaki sposób najlepiej zrozumieć wzajemnie swoją pracę?

Zdecydowanie. Otwarcie rozmawiając – komunikacja w zespole jest niezwykle ważna. W naszym zespole regularnie omawiamy produkty pracy architektonicznej z programistami oraz potrzeby programistów. Dzięki temu tworzymy materiały coraz bardziej dostosowane do potrzeb programistów oraz unikamy wykonywania nikomu niepotrzebnej pracy. Zakres tematów do opracowania w projekcie SDNbox jest bardzo szeroki, dlatego określania potrzebnych produktów pracy architektonicznej jest ważne, ponieważ umożliwia nam lepsze wykorzystywanie czasu całego zespołu.

Jakie umiejętności trzeba posiadać, by sprawdzić się w branży telekomunikacyjnej?

Podobne jak w pozostałych branżach ICT – inteligencja, pracowitość i przede wszystkim pasja. Telekomunikacja jest bardzo szeroką dziedziną – wykorzystuje wiedzę z zakresu elektroniki, informatyki i rozszerza o szereg zagadnień stricte telekomunikacyjnych. Dlatego, aby “poczuć” telekomunikację, trzeba włożyć wiele pracy i serca w zdobywanie wiedzy.

Zdecydowanie łatwiej jest osobom posiadającym wykształcenie telekomunikacyjne. Podczas projektowania urządzenia mamy okazję analizować działanie systemu na każdej warstwie modelu referencyjnego TCP/IP łącznie z warstwą fizyczną, z którą związane zagadnienia nie należą do najpopularniejszych. Oczywiście nie jest ona potrzebna nam na co dzień. Normalnie wykorzystujemy ułamek wiedzy telekomunikacyjnej, przez co z wieloma tematami można się nigdy nie spotkać.

Jakie ma się możliwości w tej branży? Czy jest jakiś schemat ścieżki kariery członka branży telekomunikacyjnej?

Kiedy zaczynałem pracę w telekomunikacji słyszałem ciągle, że to wymierająca branża borykająca się ze spadającą wartością dostarczanych usług. Osobiście nie miałem problemów ze znalezieniem pracy, dostawałem również co jakiś czas propozycje zmiany pracodawcy. Telekomunikacja jak już wspominałem jest bardzo szerokim pojęciem. W jej ramach można specjalizować się w przewodowych systemach transmisyjnych, sieciach komputerowych, sieciach bezprzewodowych czy telewizji. Swoją karierę można rozwijać również w firmach o różnym charakterze. Mogą to być jednostki naukowe, dostawcy sprzętu/systemów sieciowych, operatorzy sieci czy firmy zajmujące się bezpieczeństwem.

Standardowa ścieżka kariery inżyniera u operatora może być powiązana z siecią i prowadzić od monitorowania, poprzez administrację do projektowania sieci transportowych lub z usługami i skupiać się na technicznym wsparciu sprzedawców lub opiece nad oferowanymi przez operatora produktami. Osobiście nie przechodziłem tych ścieżek a jedynie mogłem obserwować kariery kolegów. Stanowisk architektonicznych u operatorów jest stosunkowo niewiele. Jest to rynek bez porównania mniejszy niż rynek programistyczny.

Nowe możliwości dają technologie SDN. Bo wymagają od pracowników zarówno znajomości tematyki związanej z telekomunikacją oraz wytwarzania oprogramowania. W Polsce są również obecni są od lat wielcy dostawcy sprzętu telekomunikacyjnego tacy jak Samsung czy Nokia zatrudniający wielu inżynierów z branży telekomunikacyjnej. Podsumowując, rynek pracy w branży telekomunikacyjnej z punktu widzenia osoby otwartej na nowe technologie jest pełen różnorodnych wyzwań i perspektyw rozwoju.

Porozmawiajmy o Twoim rozwoju. W jaki sposób EXATEL wspiera Cię w podnoszeniu kwalifikacji?

Moje codzienne obowiązki pozwalają na ciągły rozwój mojej wiedzy. Nie jest to rutynowa praca, w której każdego dnia robię to samo. Dotykam wielu zagadnień, których nie miałem okazji wcześniej dogłębnie poznać. Mam okazję pracować ze świetnymi ekspertami, którzy chętnie dzielą się wiedzą ze swojego zakresu. Takie środowisko pracy naturalnie podnosi kwalifikacje.

Kierunek rozwoju wynika z Twoich potrzeb, czy z potrzeb firmy?

Mam w tym przypadku zbieżność z pracodawcą. Interesuję się tematyką, którą zajmuję się zawodowo. Mamy również wspólny cel, ponieważ z uwagi na fakt pracy nad projektem SDNbox od jego początku i bliskiej mi wizji tego produktu jestem przywiązany do naszego projektu. W efekcie moje potrzeby rozwoju wynikają z wyzwań z jakimi mierzę się na co dzień.

Co Twoim zdaniem będzie/jest sukcesem SDNboxa?

Jego elastyczność osiągana poprzez możliwość reprogramowania procesora sieciowego naszego switcha oraz tworzenia nowych aplikacji SDN. Reprogramowalność sprzętu i zdalna możliwość aktualizacji firmware wydłuża okres przydatności urządzenia w sieci, ponieważ można dostosować sieć do najnowszych technologii bez wymiany urządzeń. Tworzenie aplikacji SDN również daje użytkownikowi możliwość rozszerzania zakresu funkcjonalnego systemu o realizację kolejnych usług telekomunikacyjnych czy funkcji bezpieczeństwa. Mamy też bardzo ciekawe koncepcje obsługi ruchu związanego z maszynami wirtualnymi, ale póki co nie mogę zdradzić szczegółów tego rozwiązania.

Co może przyspieszyć, a co spowolnić rozwój SDNboxa?

Nasz zespół nieustannie rośnie i wsparcie przez kolejnych specjalistów z pewnością pomoże osiągnąć nasze cele szybciej. Głównym czynnikiem mogącym spowodować znaczne opóźnienia jest sytuacja epidemiologiczna mocno wpływająca na terminy realizacji układów elektronicznych. Rynek elektroniczny jest mocno zglobalizowany przez co bardziej podatny na obostrzenia wprowadzane w wielu krajach. Niestety nie mamy na to wpływu. A biorąc pod uwagę ponowne nasilenie epidemii na świecie, ryzyko to jest realne.


Kamil Stasiak. Od 2018 roku architekt rozwiązania SDNbox w Exatel SA. Wcześniej pracował jako architekt sieci. Pasjonat technik SDN i wolnego oprogramowania. Jeden z autorów SDNbloga. Swoje pierwsze kroki z telekomunikacją stawiał w technikum elektronicznym w Lublinie. Dwukrotny zwycięzca Ogólnopolskiej Olimpiady Elektrycznej i Elektronicznej w dziedzinie Teleinformatyka. Absolwent Telekomunikacji na wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. W czasie wolnym szczęśliwy tata.

Redaktor naczelny w Just Geek IT

Od pięciu lat rozwija jeden z największych polskich portali contentowych dot. branży IT. Jest autorem formatu devdebat, w którym zderza opinie kilku ekspertów na temat wybranego zagadnienia. Od 10 lat pracuje zdalnie.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://geek.justjoin.it/najbardziej-rozwija-odpowiedzialnosc-za-wynik-historia-kamila-stasiaka/" order_type="social" width="100%" count_of_comments="8" ]