Dziś mamy coś specjalnego dla Was, a mianowicie wywiad z młodymi programistami, którzy rok temu uczestniczyli w letnim programie stażowym w SoftSystem.
Chłopaki opowiedzieli jak trafili do naszej firmy, jak wyglądał ich staż, jakie zadania mieli do wykonania i jakie wyzwania musieli pokonać. Dowiemy się również, jakie umiejętności rozwinęli podczas stażu u nas i jak wykorzystują je w swojej obecnej karierze.
Nie zabraknie również ich spostrzeżeń na temat programu stażowego i wsparcia, które otrzymali od mentora i zespołu programistycznego. Wspólnie z nimi prześledzimy ich doświadczenia podczas stażu oraz jak wyobrażają sobie swoją dalszą karierę w naszej firmie.
Wywiad może być cennym źródłem inspiracji dla wszystkich, którzy dążą do rozwoju swojej kariery w branży IT.
Opowiedzcie jak to się stało, że dołączyliście do SoftSystem?
Patryk: O firmie opowiedział mi mój kolega ze studiów, kiedy wracaliśmy z zajęć z uczelni. Od słowa do słowa opowiedział mi jak zaczął staż w firmie oraz że w następnym miesiącu rusza kolejny program stażowy. Tego samego dnia sprawdziłem stronę firmy i jej aktualne oferty pracy/stażów. Złożyłem swoje CV i kilka dni później otrzymałem telefon z zaproszeniem na rozmowę kwalifikacyjną. Przed rozmową poznałem Arka, z którym razem dostaliśmy się do zespołu na staż.
Arek: Do SoftSystem dołączyłem zgłaszając się na program stażowy, o którym dowiedziałem się w kole naukowym. Było to pod koniec 4 semestru studiów, kiedy szukałem możliwości odbycia wakacyjnych praktyk w ramach moich studiów. Co ciekawe, wtedy jeszcze nie do końca byłem pewny w jakim kierunku chce się dalej rozwijać w IT. Ta niepewność poskutkowała tym, że za długo czekałem ze zgłoszeniem się na staż. Zaaplikowałem dzień po terminie, ale mimo to dostałem szansę odbycia rozmowy kwalifikacyjnej i finalnie zakwalifikować się na program stażowy.
Jak długo trwał Wasz staż w naszej firmie i w jakim dziale pracowaliście?
Patryk, Arek: Staż trwał 3 miesiące, pracowaliśmy w dziale Research Deparment, w którym nadal pracujemy.
Jak oceniacie program stażowy i wsparcie, które otrzymaliście od swojego mentora i zespołu programistycznego?
Patryk: Program stażowy według mnie został przeprowadzony bardzo dobrze. Od samego początku mieliśmy stały kontakt z naszym mentorem, który po kolei wdrażał nas w technologie, w jakich pracuje zespół.
Następnie dostaliśmy do zrobienia prosty projekt, który oddzielnie każdy z nas miał wykonać. Po jego zrobieniu naszym następnym zadaniem było stworzenie pełnoprawnej aplikacji internetowej w dwuosobowym zespole. Cały czas nad naszymi poczynaniami czuwał nasz mentor, z którym, na każdym etapie tworzenia tej aplikacji, mogliśmy się skonsultować. Jego zadaniem było również robienie nam code review, którego celem było poprawienie jakości pisanego przez nas kodu oraz wychwycenie błędów w aplikacji.
Arek: Program stażowy był bardzo dobrze zorganizowany, wszystko odbywało się sprawnie. Od pierwszego dnia mentor poświęcał nam dużo uwagi, zapewniając nam wsparcie. Zadania były zawsze jasno określone, dzięki czemu mieliśmy zawsze co robić. W sytuacjach, kiedy potrzebowaliśmy pomocy, szybko ją otrzymywaliśmy.
Przed rozpoczęciem stażu, miałem bardziej rozbudowaną teoretyczną wiedzę niż praktyczne umiejętności w programowaniu. Dzięki aktywnemu uczeniu się poprzez praktykę oraz wsparciu mentora, udało mi się w krótkim czasie, bo zaledwie 3 miesiące, zdobyć wystarczającą wiedzę, która pozwoliła mi na rozpoczęcie pracy jako programista i dołączyć do dużego projektu.
Jakie były Wasze główne obowiązki i zadania podczas stażu?
Patryk: Naszym głównym obowiązkiem na stażu była nauka, nauka i jeszcze raz nauka. Początkowo były to zagadnienia teoretyczne, po to, aby później móc przelać to na ekran monitora w postaci kodu aplikacji. Wiadomo, że najlepiej uczyć się przez praktykę, dlatego też nasz mentor stażu obrał taki sposób jego przeprowadzenia i bez zastanowienia stwierdzam, że była to dobra decyzja. Podczas pisania własnego kodu mogliśmy naprawdę wiele się nauczyć. Każde napotkane wyzwanie, błąd czy problem wymagał od nas zaangażowania i poszukiwania rozwiązania. Analizowanie i rozwiązywanie tych trudności pozwoliło nam wyciągać odpowiednie wnioski, co jeszcze bardziej wzbogaciło naszą wiedzę i umiejętności w programowaniu.
Arek: Naszym głównym obowiązkiem była nauka. Na początku jasno określone zostało z jakiego zakresu będziemy opanowywać umiejętności, jakich technologii będziemy się uczyć. Początkowo trzeba było opanować teorie aby przejść do nauki poprzez praktykę. Za zadania dostawaliśmy projekty, które później rozwijaliśmy według wskazań mentora, aby w pełni poznać możliwości używanych technologii.
Jakie umiejętności programistyczne najbardziej rozwinęliście podczas stażu i czy wykorzystujecie je w swojej obecnej pracy?
Patryk: Podczas naszego stażu pracowaliśmy z frameworkami używanymi przez nasz zespół, takimi jak Angular i Spring, a także korzystaliśmy z bazy danych PostgreSQL oraz narzędzia Hibernate. W trakcie studiów zdobyłem podstawową wiedzę na temat tych technologii, jednak praktyczne zastosowanie ich w tworzeniu większych aplikacji, niż tych pisanych na zaliczenie na studiach, to całkowicie inne doświadczenie.
Nasza nauka na stażu polegała na tworzeniu aplikacji od podstaw, zgodnie z wytycznymi i specyfikacjami projektu. To wymagało od nas nie tylko znajomości teorii, ale również umiejętności praktycznego zastosowania tych frameworków i narzędzi w praktyce. Nasz mentor przeprowadzał regularne przeglądy kodu, co pozwoliło nam spojrzeć na nasze rozwiązania krytycznie. Dzięki temu mogliśmy identyfikować i skutecznie rozwiązywać własne błędy. To doświadczenie nauczyło nas, jak unikać podobnych problemów w przyszłości.
Dodatkowo, praca w zespole pozwoliła nam nauczyć się korzystać z platformy do zarządzania kodem źródłowym – GitLab. Choć miałem już pewne doświadczenie z samym Gitem dzięki wcześniejszemu korzystaniu z GitHuba, to GitLab był dla mnie całkowicie nowym narzędziem. Dlatego było bardzo wartościowe, że mogłem się z nim zapoznać i przyswoić jego funkcjonalności podczas stażu przed dołączeniem do większego zespołu, znacznie większego niż nasz dwuosobowy stażowy zespół 😊
Arek: Podczas stażu głównie rozwijaliśmy umiejętności programistyczne związane z tworzeniem aplikacji webowych w frameworkach Spring Boot, Angular, obsłudze bazy danych Postgres. Te umiejętności są integralną częścią mojej obecnej pracy, gdzie korzystam z tych technologii na co dzień. Praca programisty to nie tylko klepanie kodu, także istotne również było rozwinięcie umiejętności miękkich takich jak praca zespołowa, komunikacja, analityczne myślenie czy zarządzanie czasem i priorytetami.
Czy spotkaliście się z jakimiś wyzwaniami lub trudnościami podczas stażu? Jak sobie z nimi poradziliście?
Patryk: Największym problemem podczas stażu było dobre zrozumienie wytycznych naszego zespołowego projektu, a następnie zakodowanie tego w aplikacji. Jednak zawsze mogliśmy skontaktować się z naszym mentorem, który wyjaśniał nam w jaki sposób można zrobić daną funkcjonalność. Dzięki temu mogliśmy więcej czasu poświęcić na pisanie kodu, zamiast dywagować na czym polegać ma dana część programu, która została ujęta w wytycznych. Dodatkową trudnością było również rozpoczęcie tworzenia naszej grupowej aplikacji. Niezbędne było dokładne zaplanowanie wszystkich działań, aby uniknąć konieczności zmiany kierunku czy rozpoczynania od nowa na późniejszych etapach. Należało rozplanować strukturę bazy danych, obmyśleć jak aplikacja będzie wyglądać finalnie oraz przemyśleć strukturę plików.
Arek: Największą trudnością stanowił nasz brak doświadczenia, który czasami powodował, że napotykaliśmy problemy podczas kodowania, których nie byliśmy w stanie rozwiązać lub mieliśmy trudności z wyborem najbardziej efektywnego rozwiązania. W takich sytuacjach zwracaliśmy się o pomoc do naszego mentora, który udzielał nam wskazówek, naprowadzał na rozwiązanie, bądź też przeprowadzaliśmy dogłębne dyskusje, analizując zalety i wady różnych proponowanych rozwiązań. Takich problemów, na które początkowo brakowało nam rozwiązań, było sporo, ale teraz uważam, że to doświadczenie było bardzo korzystne. Dzięki tym wyzwaniom zdobyliśmy cenną wiedzę, która teraz pozwala nam rzadziej spotykać się z podobnymi trudnościami w naszej codziennej pracy.
Czy byliście zaangażowani w jakieś projekty zespołowe podczas stażu? Jakie były Wasze role i jakie wnioski wyciągnęliście z tych doświadczeń?
Patryk: Jak wspomniałem wcześniej, na stażu do stworzenia mieliśmy dwa projekty. Pierwszy to prosta aplikacja typu CRUD, którą każdy z nas tworzył oddzielnie. Aplikacja ta miała na celu naukę bądź przypomnienie technologii, a następnie rozwijaliśmy swoją własną aplikację zespołową służącą do przeprowadzania audytów w firmie. Role w projekcie przydzielaliśmy sobie nawzajem. Naszym zadaniem było przygotowanie danej funkcjonalności, więc dogadywałem się z Arkiem, że np. ja zajmuję się teraz ogarnianiem tabel i relacji w bazie danych oraz backendem, podczas gdy Arek skupiał się na obszarze front-endu, po czym przy robieniu następnej funkcjonalności zamienialiśmy się obowiązkami.
Podstawowe wnioski wynikające z tego doświadczenia to fakt, że praca w zespole bywa czasem trudna – każdy ma swoje zdanie, więc niektóre sprawy musieliśmy dokładnie omówić, przedstawić argumenty za i przeciw. Niemniej jednak, praca w zespole znacznie usprawnia proces tworzenia aplikacji, jak mówi przysłowie: „co dwie głowy to nie jedna”, a w przypadku większego zespołu, ta zasada jeszcze bardziej się potęguje 😊
Arek: Na początku, nasz mentor zaproponował nam, abyśmy osobno tworzyli projekty o podobnej tematyce i funkcjonalnościach, abyśmy mogli wdrożyć się w używane technologie. Było to ciekawe, ponieważ umożliwiało nam wzajemne dyskusje na temat naszych, różnych od siebie rozwiązań oraz naukę od siebie nawzajem. Następnie otrzymaliśmy od naszego mentora kolejne, bardziej rozbudowane zadanie, opracowanie aplikacji do przeprowadzania audytów w firmach. Otrzymaliśmy podstawowe wytyczne projektowe oraz listę funkcji, które musimy zaimplementować. Aby odpowiednio zrealizować ten projekt, konieczne było przeprowadzenie starannego rozplanowania prac, zaprojektowania bazy danych. Końcowo udało się zrobić w pełni funkcjonalną aplikację spełniającą założenia i zdobyć dużo doświadczenia z całego procesu tworzenia tej aplikacji.
Na czym polega teraz Wasza praca i jakie są Wasze zadania w projekcie/projektach?
Patryk: Obecnie pracujemy jako programiści w dziale Research Department, w którym odbywaliśmy staż. Zarówno ja, jak i Arek, angażujemy się w rozwój aplikacji tworzonych przez ten zespół. Na początku naszej pracy otrzymywaliśmy proste zadania, takie jak usuwanie błędów w aplikacjach czy poprawianie tłumaczeń na stronach. Jednak z upływem czasu wraz z wdrażaniem się w działanie aplikacji otrzymywaliśmy coraz „większe” i ważniejsze, trudniejsze oraz bardziej wymagające zadania. To pozwalało nam wykazać się w zespole oraz przyczynić się w coraz większym stopniu do rozwijania aplikacji tworzonych przez nasz zespół.
Arek: Jestem zaangażowany w pracę nad utrzymaniem i rozwijaniem produktu LIMS. Moje obowiązki obejmują różnorodne zadania, takie jak implementacja nowych funkcji oraz rozwijanie istniejących, a także naprawianie błędów. Po ukończeniu stażu, na początku mojej pracy miałem możliwość zdobyć doświadczenie poprzez wykonywanie zadań o niższym stopniu trudności. Dzięki temu mogłem się zaznajomić z podstawowymi procesami, procedurami czy z samą aplikacją. Obecnie, gdy nabrałem większego doświadczenia, zajmuję się bardziej wymagającymi i skomplikowanymi zadaniami. Ciągle się rozwijam, zdobywam nowe umiejętności. Ogólnie mówiąc staram się wciąż iść na przód.
W lipcu rozpoczął się kolejny program stażowy w naszej firmie – co chcielibyście przekazać swoim kolegom stażystom?
Patryk: Dokładnie rok temu byłem w tej samej sytuacji co oni. Dlatego uważam, że najważniejsze, co chciałbym im przekazać, to wartość nauki podczas stażu. Zachęcam ich do aktywnego zgłębiania technologii, które są używane przez zespół, w którym obecnie odbywają praktyki. Jeśli firma będzie zainteresowana dalszą współpracą, istnieje duża szansa, że właśnie w tym zespole zostaną zatrudnieni. Poznanie narzędzi, które są stosowane przez ten zespół, pomoże im łatwiej włączyć się w proces rozwoju aplikacji i efektywniejsze uczestniczenie w projekcie.
Ważne jest również, aby brać czynny udział w projektach, zadawać pytania i próbować samodzielnie znaleźć odpowiedzi. To proaktywne podejście pozwoli im znacznie szybciej rozwijać umiejętności, a zarazem pozwoli rozwinąć pewność siebie.
Nie można również zapominać o współpracy zespołowej. Jeśli będą uczestniczyć w wspólnych projektach, zarówno mniejszych, jak i większych, powinni angażować się w pełni, podejmować trudniejsze zadania i wspierać swoich kolegów.
Na koniec, zachęcam ich do cieszenia się tym, co robią. Praca programisty jest niezwykle pasjonująca, chociaż może wydawać się inaczej dla osób spoza branży. Każdy, kto uczestniczy w procesie tworzenia aplikacji i widzi, jak stopniowo układają się wszystkie elementy, aż w końcu powstaje gotowa aplikacja, odczuwa dumę i satysfakcję z własnego wkładu.
Arek: Chciałbym przekazać stażystom, żeby starali się wykorzystać ten czas jak najlepiej, wyciągając ze stażu jak najwięcej wiedzy i doświadczenia, bo na pewno zaowocuje w ich dalszej karierze. Warto angażować się w pełni i nie bać się popełniać błędów, ponieważ to jest czas, kiedy możemy sobie na nie pozwolić i wyciągać z nich wnioski. Pamiętać o zasadzie, że nie ma głupich pytań, pytać nawet o najprostsze rzeczy, nie wstydzić się swojej niewiedzy, bo każdy tak samo zaczynał od zera. A poza tym chciałbym zachęcić do pełnego czerpania radości z wykonywanej pracy. Istotne jest, aby nie tylko wykonywać swoje obowiązki, ale także cieszyć się każdym krokiem i każdym osiągnięciem.
Jakie są Wasze zainteresowania poza pracą?
Patryk: Po pracy lubię spędzać czas na świeżym powietrzu, najczęściej wychodzę na rower, czasem na spacer lub pobiegać. Dodatkowo raz w tygodniu spotykamy się z kolegami z firmy na boisku, żeby pograć w piłkę nożną. W wolnych chwilach lubię również zrelaksować się z wędką nad wodą lub pochodzić po górach. Dodatkowo interesuję się również motoryzacją, głównie pasjonują mnie starsze modele samochodów.
Arek: Uwielbiam motoryzacje, pracować nad swoim samochodem, brać udział w wydarzeniach związanych z motoryzacją, integrować się z innymi zmotoryzowanymi, simracing. Również lubię pograć w piłkę nożną, raz w tygodniu zbieramy się z kolegami z pracy, aby wspólnie pograć.
Jak wyobrażacie sobie swoją dalszą karierę w naszej firmie?
Patryk: Wyobrażam swoją karierę w naszej firmie jako możliwość rozwoju i osiągania nowych umiejętności. Po upływie jednego roku pracy tutaj, z całą pewnością mogę potwierdzić, że pragnę kontynuować moją ścieżkę zawodową w tym miejscu. Cały czas dążę do dalszego doskonalenia się w dziedzinie programowania i wiem, że w tym miejscu moja praca jest zauważana i doceniana. Z całą pewnością, jeżeli uda mi się zdobyć wystarczające umiejętności i doświadczenie to również zostanie to zauważone i będę mógł liczyć na awans na wyższe stanowisko.
Arek: Wyobrażam sobie swoją dalszą karierę w tej firmie jako pełną wyzwań i satysfakcji. Chciałbym rozwijać się w różnych obszarach i stopniowo zdobywać nowe umiejętności. Liczę, że będzie okazja brać udział w wielu ciekawych nowych projektach. Jednocześnie, widzę siebie kiedyś jako mentora dla młodszych kolegów, dzielącego się swoją wiedzą i doświadczeniem, tak samo jak obecnie robią to moi bardziej doświadczeni koledzy.
Dlaczego polecilibyście pracę w SoftSystem?
Patryk: Na pewno przez miłą atmosferę w młodym i energicznym zespole, elastyczne godziny pracy, możliwość rozwijania swoich umiejętności, szkolenia, wyjazdy na eventy programistyczne, możliwość pracy zarówno zdalnie jak i z biura.
Arek: Zdecydowanie poleciłbym pracę w SoftSystem ze względu na wyjątkową atmosferę, która nie tylko sprzyja efektywnej pracy, ale także tworzy przyjazne i inspirujące środowisko. Firma zapewnia bardzo dobre warunki pracy i także wiele możliwości rozwoju. Starsi, bardziej doświadczeni pracownicy są gotowi dzielić się swoją wiedzą i doświadczeniem, aby pomóc mniej doświadczonym osobom. Projekty są różnorodne i ciekawe. Dla młodych i niedoświadczonych programistów, którzy dopiero wkraczają w świat IT, program stażowy stanowi idealną okazję do zdobycia cennego doświadczenia, rozwijania umiejętności oraz nauki od doświadczonych kolegów. To wyjątkowa szansa na praktyczne zastosowanie wiedzy zdobytej podczas nauki oraz poznanie, jak działa branża IT w rzeczywistości.