Jeżeli dopiero zacząłeś uczyć się języka Java lub nadal zastanawiasz się jakiego języka programowania się uczyć, ten tekst jest dla Ciebie. O wiele łatwiej jest znaleźć motywację, gdy znasz ostateczny cel. W ogromnym świecie IT łatwo się pogubić – morze specjalizacji i stanowisk potrafi wprawić w osłupienie. Aby temu zapobiec, mówimy o czterech najpopularniejszych obszarach rozwoju i podpowiemy, które technologie musisz opanować. Mamy nadzieję, że pomoże Ci to wybrać własną ścieżkę rozwoju.
Programista backendu
Programista backendowy zajmuje się częścią aplikacji/strony/oprogramowania, która jest „pod maską”. A to bardzo dużo różnych zadań. Istotą pracy takiego programisty jest stworzenie działającej kombinacji „serwer-aplikacja-baza danych” poprzez napisanie kodu, który działa na serwerze - fizycznym lub w chmurze. Za logikę, prawidłowe działanie i dobre działanie aplikacji odpowiada backend developer.Stos technologii
Java, baza danych MySQL, biblioteka Hibernate , frameworki Spring i Spring MVC , oprogramowanie do konteneryzacji Docker , usługi chmurowe - AWS, Google Cloud, Azure; HerokuZadania programisty backendu
- Projekt architektury zasobów.
- Tworzenie struktury serwisu.
- Stworzenie platformy i podstawowego zestawu funkcji.
- Pisanie algorytmów.
Wynagrodzenie
Według serwisu Dou , średnia pensja specjalisty backendu na Ukrainie wynosi około 2380 dolarów. Czerwiec otrzymuje od 850 dolarów, a podpisujący – około 4 tysiące dolarów. Jednak według ankiety Habr średnia pensja programisty backendowego w Rosji jest niższa i wynosi około 1900 dolarów.Programista frontendowy
Frontend developer to programista odpowiedzialny za wizualną część strony internetowej, aplikacji lub oprogramowania. Nie należy tego mylić z projektantem układu, ponieważ funkcjonalność programisty frontendowego jest znacznie szersza. Nie tylko układa, ale także „ożywia” zaprojektowany obraz poprzez wyskakujące okienka, dostosowuje działanie przycisków i wchodzi w interakcję z serwerową częścią aplikacji. Aby pracować jako frontend developer musisz opanować takie języki jak HTML, CSS, JavaScript. Znajomość języka Java zapewni niezbędną podstawę do zrozumienia programowania obiektowego. W przyszłości osoba posiadająca umiejętności frontend developera może przekwalifikować się na backend developera, a później na fullstack developera. Jest więc miejsce na poprawę.Stos technologii
HTML, CSS, języki JavaScript, metajęzyki SASS i LESS, Flexbox (jeden z modułów CSS), biblioteka JQuery, frameworki Angular i Vue.js, Git, platforma oprogramowania Node.js.Zadania programisty frontendowego
- Rozwój nowych funkcjonalności serwisu, aplikacji lub oprogramowania oraz udoskonalanie starych.
- Refaktoryzacja kodu w celu poprawy wydajności.
- Przegląd kodu wysłanego na serwer.
- Techniczna implementacja układu graficznego UI/UX opracowanego przez projektanta.
- Monitoruj wydajność aplikacji.
- Naprawianie błędów.
Wynagrodzenie
Według ankiety przeprowadzonej przez portal Dou , programiści frontendowi na Ukrainie zarabiają średnio około 2300 dolarów. Junes mogą zarobić od 750 dolarów, a seniorzy około 4 tysięcy dolarów. Według ankiety Habr w Rosji dziewczyny frontendowe zarabiają średnio około 1630 dolarów.Programista Fullstack
Fullstack developer to szwajcarski scyzoryk w świecie deweloperskim, wielofunkcyjny programista, który radzi sobie zarówno z zadaniami frontendowymi, jak i backendowymi. Nie jest łatwo zostać tak uniwersalnym żołnierzem: trzeba mieć rozległą wiedzę i bogate doświadczenie. Oczywiście full-stack developerem może być specjalista, który pracował zarówno nad wizualną częścią aplikacji, jak i po stronie serwera. Ponadto musi dobrze rozumieć, w jaki sposób te części współdziałają i jaki powinien być ostateczny projekt.Stos technologii
- Java + rdzeń Java; Apacz; JPA/Hibernacja; Spring (Spring MVC, Spring Boot, Spring REST, Spring Web), Google Cloud, AWS lub Azure; JSP (strony serwera Java).
- Język układu HTML i język stylu CSS; języki programowania JavaScript i TypeScript; Preprocesory SASS i LESS; biblioteka jQuery; Framework Bootstrapa; Angular/React/Vue.js; Technologie DOM, AJAX, JSON.
Zadania programistyczne pełnego stosu
- Planowanie, zarządzanie i wdrażanie projektów.
- Negocjacje z klientami.
- Testowanie gotowej platformy internetowej i debugowanie błędów.
- Kontrola jakości strony internetowej lub aplikacji.
- Wsparcie techniczne specjalistów pracujących nad serwisem internetowym.
- Praca z bazami danych, systemami plików, pamięcią masową w chmurze i zasobami sieciowymi.
- Stworzenie projektu wizualnego.
Wynagrodzenie
Średnia pensja specjalisty full-stack na Ukrainie wynosi około 2300 dolarów. W Rosji średnia pensja takiego specjalisty wynosi około 1600 dolarów.Programista Androida
Znając język programowania Java, możesz pracować jako programista Androida. Większość dużych firm ma aplikacje jako alternatywną wersję swojej witryny internetowej. Poza tym dosłownie co miesiąc pojawiają się dziesiątki aplikacji startupowych, w których również można dostać pracę. Twórca aplikacji mobilnych ma wiele zadań i obowiązków na różnych poziomach umiejętności, od pracy nad strukturą wewnętrzną po implementację interfejsu.Stos technologii
Biblioteki Java, Android Studio, Android SDK, Git, Retrofit, Moshi, Chuck, Timber.Zadania programisty Androida
- Tworzenie aplikacji mobilnych na system operacyjny Android.
- Interakcja z bazami danych i interfejsami API.
- Testowanie i finalizacja oprogramowania na kilku etapach.
- Wgranie gotowego produktu do sklepu z aplikacjami Google Play.
- Wsparcie aplikacji i aktualizacje.
- Przygotowanie dokumentacji i instrukcji pracy z produktem.
Wynagrodzenie
Średnia pensja programisty Androida na Ukrainie wynosi około 2375 dolarów. June może spodziewać się wynagrodzenia w wysokości 800 dolarów. W Rosji średnia pensja takiego programisty wynosi około 2040 dolarów.Jak programiści pracują w zespole? Przykład JavaRusha
Omówiliśmy specjalizacje programistów, ale jak wygląda praca tych osób w zespole? Opowiemy Ci jak pracuje zespół programistów JavaRush. Na początek trochę o produktach JavaRush i CodeGym. Składają się z następujących części (jest to uproszczona konstrukcja):- serwer;
- Baza danych;
- nakładka;
- podłącz;
- aplikacja na Androida;
- Aplikacja na iOS (jeszcze nie wydana).
GO TO FULL VERSION