Konstruktywny feedback to dar. Użyj tej checklisty, aby upewnić się, że Twoja informacja zwrotna jest wartościowa, motywująca i wspierająca rozwój mentee.
Przed rozmową:
Zbierz konkretne przykłady: Unikaj ogólników. Odwołuj się do konkretnych sytuacji i zachowań, a nie do cech osobowości.
Określ cel feedbacku: Co chcesz osiągnąć? Jaka zmiana w zachowaniu mentee byłaby pożądana?
Sprawdź swoje intencje: Upewnij się, że Twoim celem jest pomoc i wsparcie, a nie krytyka czy udowodnienie racji.
Wybierz odpowiedni czas i miejsce: Zapewnij prywatność i wystarczającą ilość czasu na spokojną rozmowę.
W trakcie rozmowy:
Zacznij od pytania o zgodę: "Czy to dobry moment, abyśmy porozmawiali o...?" / "Czy jesteś otwarty/a na informację zwrotną na temat...?".
Stosuj model SBI (Situation-Behavior-Impact): Opisz Sytuację, konkretne Zachowanie i jego Wpływ na Ciebie/zespół/projekt.
Mów w pierwszej osobie ("Komunikat Ja"): Zamiast "Zawsze się spóźniasz", powiedz "Kiedy spóźniłeś się na spotkanie, poczułem, że mój czas nie jest szanowany".
Oddziel fakty od interpretacji: Przedstaw to, co zaobserwowałeś, a następnie zapytaj o perspektywę mentee ("Zauważyłem, że... Jak to wygląda z Twojej strony?").
Skup się na przyszłości: Po omówieniu przeszłości, skoncentrujcie się na tym, co można zrobić inaczej w przyszłości.
Słuchaj aktywnie: Daj mentee przestrzeń na odpowiedź. Zadawaj pytania, aby upewnić się, że dobrze go rozumiesz.
Zakończ pozytywnym akcentem: Podkreśl mocne strony mentee i wyraź wiarę w jego/jej zdolność do rozwoju.
Po rozmowie:
Zaplanujcie kolejne kroki: Wspólnie ustalcie, co mentee może zrobić w związku z otrzymanym feedbackiem.
Zaoferuj wsparcie: "Jak mogę Ci pomóc w realizacji tego planu?".
Sprawdź efekty: Wróć do tematu na kolejnym spotkaniu, aby zobaczyć, jakie postępy poczynił mentee.
Bank 50 "pytań otwarcia"
Użyj tych pytań, aby lepiej poznać mentee, zrozumieć jego motywacje i zdiagnozować potrzeby. Wybierz te, które najlepiej pasują do kontekstu rozmowy.
Pytania na rozpoczęcie i budowanie relacji
Co Cię sprowadza do mentoringu?
Gdybyś miał/a opisać swoją dotychczasową karierę w trzech słowach, jakie by one były?
Jaka jest najcenniejsza lekcja, jakiej nauczyłeś/aś się w ostatnim roku?
Co robisz, żeby się zrelaksować i naładować baterie?
Z jakiego osiągnięcia (zawodowego lub prywatnego) jesteś najbardziej dumny/a?
Co daje Ci najwięcej energii w pracy?
A co najbardziej Cię tej energii pozbawia?
Jak wygląda Twój idealny dzień w pracy?
Gdybyś nie musiał/a pracować, czym byś się zajął/zajęła?
Kto jest dla Ciebie największą inspiracją i dlaczego?
Pytania o cele i aspiracje
Gdzie widzisz siebie za 5 lat?
Jak wygląda dla Ciebie sukces?
Jaki jest Twój największy cel zawodowy na ten rok?
Co musiałoby się stać, abyś uznał/a ten proces mentoringowy za udany?
Jaka jest jedna rzecz, którą chciałbyś/chciałabyś zmienić w swoim życiu zawodowym?
Jakie nowe umiejętności chciałbyś/chciałabyś zdobyć?
Jaki wpływ chciałbyś/chciałabyś wywierać na swoje otoczenie/firmę?
Co stoi na przeszkodzie w realizacji Twoich celów?
Czego najbardziej się obawiasz w kontekście swojej kariery?
Gdybyś miał/a nieograniczone zasoby, jaki projekt byś zrealizował/a?
Pytania o mocne strony i zasoby
W jakich sytuacjach czujesz się najbardziej kompetentny/a?
Jakie są Twoje trzy największe talenty?
Za co chwalą Cię inni?
Jakie zadania wykonujesz z łatwością, podczas gdy dla innych są one trudne?
Opowiedz o sytuacji, w której udało Ci się rozwiązać trudny problem.
Jakie masz nawyki, które wspierają Twój rozwój?
Kto w Twoim otoczeniu może Cię wspierać?
Z jakich swoich dotychczasowych doświadczeń możesz czerpać?
Co wiesz na pewno o sobie?
Jak dbasz o swój rozwój?
Pytania o wyzwania i obszary do rozwoju
Z jakim wyzwaniem mierzysz się obecnie?
Jaka umiejętność, gdybyś ją opanował/a, miałaby największy wpływ na Twoją karierę?
W jakich sytuacjach tracisz pewność siebie?
Jaki feedback najczęściej otrzymujesz?
Co odkładasz na później?
Czego chciałbyś/chciałabyś się oduczyć?
Gdybyś mógł/mogła cofnąć czas, jaką decyzję zawodową podjąłbyś/podjęłabyś inaczej?
Jak radzisz sobie z porażką lub krytyką?
Co Cię frustruje w Twojej obecnej roli?
Jaka jest najtrudniejsza rozmowa, którą musisz przeprowadzić?
Pytania pogłębiające i refleksyjne
Co to dla Ciebie znaczy?
Jakie widzisz inne możliwości?
Co by się stało, gdybyś nic nie zrobił/a w tej sprawie?
Jaki mały krok możesz zrobić już jutro?
Czego potrzebujesz, aby pójść do przodu?
Jakie założenia przyjmujesz w tej sytuacji?
Jak wyglądałaby ta sytuacja z perspektywy innej osoby?
Co podpowiada Ci intuicja?
Czego nauczyła Cię ta sytuacja?
O co jeszcze nie zapytałem/am, a co jest ważne?
Szablon agendy pierwszego spotkania
Pierwsze spotkanie jest kluczowe dla zbudowania relacji i nadania tonu całej współpracy. Poniższa agenda pomoże Ci w jego uporządkowaniu.
1. Przełamanie lodów i wzajemne poznanie się (ok. 15 min)
Przedstawienie się (ścieżka kariery, zainteresowania, co Cię inspiruje).
Podzielenie się swoimi oczekiwaniami wobec procesu mentoringu.
2. Omówienie roli mentora i mentee (ok. 10 min)
Co mentor może zaoferować? Czym jest, a czym nie jest mentoring?
Jaka jest rola i odpowiedzialność mentee?
3. Wstępna diagnoza potrzeb i celów mentee (ok. 25 min)
Gdzie jesteś teraz? Jakie są Twoje największe wyzwania?
Gdzie chcesz być za 6-12 miesięcy? Co chcesz osiągnąć?
Wspólne zdefiniowanie 1-3 głównych celów na proces mentoringowy.
4. Ustalenie zasad współpracy (Kontrakt) (ok. 15 min)
Omówienie i akceptacja kontraktu (poufność, częstotliwość, forma spotkań).
Ustalenie preferowanych form komunikacji między spotkaniami.
5. Podsumowanie i plan na kolejne spotkanie (ok. 5 min)
Podsumowanie kluczowych ustaleń.
Ustalenie terminu i tematu kolejnego spotkania.
Szablon "Kontraktu mentoringowego"
Kontrakt mentoringowy to umowa między mentorem a mentee, która formalizuje ich współpracę i ustala wspólne oczekiwania. Skorzystaj z poniższego szablonu jako punktu wyjścia.
1. Cele i oczekiwane rezultaty
Główny cel współpracy (np. rozwój kompetencji liderskich, przygotowanie do nowej roli).
Kluczowe obszary do rozwoju dla mentee.
Mierzalne wskaźniki sukcesu (po czym poznamy, że cel został osiągnięty?).
2. Zasady współpracy
Poufność: Wszystkie rozmowy są poufne i pozostają między mentorem a mentee.
Szczerość i otwartość: Zobowiązujemy się do otwartej komunikacji i konstruktywnego feedbacku.
Zaangażowanie: Obie strony zobowiązują się do aktywnego udziału i przygotowania do spotkań.
Odpowiedzialność: Mentee jest odpowiedzialny za swój rozwój, a mentor za wspieranie tego procesu.
3. Logistyka spotkań
Częstotliwość: Spotkania będą odbywać się (np. raz na dwa tygodnie, raz w miesiącu).
Czas trwania: Każde spotkanie potrwa (np. 60-90 minut).
Forma: Spotkania będą (np. online, na żywo, hybrydowo).
Odwoływanie spotkań: Spotkanie należy odwołać z co najmniej 24-godzinnym wyprzedzeniem.
Czas trwania procesu: Współpraca jest zaplanowana na okres (np. 6 miesięcy).
Docker dla początkujących: Jak szybko zacząć pracę z kontenerami?
Wejście w świat nowoczesnego wytwarzania i wdrażania oprogramowania często wiąże się z koniecznością opanowania nowych narzędzi i koncepcji. Jedną z technologii, która fundamentalnie zmieniła sposób, w jaki budujemy, testujemy i uruchamiamy aplikacje, jest Docker. Jeśli dopiero zaczynasz swoją przygodę z konteneryzacją lub szukasz uporządkowanego wprowadzenia do tej technologii, ten artykuł jest dla Ciebie. Wyjaśnimy, czym jest Docker, dlaczego zyskał tak dużą popularność i jak możesz szybko postawić pierwsze kroki w pracy z kontenerami. Skupimy się na praktycznych podstawach, które stanowią fundament wiedzy przekazywanej na szkoleniach wprowadzających, abyś mógł efektywnie rozpocząć swoją podróż z Dockerem.
Czym jest konteneryzacja i dlaczego warto poznać Dockera?
Zanim zagłębimy się w samego Dockera, warto zrozumieć ideę konteneryzacji. Jest to metoda wirtualizacji na poziomie systemu operacyjnego, która pozwala na „zapakowanie” aplikacji wraz ze wszystkimi jej zależnościami (bibliotekami, plikami konfiguracyjnymi, środowiskiem uruchomieniowym) w izolowaną jednostkę zwaną kontenerem. Taki kontener można następnie łatwo przenosić i uruchamiać na dowolnej maszynie posiadającej odpowiednie środowisko do obsługi kontenerów, niezależnie od jej systemu operacyjnego czy zainstalowanego oprogramowania.
Docker jest obecnie najpopularniejszą platformą do tworzenia, zarządzania i uruchamiania kontenerów. Dostarcza on zestaw narzędzi oraz ekosystem, który znacząco upraszcza proces konteneryzacji. Dlaczego warto go poznać? Ponieważ rozwiązuje on wiele powszechnych problemów w cyklu życia oprogramowania. Eliminuje syndrom „u mnie działa”, zapewniając spójność środowiska między maszynami deweloperów, serwerami testowymi a produkcją. Przyspiesza proces wdrażania aplikacji, ułatwia skalowanie i optymalizuje wykorzystanie zasobów serwerowych. Znajomość Dockera staje się coraz częściej standardem wymaganym w wielu rolach technicznych, od programistów po administratorów systemów i inżynierów DevOps.
Jak kontenery różnią się od maszyn wirtualnych?
Często pojawia się pytanie o różnicę między kontenerami a maszynami wirtualnymi (VM). Obie technologie służą do izolowania aplikacji i ich środowisk, ale robią to w fundamentalnie inny sposób. Maszyna wirtualna emuluje kompletny system sprzętowy (procesor, pamięć, dysk, kartę sieciową), na którym instalowany jest pełny system operacyjny (tzw. system gościa), a dopiero na nim uruchamiana jest aplikacja. Każda VM posiada własne jądro systemu operacyjnego.
Kontenery natomiast działają inaczej. Wykorzystują one współdzielone jądro systemu operacyjnego gospodarza (hosta), na którym są uruchomione. Izolacja odbywa się na poziomie procesów i przestrzeni nazw systemu operacyjnego. Dzięki temu kontenery są znacznie „lżejsze” – uruchamiają się błyskawicznie (w milisekundach lub sekundach, a nie minutach jak VM), zajmują mniej miejsca na dysku i zużywają mniej pamięci RAM oraz mocy obliczeniowej. Pozwala to na uruchomienie znacznie większej liczby kontenerów na tym samym sprzęcie w porównaniu do maszyn wirtualnych. Ta efektywność zasobów jest jedną z kluczowych przewag konteneryzacji.
Jakie są podstawowe polecenia Docker CLI, które musisz znać?
Interakcja z Dockerem odbywa się głównie za pomocą interfejsu linii poleceń (CLI – Command Line Interface). Istnieje kilka fundamentalnych komend, których znajomość pozwoli Ci rozpocząć pracę:
Zarządzanie obrazami: Podstawową komendą do pobierania obrazów z repozytorium (np. Docker Hub) jest docker pull NAZWA_OBRAZU:TAG. Aby zobaczyć listę obrazów dostępnych lokalnie na Twojej maszynie, użyjesz docker images. Natomiast do usunięcia niepotrzebnego obrazu służy docker rmi NAZWA_OBRAZU_LUB_ID.
Uruchamianie kontenerów: Aby uruchomić kontener na podstawie obrazu, użyjesz polecenia docker run NAZWA_OBRAZU. Często dodaje się do niego opcje, np. -d do uruchomienia w tle (detached mode) lub -p PORT_HOSTA:PORT_KONTENERA do opublikowania portu kontenera na hoście.
Zarządzanie kontenerami: Listę aktualnie działających kontenerów wyświetlisz za pomocą docker ps. Aby zobaczyć wszystkie kontenery (również zatrzymane), dodaj flagę -a: docker ps -a. Do zatrzymania działającego kontenera służy docker stop NAZWA_LUB_ID_KONTENERA, a do jego ponownego uruchomienia docker start NAZWA_LUB_ID_KONTENERA. Usunięcie zatrzymanego kontenera wykonasz poleceniem docker rm NAZWA_LUB_ID_KONTENERA.
Opanowanie tych kilku podstawowych poleceń stanowi pierwszy, ważny krok w nauce praktycznego wykorzystania Dockera.
Czym są obrazy Docker i jak nimi zarządzać?
Centralnym elementem ekosystemu Docker są obrazy (images). Obraz Docker to lekki, samodzielny, wykonywalny pakiet, który zawiera wszystko, co jest potrzebne do uruchomienia aplikacji: kod, środowisko uruchomieniowe, narzędzia systemowe, biblioteki i ustawienia. Obrazy są tworzone warstwowo, co oznacza, że zmiany w kolejnych warstwach są zapisywane jako różnice, co optymalizuje ich rozmiar i przyspiesza budowanie oraz pobieranie.
Obrazy są niezmienne – raz zbudowany obraz nie ulega modyfikacji. Na podstawie jednego obrazu można uruchomić wiele kontenerów, które są działającymi instancjami tego obrazu. Można myśleć o obrazie jak o szablonie lub klasie w programowaniu obiektowym, a o kontenerze jak o obiekcie stworzonym na podstawie tej klasy.
Obrazy przechowuje się i udostępnia za pomocą rejestrów (registries). Najbardziej znanym publicznym rejestrem jest Docker Hub, gdzie znajdziesz tysiące gotowych obrazów dla popularnych technologii (np. bazy danych, serwery WWW, języki programowania). Możesz również tworzyć własne, prywatne rejestry do przechowywania obrazów firmowych. Zarządzanie obrazami polega głównie na ich pobieraniu z rejestrów (docker pull), listowaniu lokalnych obrazów (docker images), budowaniu własnych obrazów (o czym za chwilę) oraz ich usuwaniu (docker rmi), gdy nie są już potrzebne.
Jak tworzyć własne obrazy za pomocą Dockerfile?
Chociaż możesz korzystać z gotowych obrazów dostępnych publicznie, często zachodzi potrzeba stworzenia własnego, niestandardowego obrazu zawierającego Twoją aplikację i jej specyficzną konfigurację. Do tego celu służy plik tekstowy o nazwie Dockerfile.
Dockerfile zawiera zestaw instrukcji, które krok po kroku opisują, jak zbudować obraz. Każda instrukcja tworzy nową warstwę w obrazie. Podstawowe instrukcje, które znajdziesz w większości Dockerfile’ów, to:
FROM NAZWA_OBRAZU_BAZOWEGO: Określa obraz bazowy, na którym będzie budowany nowy obraz (np. FROM python:3.9-slim).
WORKDIR /ścieżka/w/kontenerze: Ustawia katalog roboczy dla kolejnych instrukcji (np. WORKDIR /app).
COPY lokalna/ścieżka /ścieżka/w/kontenerze: Kopiuje pliki lub katalogi z Twojej maszyny (kontekstu budowania) do systemu plików obrazu (np. COPY . . skopiuje całą zawartość bieżącego katalogu).
RUN polecenie: Wykonuje polecenie wewnątrz tworzonego obrazu, np. w celu instalacji zależności (RUN pip install -r requirements.txt).
EXPOSE PORT: Informuje Dockera, że kontener będzie nasłuchiwał na określonym porcie (np. EXPOSE 8000). Nie publikuje portu automatycznie.
CMD [„polecenie”, „parametr1”, „parametr2”] lub ENTRYPOINT [„polecenie”]: Definiuje domyślne polecenie, które zostanie wykonane podczas uruchamiania kontenera z tego obrazu (np. CMD [„python”, „manage.py”, „runserver”, „0.0.0.0:8000”]).
Aby zbudować obraz na podstawie pliku Dockerfile, użyjesz polecenia docker build -t nazwa_twojego_obrazu:tag . (kropka na końcu wskazuje bieżący katalog jako kontekst budowania). Umiejętność tworzenia własnych Dockerfile’ów jest kluczowa dla efektywnego wdrażania własnych aplikacji za pomocą Dockera.
Jak interaktywnie pracować z kontenerami?
Poza uruchamianiem kontenerów w tle (docker run -d), często potrzebujesz wejść w interakcję z działającym kontenerem, na przykład w celu debugowania, wykonania jednorazowych poleceń czy podejrzenia jego systemu plików. Docker udostępnia do tego odpowiednie narzędzia.
Aby uruchomić kontener w trybie interaktywnym i od razu uzyskać dostęp do jego powłoki (shell), możesz użyć flag -it (połączenie -i dla trybu interaktywnego i -t dla pseudo-terminala) w poleceniu docker run, np. docker run -it ubuntu bash uruchomi kontener z obrazu Ubuntu i od razu wejdziesz do jego powłoki bash.
Jeśli kontener już działa w tle, możesz wykonać w nim dodatkowe polecenie za pomocą docker exec. Na przykład, docker exec -it NAZWA_LUB_ID_KONTENERA bash pozwoli Ci wejść do powłoki bash działającego kontenera. Możesz też wykonać pojedyncze polecenie bez wchodzenia do powłoki, np. docker exec NAZWA_LUB_ID_KONTENERA ls /app wyświetli zawartość katalogu /app wewnątrz kontenera.
Do przeglądania logów generowanych przez kontener służy polecenie docker logs NAZWA_LUB_ID_KONTENERA. Możesz użyć flagi -f, aby śledzić logi na żywo (docker logs -f …). Możliwość interaktywnej pracy z kontenerami jest nieoceniona podczas developmentu i diagnozowania problemów.
Jak wygląda podstawowa komunikacja sieciowa w Dockerze?
Kontenery, aby być użyteczne, muszą mieć możliwość komunikowania się ze światem zewnętrznym oraz między sobą. Docker zapewnia wbudowane mechanizmy sieciowe, które to umożliwiają. Domyślnie, Docker tworzy sieć typu bridge o nazwie bridge. Kontenery podłączone do tej samej sieci bridge mogą komunikować się ze sobą, używając swoich wewnętrznych adresów IP.
Aby umożliwić dostęp do usług działających w kontenerze spoza hosta Dockera (np. z Twojej przeglądarki), musisz opublikować (publish) port kontenera na porcie maszyny hosta. Robi się to za pomocą flagi -p lub –publish podczas uruchamiania kontenera: docker run -p 8080:80 nginx uruchomi kontener z serwerem Nginx i przekieruje ruch z portu 8080 na maszynie hosta na port 80 wewnątrz kontenera. Dzięki temu, wpisując w przeglądarce http://localhost:8080, uzyskasz dostęp do strony serwowanej przez Nginx w kontenerze.
Docker pozwala również na tworzenie własnych, niestandardowych sieci (np. innych sieci bridge lub sieci overlay w trybie Swarm), co daje większą kontrolę nad izolacją i komunikacją między kontenerami. Zrozumienie podstawowych koncepcji sieciowych jest ważne dla budowania aplikacji składających się z wielu kontenerów.
Jakie praktyczne korzyści daje znajomość Dockera?
Opanowanie podstaw Dockera otwiera przed Tobą drzwi do wielu praktycznych korzyści, zarówno w codziennej pracy, jak i w rozwoju kariery zawodowej. Przede wszystkim zyskujesz umiejętność efektywnego tworzenia spójnych i przenośnych środowisk dla swoich aplikacji. Niezależnie od tego, czy jesteś programistą, testerem czy administratorem, Docker pozwala Ci uniknąć problemów związanych z różnicami w konfiguracji między maszynami.
Znajomość Dockera znacząco upraszcza i przyspiesza proces wdrażania aplikacji. Skonteneryzowane aplikacje można łatwo uruchomić w dowolnym środowisku wspierającym Dockera, co skraca czas potrzebny na przygotowanie i konfigurację serwerów. Ułatwia to również implementację praktyk Continuous Integration i Continuous Deployment (CI/CD).
Ponadto, kontenery pozwalają na lepsze wykorzystanie zasobów sprzętowych w porównaniu do tradycyjnych maszyn wirtualnych, co może prowadzić do oszczędności kosztów infrastruktury. Umiejętność pracy z Dockerem jest również coraz bardziej ceniona na rynku pracy w branży IT, otwierając nowe możliwości zawodowe w obszarach takich jak DevOps, Cloud Engineering czy administracja systemami.
Podsumowanie: Zbuduj solidne fundamenty Docker z EITT
Docker zrewolucjonizował sposób, w jaki podchodzimy do tworzenia, testowania i wdrażania oprogramowania. Jego zrozumienie i praktyczne opanowanie staje się kluczową umiejętnością dla każdego profesjonalisty IT. W tym artykule przedstawiliśmy absolutne podstawy: koncepcję konteneryzacji, różnice względem maszyn wirtualnych, kluczowe polecenia Docker CLI, pracę z obrazami i Dockerfile, interakcję z kontenerami oraz podstawy sieci. To solidny punkt wyjścia do dalszej nauki.
Jeżeli chcesz usystematyzować zdobytą wiedzę, przećwiczyć omawiane koncepcje w praktyce pod okiem doświadczonego trenera i zbudować solidne fundamenty, które pozwolą Ci pewnie korzystać z Dockera w codziennej pracy, zapraszamy do zapoznania się z ofertą szkolenia „Praktyczne zastosowania konteneryzacji z Docker” w EITT. Nasze szkolenie wprowadzające jest zaprojektowane tak, aby w przystępny i praktyczny sposób przeprowadzić Cię przez wszystkie kluczowe aspekty pracy z Dockerem, dając Ci umiejętności niezbędne do efektywnego startu.
Skontaktuj się z nami lub sprawdź szczegóły szkolenia na naszej stronie, aby dowiedzieć się, jak możemy pomóc Ci rozpocząć Twoją przygodę z konteneryzacją i Dockerem!
MASZ PYTANIA?
Skontaktuj się z nami, aby uzyskać więcej informacji o naszych szkoleniach, programach oraz współpracy. Chętnie odpowiemy na wszystkie Twoje zapytania!
O autorze:
Klaudia Janecka
Klaudia to doświadczona specjalistka z ponad 10-letnim stażem w obszarze zarządzania relacjami z klientami i sprzedaży, obecnie pełniąca funkcję Key Account Managera w EITT. Jej unikalne połączenie wykształcenia w dziedzinie dziennikarstwa i komunikacji społecznej z bogatym doświadczeniem w obszarze technologii pozwala jej skutecznie łączyć świat IT z biznesem, dostarczając klientom dopasowane rozwiązania rozwojowe.
W swojej pracy Klaudia kieruje się głębokim zrozumieniem potrzeb klientów i profesjonalnym podejściem do budowania relacji biznesowych. Jej doświadczenie w obszarach programowania, AI i cyberbezpieczeństwa, połączone z wiedzą o projektach dofinansowanych do szkoleń, pozwala jej skutecznie wspierać organizacje w maksymalizacji korzyści z inwestycji szkoleniowych przy jednoczesnym zachowaniu zgodności z ich celami strategicznymi.
Aktywnie angażuje się w rozwój osobisty i zawodowy, śledząc najnowsze trendy w branży technologicznej. Wierzy, że w dynamicznie zmieniającym się świecie IT kluczem do sukcesu jest nieustanne poszerzanie horyzontów oraz elastyczność w dostosowywaniu się do ewoluujących wymagań rynkowych, co znajduje odzwierciedlenie w strategiach rozwoju EITT.