Mentionsy Mentionsy
DEVision Podcast
DEVision Podcast

#18 Programista Full Stack. Czy warto zostać Full Stack Developerem? Łukasz Ostrowski.

26.01.2023 ·29 min 54 s · 10 rozdziałów

Podcast DEVision to polski podcast IT dla programistów, którzy chcą rozwijać swoją wiedzę, posłuchać o ciekawych projektach oraz zainspirować się innymi. A to wszystko w przyjemnej formie rozmowy, której możesz słuchać w tramwaju, na siłowni, a nawet w pracy 😉 💌 Zapisz się do naszego newslettera: https://bit.ly/37TTNCK 🌏 Więcej o nas przeczytasz na stronie: https://bit.ly/3Pttiox Obserwuj nas na social media: 🚀 LinkedIn: https://bit.ly/3PxlHFQ 🎧 Spotify: https://spoti.fi/39xU0fm 🎧 iTunes: https://apple.co/3PsjhrQ

0:00 · Introdukcja i przedstawienie 2

O kurczę, to muszę pić już stary. Nie. Powiem ci, kto to jest internista. A, no tak. Wady, podstawa. Ja teraz jak oglądam czyjeś podcasty, to zawsze patrzę, co oni piją. Cześć, jestem Nikodem. Witam w kolejnym odcinku podcastu DEVision. Dzisiaj w studio jest ze mną Łukasz Ostrowski, z którym będę rozmawiał o roli Full Stack Developera. Cześć Łukasz. Cześć. Zanim przejdziemy do tematu, powiedz kilka słów o sobie. To zapewne najbardziej interesujące będzie moje życie zawodowe, więc może pokrótce powiem, jak to wyglądało u mnie.

Nie wiem, czy było takie specjalnie ciekawe. Jak pewnie wiele osób w tej branży zaczynałem gdzieś jako dziecko z komputerami, programowaniem, grami i tak dalej. Potem gdzieś tam doszłałem się na studia informatyczne, których nie skończyłem, ale zacząłem programować. Zacząłem od stronek internetowych, tak trochę hobbystycznie, jeszcze nie wiedząc w ogóle, że będzie to dla mnie coś więcej. Potem stopniowo dostałem jakąś tam swoją pierwszą pracę, zacząłem pracować jako Frontend Developer. Potem stopniowo rozwijają się w kierunku bardziej właśnie Full Stackowym. Teraz bardziej biznesowo, w sensie dalej czynnie programuję, ale też jestem Product Ownerem i Team Leadem. No, także mniej więcej tak to wygląda w przypadku mojego doświadczenia w ostatnie ileś tam lat.

2:23 · Definicja Full Stack Developera 2

Kim jest Full Stack Developer? Ja myślę, że w przypadku tej roli Full Stack Developera, to trzeba by to rozebrać na jakieś czynniki pierwsze, żeby chyba odpowiedzieć na to pytanie. Ja oczywiście nie roszczę sobie żadnej tutaj jakiejś prawidłowej odpowiedzi, bo myślę, że jej nawet nie ma. Jakbyśmy wpisali w Google Full Stack Developer, to pewnie znaleźlibyśmy odpowiedź, że jest to ktoś, kto robi i frontend, i backend. I myślę, że większość z nas, jak to słyszymy, to pewnie też ma to na myśli. Z drugiej strony raczej nie postawimy w tym samym zestawie umiejętności osoby, która jest Full Stackiem z Reactem, Nodem, Serverlessami, co osoby, która jest, nie wiem, Java Enterprise, która pisze w Angularze przykładowo w jakiejś korporacji.

Naprawdę zgłębić, czym się kto zajmuje, to warto byłoby złożyć to trochę na czynniki pierwsze, w jakich technologiach się poruszamy. Nawet jak ofertę o pracę pisałem, przecież ja mam ogłoszenia, to też definiowaliśmy, że to jest na przykład Full Stack z Note'em czy z React'em, żeby właśnie zawęzić to stwierdzenie, bo ono jest na tyle szerokie, że nawet się może trochę wykluczać. Odpowiedź na to nie jest taka prosta, jak się wydaje. Załóżmy w takim razie, że Full Stack będzie w naszym rozumieniu oznaczał osobę, która potrafi zająć się jednocześnie front-endem i back-endem i rozważmy takie podejście. Jakie uważasz, że wynikają z tego plusy? Jaka jest zaleta bycia Full Stackiem albo posiadania Full Stack Developerów w zespole?

7:38 · Przykłady i doświadczenia 2

Jak to w twoim przypadku wyglądało? Dlaczego postanowiłeś jednak nauczyć się też back-endu? Ogólnie wydaje mi się, że po prostu zawsze miałem taką ochotę na jakiś swój projekt, czy mieć jakieś takie swoje start-upy. Nie jakieś może wielkie biznesy, ale jakieś takie weekendowe projekty robić. I żeby takie rzeczy osiągnąć, no to nie da się tego zrobić na samym front-endzie. No więc po prostu zasadniczo pisząc takie aplikacje, zauważałem, że mam coraz więcej potrzeb. Więc zacząłem bardzo stopniowo rozszerzać tą wiedzę, doklejając sobie trochę tej jakiejś tam wiedzy i tak jakoś stopniowo osiągnąłem jakiś tam level, który pozwala mi tym Full Stackiem się nazwać. Oczywiście wiadomo, że pewnie by nie przyszedł rozmowy o pracę na Senior Backend Developera, gdyby zacząć mnie trzepać z jakichś tam zaawansowanych tematów, projektowania baz czy czegoś takiego.

I wtedy też właśnie, przynajmniej moje rady są, jak ktoś pyta takie, żeby właśnie skupić się na tej jednej rzeczy, być produktywnym, nie wiem, nauczyć tego HTML i CSS, to będzie w stanie przynajmniej zachodzić stronkę. Potem sobie dorzuć to, kiedyś to było jQuery, tam dzisiaj pewnie Reacta, to napiszesz jakiś tam prosty frontend. I tak stopniowo sobie dokładaj te klocki, bo jak zaczniesz od wszystkiego na raz, to zasadniczo nic nie będziesz umieć i tak nigdy nie wyjdzie z tego tutorial. Jednym z naszych ulubionych punktów w tym podcaście jest właśnie pytanie, jak dostać się albo jak zostać Mieliśmy takie pytania już do programistów baz danych, do programistów blockchaina itd.

11:29 · Jak zostać Full Stack Developerem 2

Miałem zamiar zadać Ci pytanie, co trzeba zrobić, żeby zostać Full Stack Developerem. W sumie nawet raz taką inicjatywę przeprowadziłem. W jednej z firm front-endowcy mieli chęć rozwoju na Full Stack'a czy tam uczenia się Node'a. Ludzie zgłaszali takie zapotrzebowanie i zaczęliśmy się zastanawiać, jak to zrobić. I po prostu zrobiliśmy taki projekt poboczny, który był mikroserwisem. który był potencjalnym takim kontenerem, który można było po prostu zdeployować na jakąś nawet kliencką infrastrukturę, że kliencką, w sensie dla jakiegoś klienta można było zdeployować taki obraz jakiegoś tam API w nodzie. No jakby założenie było takie, że to jest po prostu robione z tak zwanej ławki, czy tam budżetu szkoleniowego, czy jak to tam nazwiemy, więc po prostu pisali to ci frontendowscy, którzy chcieli po prostu się nauczyć back-endu.

A jak już jesteśmy w jakiejś pracy, w jakimś konkretnym projekcie, no to jakby pracy przeważnie nie brakuje, więc myślę, że to nie jest jakiś wielki problem. No to ja właśnie miałem podobną historię. Zaczynałem na backendzie i dopiero kiedy poczułem się już pewnie w swojej roli, kiedy wiedziałem, że zajmuję się tak zadaniami jak powinienem, zgłaszałem się na początku po jakieś małe zadania frontendowe. Z czasem wiadomo, że coraz więcej i coraz trudniejsze, tak żeby właśnie podszkodzić się w tej technologii. Fajne jest jeszcze to, że nigdy nie zostawałem sam z danym zadaniem, tylko zawsze można liczyć na pomoc zespołu, także myślę, że w sytuacji, kiedy ktoś ma taką okazję w firmie i może liczyć na pomoc zespołu, to warto korzystać z takich okazji. Wszystko pięknie, ładnie i z Twoich obecnych wypowiedzi wynika, że warto jest być Full Stack Developerem.

13:44 · Wady Full Stack Developerów 1

No i tutaj myślę, że to jest bardzo indywidualne też, w jakiś sposób indywidualnie właśnie, czy lubimy po prostu, że tak powiem, nerdzić jeden temat, czy właśnie jesteśmy po prostu na tyle ciekawi, że jakby inne rzeczy nas interesują bardzo mocno. Tutaj chyba po prostu bym podążał za jakimś takim własnym przeczuciem, co po prostu jest dla nas interesujące. A jeśli chodzi o takie bardziej ogólne czy takie bardziej biznesowe podejście. Ostatnio na konferencji pojawiła się ciekawa myśl, że właśnie generalnie Full Stack Teams, ale nie Full Stack Developers. I tam właśnie jednym z takich argumentów było to, że Jeżeli mamy samych ludzi, którzy są od wszystkiego, to w praktyce nikt się na niczym nie zna. Owszem, każdy zna powierzchownie wszystko, ale nikt nie zna dogłębnie tej konkretnej rzeczy.

19:43 · Zakres umiejętności Full Stack Developerów 1

No i w sumie wszystko było na tym back-endzie. A ci frontendowcy to byli od CSS-ów. No i teraz wtedy pytając jakiegoś backendowca, czy umie frontend, no to myślę, że każdy powiedziałby, że tak. To raczej, że po prostu nie chce tego robić, albo że nie chce robić CSS-ów. Albo nawet nie umie robić CSS-ów, no ale to nie jest istotne, bo to jest po prostu dość proste na takim poziomie raczej tego typu complexity. Ale potem wraz z rozwojem tego software'u, a właściwie z tym, w jaki sposób rozwinęła się branża, gdzie masa aplikacji przenosi się do weba, gdzie już nie mamy desktopowych aplikacji takich, które się instaluje, znaczy mamy oczywiście, ale jakby one się przenoszą masowo do przeglądarek, To się okazało, jak bardzo zaawansowane i skomplikowane staje się pisanie aplikacji klienckich, które wkresie, może jeszcze w aplikacjach mobilnych, to kompleksity było większe.

24:50 · Sposoby na podnoszenie umiejętności 2

Ja mam tylko takie mocno subiektywne tutaj akurat podejście, bo ja po prostu personalnie lubię uczyć się nowych rzeczy, więc w momencie, kiedy frontend był dla mnie w miarę jakby obeznany, to nie miałem już takiej satysfakcji z tym, żeby jeszcze bardziej w tym frontendzie się rozwijać, więc wtedy się rozwijałem, nie wiem, bardziej w stronę managementu, czy właśnie back-endu, czy zupełnie innych rzeczy biznesowych. Tylko dla mnie to było po prostu naturalne, więc wtedy po prostu podążam za ciekawością i jest to dla mnie wystarczające. A jeśli chodzi o takie generalne tipy czy, nie wiem, jakieś pomysły, to oprócz tego, co w sumie wspominaliśmy, że może warto było po prostu sięgnąć po jakieś zadanie i spróbować je po prostu zrobić, bo to jest chyba learn by doing, po prostu takie najprostsze,

W przypadku frontendowców wydaje mi się, że jest łatwiej. Dlatego, że frontend naturalnie sięga w strony backendu wraz ze swoim rozwojem. Czyli dzisiaj standard, w którym wytwarza się frontendowa aplikacja, takim na przykład Next.js, jest to w pewnym sensie połączone od razu z całym serverlessowym setupem, który też zawiera w sobie tą warstwę backendową. Więc to jest dość proste, wystarczy po prostu w pewnym sensie nauczyć się wykorzystywać możliwości frameworka, w którym się poruszamy i tak. W przypadku backendu, szczerze mówiąc, nie wiem, może po prostu jakieś sideprojekty, czy coś tego typu, napisać swoją własną aplikację, która po prostu ma jakiś frontend. Może coś w ten sens. Myślę, że chyba po prostu właśnie to learn by doing i uczenie się po prostu poprzez jakieś projekty, to jest taka uniwersalna zasada, która chyba zawsze jest ciekawa.

27:18 · Podsumowanie i zakończenie 1

I tam oczywiście wiadomo, jakbym się uczył regularnie, to pewnie bym się nauczył. Przez to, że się uczę raz na trzy miesiące przez jeden dzień, a potem zapytaję kolejne trzy miesiące na odpoczynek, to takie rzeczy po prostu wychodzą z głowy. No ale jeżeli mamy jakąś trudną koncepcyjnie rzecz, która wychodzi całkowicie z naszego światopoglądu, czyli z obiektówki przerzucamy się na Haskella, czy właśnie te koncepty rastowe, które są też dosyć specyficzne, To wtedy myślę, że można spróbować czegoś, co nam pozwoli łatwiej zbudować jakiś mental model. I tutaj na przykład lubię korzystać z takich źródeł, to można na GitHubie znaleźć jakieś dokumenty czy książki typu na przykład Rastfor, Javascript Developers, albo coś w tym zeseń.

Pokazano wszystkie 13 dopasowań. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.