TypeScript i JavaScript to technologie teraźniejszości

Według globalnego badania StackOverflow JavaScript jest najpopularniejszą technologią w IT na świecie, a TypeScript zajmuje już piąte miejsce. Programiści doceniają je za ich elastyczność i wielofunkcyjność. Nic więc dziwnego, że na rynku obserwujemy duże zainteresowanie specjalistami posługującymi się tymi językami. Jak wynika z kalkulatora płac portalu No Fluff Jobs w 2022 roku Senior JavaScript i TypeScript przy kontrakcie (B2B) może zarobić od 18,4 do 26 tys. złotych (+VAT) miesięcznie. Natomiast w przypadku umowy o pracę można liczyć na wynagrodzenie w wysokości od 15 do 21 tys. złotych brutto miesięcznie. O potencjale i zaletach tych technologii rozmawiamy z Aleksandrem Sorokinem i Vadymem Tarasichem z Evolution.

Czym zajmujecie się w Evolution?

Vadym: Jestem front-end developerem i pracuję w tej firmie już prawie 5 lat. Na początku mojej kariery w Evolution tworzyłem gry, ale przez ostatnie dwa lata byłem częścią głównego zespołu, który zajmuje się różnego rodzaju rozwiązaniami integracyjnymi i wewnętrznym frameworkiem, który jest wykorzystywany we wszystkich naszych grach. Poza tym zajmuję się również usprawnieniami naszej bazy danych.

Vadym Tarasich TypeScript i JavaScript Evolution
Vadym Tarasich

Aleksander: Jestem backend developerem i zajmuje się rozwojem czatu w naszych grach oraz wszystkich powiązanych produktach. W naszej firmie posiadamy między innymi narzędzia do moderowania czatu w trakcie gry przez odpowiednich pracowników lub do indywidualnej komunikacji z obsługą klienta w przypadku problemów, a także automatyczną analizę wiadomości w celu uniknięcia nieodpowiednich zachowań graczy i generowanie raportów do wglądu.

Aleksander Sorokin TypeScript i JavaScript Evolution
Aleksander Sorokin

Dlaczego warto dołączyć do Evolution? Jakie są wartości firmy?

Vadym: Evolution zawsze utrzymuje wysokie standardy programowania i jakość produktów. Niektóre z nich są jedynymi w swoim rodzaju grami w naszej branży. Oznacza to, że nasza baza kodów jest zawsze na bieżąco z najnowszymi trendami w technologiach, których używamy. Staramy się stale ulepszać kod i ogólnie doświadczenie programisty. Ponieważ wszyscy nasi inżynierowie pochodzą z różnych dziedzin i krajów, każdy może mieć coś nowego do wniesienia do zespołu, a świeże spojrzenie jest przez nas mile widziane. Jesteśmy otwarci na nowe pomysły, a każdy deweloper może je zaprezentować i nierzadko wdrożyć. W skrócie – Evolution utrzymuje kulturę inżynierską na wysokim poziomie, a my rozwijamy się, pracując razem.

Jak duży jest Wasz zespół TypeScript/JavaScript? Pracujecie z wieloma ekspertami, więc pracujecie w środowisku, które umożliwia Wam wymianę doświadczeń i wiedzy?

Vadym: W Evolution mamy wiele zespołów produktowych i prawie każdy z nich ma na pokładzie front-end developerów. W sumie nasz dział JS/TS składa się z ponad 100 inżynierów. Ponieważ każdy zespół ma swoją specyfikę – niezależnie od tego, czy pracuje nad grami, jakimiś wewnętrznymi narzędziami i aplikacjami, czy jakimkolwiek innym projektem, programiści w tych zespołach mają różne problemy do rozwiązania. Niemniej jednak nawet przy całej różnorodności produktów, wciąż dzielimy ten sam stos technologiczny, więc powiedziałbym, że „mówimy tym samym językiem”.

programista

Jakie są tego korzyści?

Vadym: To bardzo pomaga nam w wymianie doświadczeń, ponieważ najlepsze podejścia, które jeden zespół rozwija i stosuje, mogą być dzielone z wieloma osobami niesamowicie szybko. Z każdym problemem lub pytaniem, na które napotkasz czy jako inżynier z relatywnie krótkim doświadczeniem w programowaniu czy jako senior, zawsze możesz liczyć na pomoc swojego zespołu. Za każdym razem jest osoba, która ma odpowiednie doświadczenie lub posiada wiedzę, której potrzebujesz.

Na czym polega fenomen TypeScript/JavaScript? Dlaczego warto się nim zainteresować?

Aleksander: Moim zdaniem, największym fenomenem jest intensywny rozwój Internetu w ciągu ostatnich dekad – drastyczny wzrost liczby użytkowników, powstanie różnego rodzaju serwisów, a nawet przeniesienie niektórych aspektów życia do sieci. Jak to jest związane z JavaScriptem i TypeScriptem? Otóż, jeżeli chodzi o interaktywną część stron internetowych i aplikacje webowe, to JavaScript jest praktycznie bezalternatywnym wyborem, a ponadto zajmuje swoją niszę w innych obszarach zastosowań. W dzisiejszych czasach powstaje coraz więcej aplikacji z JavaScriptem “pod spodem” i niektóre są naprawdę skomplikowane, w związku z czym obserwujemy nieustanny popyt na programistów JavaScript.

Dodatkowo TypeScript zyskuje na popularności w ostatnich latach, ponieważ rozszerza możliwości JavaScriptu, usprawnia proces rozwoju aplikacji i sprawia, że kod jest łatwiejszy w utrzymaniu. Jest to szczególnie przydatne w większych projektach, gdzie TypeScript pomaga w wychwyceniu błędów na wczesnym etapie cyklu rozwoju produktu i sprawia kod źródłowy bardziej czytelnym i zrozumiałym. Te technologie są relatywnie łatwe w nauce i pozwalają na szybkie tworzenie aplikacji internetowych, a także dostarczają wiele narzędzi i bibliotek, które pomagają w rozwoju projektów. Biorąc pod uwagę popularność i wszystkie zalety, nauka TS/JS jest dobrym wyborem dla osób, które chcą rozpocząć karierę w branży IT lub rozwijać swoje umiejętności programistyczne.

TypeScript i JavaScript

Jakie są zalety TypeScript/JavaScript?

Aleksander: JavaScript i TypeScript mają wiele zalet, w tym:

  • Prostota w nauce: JavaScript jest językiem programowania, który jest łatwy w nauce dla początkujących
  • Bezpieczeństwo: TypeScript dostarcza typowanie statyczne, które pozwala na lepszą kontrolę nad kodem i pomaga wykrywać błędy na etapie kompilacji, co zwiększa jakość kodu.
  • Lepsza organizacja kodu: Wykorzystanie systemu typów TypeScript ułatwia organizację i strukturę kodu, zwłaszcza w większych projektach.
  • Ulepszone wsparcie w IDE: System typów TypeScript pozwala na ulepszone uzupełnianie kodu i sprawdzanie błędów w IDE, ułatwiając pisanie i nawigację w dużych projektach.
  • Wszechstronność: Oba języki mogą być używane do tworzenia aplikacji front-end i back-end, co oznacza, że można je używać do tworzenia różnych rodzajów aplikacji, takich jak strony internetowe, serwery, aplikacje mobilne czy desktopowe.
  • Duża społeczność i wsparcie: JS i TS mają bardzo dużą społeczność programistów, co oznacza, że istnieje wiele dostępnych narzędzi, bibliotek i zasobów, które pomagają w rozwoju.
  • Wydajność: JavaScript jest dosyć wydajny i pozwalają na tworzenie aplikacji, które działają szybko i płynnie.
  • Interoperacyjność: Oba języki są interoperacyjne, co oznacza, że mogą być używane razem w jednej aplikacji, co pozwala na wykorzystanie mocnych stron każdego języka.

Ogólnie rzecz biorąc, TypeScript i JavaScript to kultowe języki programowania, które mają liczne zalety i wszechstronne przypadki użycia.

W jakim celu stosuje się TypeScript/JavaScript? Gdzie mają zastosowanie i jakie jest ich wykorzystanie u was. Jakie korzyści przynosi JS/TS w Twojej obecnej pracy?

Vadym: Cel użycia tych technologii w dużej mierze opiera się na ich zaletach, które Aleksander wymienił wcześniej. Oczywiście, głównym powodem jest to, że pracujemy w domenie internetowej, a TS/JS są nadal najczęściej używanymi technologiami. Myślę, że większość, jeśli nie wszystkie strony internetowe, które odwiedzasz w dzisiejszych czasach, uruchamia JS. Można go używać czysto do efektów graficznych, ulepszania UX/UI, gier, a nawet do budowania aplikacji backendowych. Więc muszę powiedzieć, że te języki są teraz wszędzie i my nie jesteśmy wyjątkiem.

TypeScript i JavaScript

Produkty Evolution są tworzone przy użyciu różnych bibliotek i frameworków, takich jak React, Redux, Mobx, itp. Niektóre z naszych gier mają zaawansowaną grafikę i są zbudowane przy użyciu bibliotek takich jak Babylon.js czy Pixi.js. Wszystkie te zewnętrzne narzędzia wspierają TS i to właśnie działa najlepiej. Dba o to, aby programiści stosowali poprawną składnię oraz używali właściwych typów danych podczas pracy z klientami zewnętrznymi bez konieczności częstego sięgania do dokumentacji, ponieważ TS ostrzeże Cię, jeśli zrobisz coś źle podczas kompilacji.

Praca z nimi staje się znacznie łatwiejsza i szybsza, jeśli dane rozwiązania są opracowane przy użyciu TS. Twój kod staje się zunifikowany, samodzielnie udokumentowany, znacznie bardziej zrozumiały i zdecydowanie łatwiejszy do wsparcia. Te punkty są na pierwszym miejscu, gdy pracuje się w tak dużej bazie kodu z tak wieloma codziennymi wkładami, które mamy.

Czyli możemy powiedzieć, że są to technologie przyszłości?

Vadym: Powiedziałbym, że są to także technologie teraźniejszości, gdyż są bardzo rozpowszechnione. Z drugiej strony na pewno ich zastosowanie będzie rosnąć, a same technologie będą się tylko doskonalić. Jest tak wiele obszarów, w których możesz zastosować JS i TS. Możesz budować z nimi aplikacje w zasadzie na każdą platformę. Niektóre projekty, jak React Native, pozwalają na stworzenie projektu z JS/TS, a następnie przeniesienie go na wiele platform – iOS, Android, natywne aplikacje Windows czy MacOS.

TypeScript i JavaScript

Jak rozpocząć karierę w tych technologiach?

Aleksander: Rozpoczęcie kariery w technologiach TypeScript i JavaScript może być łatwe, jeśli działa się według określonych kroków.

Jakie kroki masz na myśli?

Aleksander: Najpierw należy poznać podstawy języka, przede wszystkim JavaScript. Język programowania to nie wszystko – w zależności od specjalizacji, potrzebne będą dodatkowe umiejętności, np. dla frontendowców są to CSS i HTML. Po zdobyciu podstawowej wiedzy należy zacząć praktykować tworzenie aplikacji za pomocą JavaScript, CSS i HTML. Można to robić poprzez rozwiązywanie zadań lub tworzenie własnych projektów. Należy pamiętać, że portfolio jest ważnym elementem w życiu zawodowym i powinno zawierać przykłady projektów i ujawniać umiejętności. Kolejnym krokiem jest zdobycie doświadczenia zawodowego poprzez udział w projektach zespołowych lub pracę na etacie.

Będzie ciężko znaleźć pracę bez znajomości w branży, dlatego ważne jest, aby nawiązywać kontakty z innymi specjalistami w tej dziedzinie, uczestniczyć w spotkaniach branżowych, konferencjach itp. Warto podkreślić, że w branży IT uczymy się przez całe życie – technologie szybko się rozwijają, więc ważne jest, aby stale uaktualniać swoje umiejętności i pozostawać na bieżąco z najnowszymi trendami i rozwiązaniami. W dzisiejszych czasach głównymi trendami są TypeScript i React, które warto poznać, już mając solidną znajomość podstaw i zdobyte doświadczenie.

pegasus

Gdzie można zdobyć wiedzę o TypeScript/JavaScript poza szkołą? Czy są to szkolenia (bootcampy), a może mentorzy?

Aleksander: Oprócz studiów, jest wiele innych sposobów zdobycia wiedzy o TypeScript i JavaScript. Można uczyć się samodzielnie poprzez książki, czytanie dokumentacji i tworzenie projektów, co jest dosyć ciężkie dla zupełnie początkujących. Istnieje mnóstwo darmowych i płatnych kursów online, które pozwolą poznać podstawy języka oraz bardziej zaawansowane tematy. Oczywiście, na rynku są też bootcampy i mentorzy, ale nie jest to opcja dla każdego. Na przykład, koszty takiego bootcampu mogą sięgać nawet 20 000 złotych. Niestety, cena nie zawsze idzie w parze z jakością…

Z drugiej strony, Evolution regularnie przeprowadza bootcampy z różnych obszarów IT, również z TypeScriptu i Reacta, gdzie uczestnicy biorą udział zupełnie za darmo bez żadnych zobowiązań. Nasza firma inwestuje własne środki w rozwój branży IT i ciągle poszukuje nowych talentów. Podczas bootcampu przydzielamy personalnego mentora, który jest w stałym kontakcie z uczestnikiem. Jest to okazja, by zdobyć praktyczną wiedzę na najwyższym poziomie bezpośrednio od najlepszych specjalistów w całej Europie.

TypeScript i JavaScript

Czy mieliście mentora? Na czym polega taki mentoring?

Aleksander: Tak, miałem mentora w przeszłości – podczas uczenia się Scali w Evolution. W trakcie mentoringu, mentor jest odpowiedzialny za przewodzenie mentee (osoby uczącej się) przez proces rozwoju zawodowego, pomagając tej osobie rozwiązać problemy, radząc i dzieląc się swoim doświadczeniem. Mentoring odbywa się poprzez regularne spotkania i rozmowy na Slacku. Mentor pomaga mentee w rozwijaniu umiejętności, przygotowywaniu do kariery zawodowej w wybranej specjalizacji, radzeniu sobie z trudnościami lub rozwiązywaniu problemów.

Mentoring jest dosyć przydatny, pozwala uczyć się od doświadczonych specjalistów, a także skorzystać z ich wiedzy i doświadczenia. Dla mnie mentoring był ważnym elementem mojego rozwoju zawodowego, pomógł mi przejść przez trudności i rozwiązać problemy, które napotkałem w nauce nowych technologii. Obecnie sam jestem mentorem w Evolution i pomagam innym w rozwoju ich kariery zawodowej.

Czy widzicie zainteresowanie tymi technologiami wśród polskich i zagranicznych programistów?

Vadym: Tak. Te technologie same się rozwijają, rośnie też liczba domen, w których są przydatne, a to przyciąga wielu nowych programistów. TS jest stosunkowo dojrzałą technologią, ale w ostatnich latach zrobiła duży skok do przodu. Znam osobiście kilku inżynierów, którzy zmienili swój podstawowy język programowania na TypeScript z powodu tego, jak atrakcyjna stała się ta technologia. Popyt na nią jest bardzo duży, ponieważ daje programistom wiele możliwości wyboru. Po pierwsze, w strukturze i organizacji kodu. Po drugie, różnorodność domen, w których ma zastosowanie. Istnieje wiele frameworków, bibliotek i narzędzi, które ułatwiają życie programistom JS/TS, a większość z nich jest open source. Społeczność utrzymuje je na bieżąco i reaguje na najnowsze trendy. W tej dziedzinie jest duży postęp.

0 0 votes
Article Rating
Powiadomienia
Powiadom o
0 komentarzy
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x