Przyjdź na staż i stwórz aplikację. Ericsson rusza z programem letnich praktyk studenckich
Jak wejść do branży IT? To pytanie zadaje sobie wielu naszych czytelników, dlatego postanowiliśmy przybliżyć historię Łukasza Pasierbiewicza, Software Engineera w Ericsson. Łukasz swoją przygodę z IT zaczął od stażu, by po jego zakończeniu na stałe dołączyć do zespołu. Jeśli szukacie miejsca, w którym tak jak Łukasz rozwiniecie swoje umiejętności i będziecie pracować dla klientów z całego świata – zapoznajcie się z ofertą letnich praktyk od Ericsson.
Ericsson właśnie zaczął przyjmować aplikację na Python Developer Internship Poland 2023 (od tego stażu zaczynał nasz dzisiejszy rozmówca) oraz Tester Internship Poland 2023. Jeśli chcecie dowiedzieć się, jak przebiegają praktyki w Ericsson, zachęcam do przeczytania poniższej rozmowy z Łukaszem.
Spis treści
Jak zaczęła się Twoja przygoda z Ericsson?
Cztery lata temu podczas przeglądania ofert pracy, rzuciła mi się w oczy jesienna edycja praktyk w Ericssonie. Złożyłem CV i po kilku dniach dostałem zaproszenie na rozmowę. Spodobał mi się format rekrutacji. Na rozmowę zaproszono grupę osób, która otrzymała kilka indywidualnych zadań oraz dwa zagadnienia, które wymagały pracy w grupie. Finalnie dostałem się na praktyki i dwa tygodnie później byłem już członkiem zespołu.
Czego dowiedziałeś się na stażu? Czym zajmowałeś się w ciągu pierwszych miesięcy?
Podczas stażu dowiedziałem się, w jaki sposób funkcjonuje tak duża korporacja, jak Ericsson. Poprzez szereg szkoleń wprowadzających wdrożyłem się w życie firmy i poznałem obowiązki mojego zespołu. Można powiedzieć, że przyszedłem na „gotowe”, ponieważ przyjęcie praktykantów było szczegółowo zaplanowane i nie musieliśmy martwić się o dostępy czy aklimatyzację w nowym otoczeniu.
Jaka wiedza jest potrzebna, by spokojnie przejść przez okres praktyki?
Pomogła mi wiedza wyniesiona ze studiów, gdzie nauczyłem się podstaw Pythona oraz Basha. Poznałem wówczas, czym są bazy danych i obyłem się z narzędziami, jak GIT czy PyCharm. Z takim „fundamentem” łatwiej było zaadoptować się do projektu, a ewentualne braki załatała seria szkoleń na początku praktyk. Ponadto ważna jest znajomość języka angielskiego, gdyż obcowałem z dużą ilością dokumentacji technicznej, która jest głównie w tym języku.
Po jakim czasie otrzymałeś pierwsze zadania do realizacji?
Po 2-3 tygodniach wraz z innym stażystą dostaliśmy pierwsze zadania. Nie były to sztywne zadania typu „zrób A, potem zrób B”, ale dość ogólne taski, dzięki czemu mieliśmy spore pole do popisu i decyzyjność, w którą stronę chcemy iść. Mogliśmy też liczyć na wsparcie współpracowników, a że mieliśmy wspólne standupy (codzienne spotkania zespołu programistów w celu omówienia bieżącego projektu), to każdy był na bieżąco ze swoimi zadaniami. Tym bardziej, że nasza aplikacja webowa, którą tworzyliśmy była kierowana m.in. do innych członków mojego zespołu, więc każdy komentarz był cenny i użyteczny.
Ze stażu wyniosłem umiejętności pracy w metodyce SCRUM, bliskiej pracy z zagranicznymi zespołami (Chorwacja, Korea), które również korzystają z aplikacji, i przede wszystkich wiedzę techniczną, bo właśnie na stażu nauczyłem się budować aplikację webową w Django od podstaw.
Co było dalej? Do jakiego zespołu trafiłeś po stażu i co Cię przekonało do tego, by dalej pracować w Ericsson?
Po okresie stażu dostałem propozycję pracy w tym samym zespole, w którym odbywałem praktyki. Głównie to przekonało mnie, aby kontynuować pracę w firmie. Ucieszyła mnie możliwość dalszego rozwoju aplikacji, od której zaczęła się moja przygoda oraz kontynuacja współpracy z osobami, z którymi nawiązałem bardzo dobre relacje. Przede mną otworzyła się perspektywa nowych zadań stricte związanych z telekomunikacją, a chciałem rozwijać się właśnie w tej dziedzinie.
Czym jest Jaguar, aplikacja, nad którą pracujesz od kiedy jesteś w Ericsson?
Jaguar, czyli Jigger Application for Governing Upgrade / AI Runs to aplikacja webowa tworzona we frameworku Django, języku Python oraz z pomocą dockerów i bazy danych PostgreSQL. W Jaguarze jesteśmy w stanie sprawdzić informacje o sprzęcie (aplikacja ma szereg funkcjonalności, które wykonują się cyklicznie i aktualizują dane), skontrolować bieżący stan urządzeń, czy zarezerwować daną maszynę do pracy. Ponadto, użytkownicy w prosty sposób mogą wyszukać interesujące ich konfiguracje, włączyć/wyłączyć maszynę, czy dodać komentarz odnośnie działania konkretnej jednostki.
Poza tym, w bazie danych przechowujemy m.in. historię rezerwacji, co pozwala nam wygenerować statystyki użytkowania naszego sprzętu. W przeszłości z poziomu Jaguara wykonywaliśmy również konkretne testy na danej maszynie. Obecnie z aplikacji korzysta około 50 osób z 4 różnych zespołów, które do dyspozycji mają mniej więcej 150 maszyn. Pracujemy nad nowymi funkcjonalnościami i rozwijamy Jaguara, aby jeszcze bardziej ułatwić pracę użytkownikom.
W jaki sposób Jaguar ułatwia pracę Twoją i zespołu, do którego należysz?
Głównym celem stworzenia aplikacji była chęć zautomatyzowania i ułatwienia naszej codziennej pracy. Wcześniej, aby uzyskać potrzebne nam informacje sprzętowe, musieliśmy ich szukać w trzech różnych miejscach. System rezerwacji urządzeń był mało przyjazny dla użytkowników i łatwo było o pomyłkę, czy przeoczenie, że ktoś akurat korzysta ze sprzętu.
Zamieniliśmy szereg rutynowych czynności na kilka kliknięć w Jaguarze, dzięki czemu możemy szybciej i łatwiej wykonywać nasze obowiązki.
Czego uczy praca nad tego typu projektem?
Praca nad tego typu projektem to przede wszystkim okazja do podniesienia swoich umiejętności programistycznych w języku Python oraz Django, czy SQL. Jako, że projekt powstaje w SCRUM’ie i korzystamy z repozytorium Gerrit oraz systemu kontroli wersji GIT, nauczyliśmy się organizacji współpracy w grupie. Poza tym tego typu projekt rozwija również inne miękkie umiejętności, jak analityczne myślenie, bądź kreatywność, ponieważ tworzenie naszej aplikacji pozwala na dowolność i elastyczność. Możemy także rozwinąć cechy interpersonalne, poprzez feedbacki na temat działania produktu, czy prezentowanie rozwiązań dużej grupie osób.
Dlaczego Jaguar powstał w Django? Co stało za tą decyzją?
Gdy pojawił się pomysł stworzenia aplikacji, zespół długo zastanawiał się nad różnymi opcjami. Głównym celem było to, aby aplikacja była łatwo dostępna i prosta w obsłudze, dlatego najlepszym rozwiązaniem była aplikacja webowa, ponieważ w tego typu oprogramowaniu użytkownik potrzebuje tylko przeglądarki z dostępem do internetu. Ponadto Django posiada rozbudowaną dokumentację i łatwo było zacząć tworzyć oprogramowanie właśnie w tym frameworku. Nasz zespół mógł również skorzystać z doświadczenia innych osób w firmie, które tworzyły podobną aplikację w Django.
Jakie macie plany wobec Jaguara w Ericsson? Czym będzie ta aplikacja za kilka lat?
Z roku na rok staramy się wdrożyć nowe rozwiązania do naszej aplikacji i zaktualizować obecne. Dostajemy sporo informacji zwrotnych od użytkowników, co pomaga nam ocenić, jakie są potrzeby i w którą stronę iść. Głównym celem jest ciągła automatyzacja naszego środowiska testerskiego. Chcemy odciążyć nasze zespoły z wielu skomplikowanych zadań, które wciąż wymagają automatyzacji. Wraz z rozwojem branży telekomunikacyjnej, pojawiają się również nowe obowiązki i perspektywy. To daje nam duże pole do popisu, jeśli chodzi o rozwój aplikacji, za kilka lat na pewno poszerzymy ją o kolejne funkcjonalności.
Jakie masz podejście do automatyzacji? Jak ocenić, co warto zautomatyzować, a co nie?
Jeśli coś da się zautomatyzować, to dlaczego tego nie zrobić? Automatyzacja niesie za sobą zwiększenie wydajności i precyzyjność, a przede wszystkim odciąża nas z monotonnych i skomplikowanych zadań manualnych.
Z drugiej strony, jeżeli mamy poświęcić 100h na automatyzację procesu, który niewiele wniesie do naszego życia, to lepiej poświęcić te godziny na inne pomysły. Oczywiście trzeba wziąć pod uwagę wiele czynników, które pomogą nam ocenić czy warto daną czynność zautomatyzować. Dobrze wtedy zrobić burzę mózgów i zastanowić się:
- jakie korzyści płyną z usprawnienia tego rozwiązania?
- co nam da jego automatyzacja?
- jak ważna jest dla nas ta procedura?
- czy warto poświęcić czas na implementację?
Uzyskując te wszystkie odpowiedzi jesteśmy w stanie stwierdzić, czy warto wdrażać pomysł w życie.
Wróćmy do tematu z początku naszej rozmowy. Twoja przygoda z Ericssonem zaczęła się od praktyk. Komu możesz je polecić?
Praktyki w Ericssonie poleciłbym osobom, które chcą zacząć przygodę w branży IT. To idealna okazja dla studentów, aby wykorzystać wiedzę ze studiów, by zdobyć cenne doświadczenia w pracy w dużej firmie. Podczas stażu można zaczerpnąć wsparcia doświadczonych specjalistów i obserwować ich codzienną pracę. To pokazuje, jak wiele korzyści można wynieść z okresu praktyk.
Erisson ruszył właśnie z rekrutacją na dwa programy praktyk letnich. W pierwszym wymagana jest podstawowa znajomość Pythona. W drugim znajomość jednego lub więcej języków programowania/technologii: C/C++, JAVA, Python/Golang, Bash/Shell.
Łukasz Pasierbiewicz. Software Developer w Ericsson. Absolwent Informatyki Stosowanej na AGH. Na co dzień zajmuje się tworzeniem aplikacji webowej w Django oraz testowaniem oprogramowania sieci 4G i 5G. Prywatnie wielki fan piłki nożnej i tenisa ziemnego.