Co sądzicie o Ruby jako języku programowania? Czy dobrze się Wam w nim pracowało?
Karol: Ja już na etapie robienia inżynierki byłem zdecydowany, że chcę iść w Ruby. Wtedy kolega ściągnął mnie do firmy, w której pracował i jakoś przerwałem pracę w innym języku. Teraz chcę wrócić do Ruby. Bardzo mi się podoba to, że ma dużo rozwiązań popakowanych w gemach. Jest dobra dokumentacja, można znaleźć opisy funkcji a jeżeli jest jakiś problem, to rozwiązania są na StackOverflow (zwłaszcza do nowych wersji).
Adam: Wcześniej myślałem “Ale Ruby jest dziwne, jak w tym można pisać. Nie ma tutaj żadnych średników, klamer, żadnych dolarów, co to jest.” Ale gdy zacząłem pisać w Railsach to stwierdziłem, że jest super. Nie trzeba niczego dodatkowego tworzyć, kod fajnie wygląda. Po pewnym czasie postawiłem sobie nawet wyzwanie, by pisać jak najmniej linijek działającego kodu.
Michał Wa.: Miałem wcześniej doświadczenie między innymi z Pythonem. Jak zacząłem praktyki to zobaczyłem, że to co Python robi dobrze, Ruby robi jeszcze lepiej. Preferuje się w nim pisanie czytelnego kodu, który można wręcz przeczytać na głos. Nie to co na przykład PHP.
Bartek: Też podzielam opinię, że jest to język w którym się pisze czytelny kod. Jeżeli chodzi o RoR, to jest bardzo wydajne narzędzie do programowania. Wysoki poziom abstrakcji może ułatwiać dla początkujących kodowanie. Ale z drugiej strony mogą pojawiać się niejasności, bo człowiek uczy się Ruby on Rails, a w innych technologiach tak naprawdę jest to trudniejsze.
Najważniejsza nauka z praktyk?
Grzegorz: Mi się podobało to, że pracowaliśmy w SCRUMie. Bardzo sobie cenię to, że mogłem go dobrze poznać. Techniczne rzeczy też były ważne, jak najbardziej. Ale w przeciwieństwie do umiejętności twardych, których można się nauczyć samemu, do tego zdecydowanie potrzeba ludzi.
Piotr: Przed praktykami w Ragnarson miałem już doświadczenie z Ruby on Rails. Robiłem projekt na uczelni z kilkoma znajomymi. Też korzystaliśmy z Gita i GitHuba, pracowaliśmy zdalnie i zadania w grupie wykonywaliśmy asynchronicznie. Tyle że na praktykach praca była o wiele lepiej zorganizowana. Ktoś kontrolował postępy, robił code review, były testy - nikt nie wierzył tylko “na słowo”, że wszystko będzie działać.
Bartek: Cieszę się, że miałem okazję pracować w grupie. To było moje pierwsze doświadczenie jeżeli chodzi o robienie aplikacji w kilka osób. Uważam, że nabyłem te umiejętności miękkie, których nie miałem szansy się nauczyć wcześniej i dodatkowo poznałem metodykę SCRUM.
Adam: Potwierdzam - praca w zespole była najważniejsza. Każdy na pewno miał już okazję pracować nad czymkolwiek w większej czy mniejszej grupie. Mimo wszystko poziom pracy, z którym ja się spotkałem dotychczas, a to co było na praktykach - niebo a ziemia. Wszystko było zorganizowane, nie było chaosu tylko ktoś nas korygował i pilnował, żeby wszystko szło w dobrym kierunku.
Czy braliście ten symulowany projekt “na poważnie”, czy raczej była to dla Was zabawa?
Damian: Ja chciałbym zaznaczyć, że określenie naszego projektu jako “symulowany” troszkę boli w serduszku. Dla mnie był to bardzo prawdziwy projekt, w który włożyłem serce i traktowałem na poważnie - chciałem zrobić go jak najlepiej i sumiennie wykonać swoje taski.
Michał Wa.: Zdecydowanie projekt traktowałem poważnie. Chciałem udowodnić sobie, że potrafię i oczywiście zaprezentować się jak najlepiej. Jeśli chodzi o komunikację i pracę wspólną, to atmosfera była zdecydowanie rozluźniona i bardzo przyjemnie się w ten sposób współpracowało.
Michał Wi.: Podobało mi się to, że team i mentorzy mieli sporo pomysłów. Ludzie robili wszystko, żeby wpasować nowe zadania i żeby było co robić.
A jak wyglądał mentoring?
Piotr: Od pierwszego spotkania było mówione, że sami decydujemy o tym co robimy, a mentorzy są po to, aby pomagać. Pierwszy tydzień był trochę niejasny, ale gdy oswoiliśmy się z tym modelem pracy, to zaczęliśmy dużo lepiej korzystać z pomocy i uwag mentorów.
Adam: Mentorzy byli codziennie obecni na spotkaniach zespołu, ale parę razy chcieli żebyśmy to my je poprowadzili. Natomiast zazwyczaj była to luźna rozmowa i każdy mówił o tym co udało mu się zrobić i później padało pytanie czy każdy ma co robić. Jak nie było problemów, to po prostu kończyliśmy spotkanie. Przy okazji doceniam, że nasi mentorzy byli zróżnicowani - byli zarówno seniorzy, jak i Nikodem, który jest juniorem. Zwłaszcza dlatego, że czasem ciężko było mi opisać problem, z którym się zmagałem. Często wydawał mi się zbyt prosty, więc na początku głupio mi było pisać do seniora i wolałem zagadać do juniora. Z czasem to się zmieniło i pisałem do wszystkich. Najfajniejsze, że potrafiłem spędzić 2 godziny nad jakimś zagadnieniem, a gdy napisałem do jednego z mentorów to 5 minut później dostałem dwie linijki kodu naprawiające wszystko.
Dawid: Zawsze gdy był problem to mentorzy pomagali, ale nie było to prowadzenie za rączkę.
Michał Wi.: Dla mnie ten mentoring i code review to była dosyć znana sprawa. Kiedy zacząłem się uczyć, korzystałem z pomocy dwóch znajomych programistów. Na praktykach bardzo mi się podobało, że nie musiałem odrywać mentorów od pracy i wiedziałem, że mieli na nas przeznaczony czas. Code review nam się po prostu “należał” - tak jak było umówione :) Jeżeli chodzi o merytoryczną stronę, to nie mogę mieć zastrzeżeń, bo jeśli ktoś czegoś nie wiedział, to zawsze uzyskiwał odpowiedź.
Czy praca zdalna w przypadku praktyk była na plus czy na minus?
Damian: Tak naprawdę najwięcej nauczyłem dzięki recenzjom przy PR’kach. Co do zdalnej formy prowadzenia praktyk, uważam, że dużo przyjemniej by mi się pracowało, gdybym był na miejscu i miał mentora gdzieś obok siebie. Wiadomo, ten kontakt face-to-face jest łatwiejszy kiedy pracuje nad projektem, a mentor ma swoje rzeczy do roboty i nie chce mu zawracać głowy.
Michał Wa.: Ja miałem odwrotne uczucia. Rozumiem, że komunikacja zdalna była rzadsza, natomiast wydaje mi się, że w naszym teamie nie stanowiło to problemu jeżeli chodzi o współpracę. Chat zawsze był otwarty, mentorzy przeważnie byli dostępni, więc moim zdaniem nie wpłynęło to negatywnie na komunikację. A ja osobiście lubię pracować sam zdalnie i w skupieniu.
Adam: Mi zdalna współpraca jak najbardziej pasowała. Zwłaszcza biorąc pod uwagę, że w trakcie praktyk miałem też inną pracę, także mogłem sobie lepiej wydzielić czas. Siadałem sobie i programowałem - czy to dwie godziny rano i potem dwie godziny wieczorem, czy w trakcie jakiegoś okienka w ciągu dnia. Brak natychmiastowej komunikacji mi nawet pasował, bo ja sam nie miałem możliwości odpowiedzieć komuś gdy musiałem coś zrobić w pracy. Dla mnie to było idealne. I nie zdażyło mi się tak, że nikt mi nie odpowiedział na palący problem. Zawsze przynajmniej jedna osoba była w stanie mi pomóc.
Karol: Ja już ponad rok pracuję zdalnie. Wcześniej w ogóle nie miałem takiej możliwości, ale pandemia w tym jednym “pomogła”, więc mi taka praca odpowiada. Oczywiście co jakiś czas przeszedłbym się do biura spotkać i porozmawiać z ludźmi, ale tak ogólnie jest super, bo nie muszę wcześnie wstawać. Wystarczy mi chwila i jestem gotowy do pracy.
Pod koniec praktyk musieliście zintegrować ze sobą obie stworzone aplikacje. Opowiedzcie mi proszę trochę o współpracy międzyzespołowej.
Bartek: Pracowałem nad API z drugim teamem i mogę powiedzieć, że bardzo mi się to podobało. Zwłaszcza ze względu na zdalną i asynchroniczną współpracę. Lubię pracować wieczorem, kiedy mam czas, czasem nawet w nocy. Mogłem napisać na Slacku co zrobiłem i jakie są problemy. Komunikacja była na bieżąco, super się dogadaliśmy i wszystko działało.
Karol: Współpraca była asynchroniczna. Gdy zaczęliśmy robić API, to ustaliliśmy mniej więcej co mamy zrobić. Jak ktoś skończył swoją część, to pisaliśmy, że skończyliśmy i pytaliśmy czy rezultat pasuje.
Michał Wa.: Miałem okazję współpracować nad API z Bartkiem i Karolem. Podzielam ich odczucia - współpraca bardzo sprawnie poszła i nie było żadnych problemów.
Przejdźmy więc do ostatniego wielkiego pytania - jakie plany na przyszłość?
Piotr: Na niedaleką przyszłość - na pewno kontynuacja studiów. Jeśli chodzi o samego Ruby’ego, to jeszcze nie wiem. Na studiach mieliśmy kilka przedmiotów do wyboru, a ja akurat poszedłem na taki gdzie był Ruby. Ale pisałem też w innych językach, np. C#. Ogólnie nie jestem przeciwko web dev, ale też nie widziałem wszystkich opcji w pełnej okazałości.
Damian: Na pewno chciałbym dokończyć studia, bo został mi ostatni semestr. Obecnie piszę projekt inżynierski - aplikację do zarządzania stajnią. Zacząłem go w Django, także trochę nie po drodze z Ruby. Myślę jednak, że fajnie jest znać różne alternatywy. Lubię się uczyć nowych rzeczy i jeżeli miałbym powiedzieć co preferuje, to ciężko byłoby mi na tę chwilę odpowiedzieć. Wszystkie rozwiązania mają swoje plusy i minusy, ale nie miałbym nic przeciwko pracy w Ruby’ego. Railsy bardzo dużo rzeczy ułatwiają, to na pewno.
Adam: Planuję pogłębiać wiedzę z Rails. Wcześniej robiłem trochę w Laravelu i trochę w Expressie. Myślałem “wow, w tym Laravelu jest wszystko co potrzebuje”. Okazuje się, że Rails też jest wszystko, tylko o wiele ładniejsze i jeszcze lepsze. Ponadto zdecydowanie bardziej wolę webówkę aniżeli rypanie C++ w konsoli. Już to przerabiałem w technikum i nie chcę do tego chce wracać. Planuje też zacząć studia od października i mieć pracę na pół etatu. I tak lubię programować w swoim wolnym czasie, więc równie dobrze mogę to robić w grupie, za pieniądze i z osobami, które dadzą mi feedback. Tego najczęściej mi brakowało, kiedy robiłem coś samemu.
Dawid: Ja podobnie jak koledzy, na pewno będę chciał dalej rozwijać się w Ruby. Mam już ten komfort, że pracuje jako PHP’owiec, więc mogę sobie na spokojnie robić kursy. Mocno mi się nie śpieszy, ale finalnie chciałbym kiedyś przejść całkowicie na Railsy.
Bartek: Ja mam w planach dokończyć studia, po czym planuje iść w webówkę. Jeżeli chodzi o Railsy to też mam zamiar pogłębiać swoją wiedzę i dostać pracę.
Karol: Ja chciałbym właśnie iść w Ruby’ego. Teraz jak najszybciej chciałbym zmienić pracę ze swojej aktualnej. Obecnie śledzę błędy bardziej od strony radiowej w logach, więc to coś zupełnie innego niż programowanie. Wolę jednak robić strony i iść w web development aplikacji.
Michał Wa.: Ja w bliskiej przyszłości chce skończyć technikum i zdać maturę. Jeżeli chodzi o zawód, to myślę że Railsy będą mnie interesować. Webówka jest bardzo mainstreamową gałęzią jeżeli chodzi o development.
Grzegorz: Mam jeszcze rok szkoły i maturę, więc będę chciał to ogarnąć. Potem poszedłbym na studia, chociaż to się jeszcze zobaczy. Jeśli już, to wybiorę raczej coś w kierunku informatyki. Jeszcze nie wiem czy będzie to Web development, bo sumie jeszcze zainteresowałem się algorytmami i AI. Nie skupiam się jeszcze teraz na tym co chce robić w przyszłości, żebym później nie żałował decyzji.
Michał Wi.: Ja będę chciał iść całkowicie w Ruby oraz w Railsy. Pewnie będę się douczał JavaScriptu i może jakiegoś frontentowego frameworki, chociaż nie jest to moja pierwsza miłość. Ale chcę przynajmniej mieć pełny ogląd - nawet jeśli nie będę na froncie pracować, to będę wiedzieć co się dzieje, jeśli będzie taka potrzeba.
Jakieś porady dla młodych osób, które chcą spróbować swoich sił w programowaniu?
Adam: Jedynie co mógłbym powiedzieć, to żeby po prostu nie bać się spróbować, bo nigdy nic nie stracimy. Zawsze można zrezygnować. Jednak jak już jesteśmy na takich praktykach, to powinniśmy wyciągać z nich jak najwięcej, bo jest to dla nas. I nie należy bać się pytać. Ja na początku się bałem i wszystko mogłoby szybciej pójść gdybym się nie bał.
Piotr: A ja powiem, żeby nie bać się aplikować, tylko wymaga to trochę pomyślunku. Sam jak to robiłem to miałem pustego GitHuba. Znalazłem więc na szybko jakiś kod ze studiów, włożyłem trochę dodatkowej pracy i wrzuciłem, żeby było. Nie spodziewałem się, że ktoś się odezwie.
Dawid: Podobnie jak koledzy, uważam że praktyki to fajne doświadczenie. Miałem bardzo intensywny miesiąc w pracy, a jednak starałem się uczestniczyć, w szczególności pod koniec. Od każdego indywidualnie zależy ile czasu poświęci. Niezależnie czy jest to dla danej osoby mały wysiłek czy duży, moim zdaniem warto.