JavaRush /Blog Java /Random-PL /Kto jest kim w IT. Czym zajmują się PM, programiści front...

Kto jest kim w IT. Czym zajmują się PM, programiści frontendowi i backendowi oraz kontrola jakości?

Opublikowano w grupie Random-PL
Hej! Wszyscy zajrzeliśmy tutaj, ponieważ byliśmy zainteresowani pracą w branży IT. Ale zamiast grzebać w pierwszej specjalizacji IT, na którą się natkniesz, może warto rzucić okiem na listę możliwych obszarów w firmie IT? Oto druga część mojej krótkiej recenzji. W pierwszej przyjrzeliśmy się takim specjalizacjom jak Recruiter, HR, Administrator systemu, DBA, DevOps. Dzisiaj przyjrzymy się specjalnościom, które stanowią „kręgosłup” każdego zespołu i odpowiednio projektu. Kto jest kim w IT.  Czym zajmują się PM, programiści frontendowi i backendowi oraz QA - 1Jeśli gdzieś coś pomylę, nie karć mnie za bardzo, ale popraw mnie w komentarzach: patrzę na wszystko z perspektywy programisty Java i być może po prostu nie znam niuansów wszystkich specjalności.

18:00 – Kierownik projektu

Zadaniem kierownika projektu jest kompetentne planowanie, organizowanie, zarządzanie projektami technicznymi oraz doskonalenie komunikacji pomiędzy członkami zespołu, aby praca przebiegała sprawnie i możliwie efektywnie. Specjaliści ci muszą znać potrzeby klientów i cele, jakie sobie stawiają, a także możliwie najlepiej koordynować działania pracowników, aby projekt doprowadzić do logicznego, pozytywnego zakończenia. Pozytywne, bo projekty nie zawsze mogą zostać ukończone z sukcesem z kilku powodów: wstrzymania finansowania, niezadowolenia z pracy ze strony klienta, itd... Głównym zadaniem Kto jest kim w IT.  Czym zajmują się PM, programiści frontendowi i backendowi oraz QA - 2PMa jest koordynacja grupy pracowników w celu rozwiązania problemy techniczne, ponieważ programiści nie zawsze są ludźmi super towarzyskimi i nie zawsze potrafią się ze sobą kompetentnie porozumieć, a to z kolei może tylko zaszkodzić projektowi. No cóż, albo na przykład programista utknął w czymś: może siedzieć długo i nie wiedzieć, jak sobie poradzić z jakimś problemem. Wszyscy nie lubimy przyznawać się do tego, że czegoś nie wiemy lub nie potrafimy, a deweloperzy tym bardziej. I tu z pomocą przychodzi PM , który pomoże Ci znaleźć osobę, do której możesz zwrócić się o dodatkowe informacje lub która spotkała się już z czymś podobnym. Do obowiązków PM'a należy:
  • ustalanie ogólnych celów projektu;
  • opracowywanie planów osiągnięcia tych celów;
  • dotrzymywanie terminów projektów i bieżących raportów o stanie;
  • zarządzanie zasobami projektu (pracownikami i wyposażeniem technicznym);
  • poprawa koordynacji interakcji pomiędzy członkami zespołu projektowego;
  • śledzenie efektywności projektu i dotrzymania zaplanowanego harmonogramu;
  • przeprowadzanie ocen ryzyka dla projektów;
  • organizowanie różnorodnych spotkań w celu omówienia celów, bieżącego postępu, pozytywnych i negatywnych aspektów projektu.
Wymagane umiejętności:
  • Angielski Wyższy średniozaawansowany i wyższy, ponieważ PM komunikuje się z klientem w imieniu zespołu;
  • szeroka wiedza techniczna, ale niezbyt głęboka, abyś mógł zrozumieć, kto co robi, jak ogólnie przebiega praca, bez wchodzenia zbyt głęboko;
  • umiejętności zarządzania projektami i zaangażowanymi w nie zespołami;
  • silne umiejętności komunikacyjne, ponieważ praca PM polega głównie na komunikacji z członkami zespołu i kierownictwem;
  • rozwinięte umiejętności korespondencyjne. Na przykład często musisz wysyłać listy na adres e-mail klienta w imieniu zespołu lub firmy i nikt nie doceni listu napisanego niepoprawnie lub z błędami;
  • analityczny umysł, który przyda się w rozwiązywaniu problemów pojawiających się w trakcie pracy nad projektem;
  • umiejętności zarządzania czasem, których wykorzystanie pozwoli Ci dotrzymać projektów zgodnie z harmonogramem i budżetem (w końcu czas = pieniądz);
  • umiejętności planowania zasobów i zadań.
Według Dou, w Kijowie średnia pensja początkującego premiera wynosi 700 dolarów . Przedział wynagrodzeń tych specjalistów w Kijowie wynosi 1200-4500 dolarów : wszystko zależy od doświadczenia specjalisty i firmy. Na kogo możesz się wyrosnąć:
  • kierownik dostaw ( DM ) jest bezpośrednią kontynuacją PM -a, stoi bezpośrednio nad grupą PMów i koordynuje ich projekty na wyższym poziomie;
  • kierownik programu - koordynuje kilka powiązanych ze sobą projektów, ale ja sam nie bardzo rozumiem różnicę z DM;
  • dyrektor techniczny ( CTO ) – dyrektor techniczny odpowiedzialny za rozwój produktów i doskonalenie procesów ich tworzenia;
  • dyrektor generalny ( CEO ) – dyrektor generalny;
  • menadżer konta ( AM ) - menadżer obsługi klienta;
  • przekwalifikować się i przejść do innej specjalizacji))
Jeśli interesują Cię ludzie, lubisz komunikować się z nimi i jesteś gotowy wziąć na siebie ciężar odpowiedzialności za zespół (lub nawet więcej niż jeden) programistów, to ten zawód jest zdecydowanie dla Ciebie.

7. Programista frontendowy

Frontend developer to programista odpowiedzialny za implementację wizualnej części aplikacji, którą użytkownicy widzą i z którą użytkownicy wchodzą w interakcję w aplikacji internetowej. Z reguły specjaliści ci współpracują z programistami Backend , którzy odpowiadają za część logiczną (serwerową) aplikacji, która stanowi kontynuację części wizualnej aplikacji stworzonej przez programistów Frontend . Kto jest kim w IT.  Czym zajmują się PM, programiści frontendowi i backendowi oraz QA - 3Programiści frontendowi, podobnie jak programiści backendowi, są podstawą rozwoju każdego projektu. Ci, którzy wspierają projekty. W końcu jakikolwiek biznes opiera się na zwykłych, że tak powiem, ciężko pracujących pracownikach. Dlatego programiści zachowują się jak ciężko pracujący ludzie. Z reguły jest ich znacznie więcej niż przedstawicieli innych specjalności i są najbardziej potrzebni w każdym projekcie. Do obowiązków Frontend Developera należy:
  • rozwój nowych funkcjonalności i ulepszanie starych;
  • refaktoryzacja kodu w celu poprawy wydajności, co czasami może bardzo ucierpieć; czytelność, dzięki czemu inni programiści mogą szybko zrozumieć kod i jego logikę; rozszerzalność, dzięki czemu w przyszłości łatwiej będzie wdrożyć nową funkcjonalność poprzez ponowne wykorzystanie części starej;
  • przegląd (przegląd) kodu wysłanego na serwer. Na przykład jeden programista napisał kod, inny go przegląda i może zwrócić go pierwszemu z komentarzami na temat tego, co należy poprawić;
  • komunikacja z klientami i członkami zespołu - zarówno programistami Frontend , jak i Backend ;
  • techniczna realizacja opracowanego przez projektanta układu graficznego UI/UX ;
  • śledzenie wydajności aplikacji;
  • naprawianie błędów (błędów).
Deweloperzy frontendowi to programiści, którzy studiowali układ w HTML , CSS , JavaScript i podjęli naukę konkretnego frameworka, na przykład Angulara lub Reacta. Następnie przyjrzyjmy się konkretnym umiejętnościom, które są niezbędne, aby zostać programistą Frontend i jako przykład weźmy kierunek Angular . Wymagane umiejętności:
  • Poziom języka angielskiego - średniozaawansowany ;
  • Zrozumienie całego procesu tworzenia stron internetowych (projektowanie, tworzenie i wdrażanie);
  • praca z Angularem 5+ ;
  • znajomość JavaScript , TypeScript , RxJS , Sass , webpack ;
  • umiejętności układu ( HTML , CSS );
  • umiejętności pracy z Gitem ;
  • zrozumienie wzorców projektowych;
  • dobra znajomość Linuksa .
Według Dou, w Kijowie średnia pensja początkującego specjalisty o tym profilu wynosi 500 dolarów . Ogólna mediana w Kijowie dla tych specjalistów wynosi 1800-2700 dolarów . Cóż, najwyższe kwoty mogą sięgać nawet prawie 5000 dolarów . Ale musisz zrozumieć, że są to pojedyncze przypadki i wśród wysoko wykwalifikowanych specjalistów. Jeśli lubisz pracować z częścią techniczną, ale tak, aby nie doprowadzała Cię do szaleństwa swoją złożonością, a jednocześnie masz zawód w popularnym kierunku, ta specjalność może Cię zainteresować. Na kogo możesz się wyrosnąć:
  • tech lead – specjalista techniczny (guru) w tej dziedzinie;
  • lider zespołu - lider zespołu rozwojowego (dowódca terenowy). Stąd możesz awansować na kierunek kierowniczy, na przykład CTO ;
  • full-stack developer – programista posiadający zarówno część backendową , jak i frontendową , czyli trzeba nauczyć się backendu ;
  • architekt rozwiązań – specjalista podejmujący decyzje dotyczące architektury urządzenia wewnętrznego i zewnętrznych interfejsów produktu;
  • konsultant techniczny - konsultant techniczny w jakiejś technologii;
  • przekwalifikować się i przejść na inną specjalność.

8. Programista backendowy

Programiści backendowi - tworzą i ulepszają część serwerową odpowiedzialną za logikę biznesową aplikacji, która łączy się z częścią wizualną (interfejsową) aplikacji (np. poprzez REST API ). Połączenie części serwerowej aplikacji ( Backend ) + części wizualnej aplikacji ( Frontend ) tworzy aplikację internetową, z którą wchodzi w interakcję użytkownik końcowy. Kto jest kim w IT.  Czym zajmują się PM, programiści frontendowi i backendowi oraz QA - 4Programiści backendu są odpowiedzialni za tworzenie, utrzymywanie, testowanie i debugowanie całego backendu. Zwykle obejmuje to podstawową logikę aplikacji, interakcję z bazami danych, interakcję z różnymi interfejsami API i inne procesy wewnętrzne. Specjalista o tym profilu oprócz znajomości składni swojego języka i podstawowych frameworków musi posiadać ogólną wiedzę z zakresu baz danych, w szczególności relacyjnych , umieć pisać testy jednostkowe i integracyjne dla swojego kodu, posiadać wiedzę z zakresu konstruktora aplikacji - Maven lub Gradle , potrafisz używać Git - och Obowiązki programisty backendu obejmują:
  • rozwój nowych funkcjonalności;
  • Refaktoryzacja kodu;
  • przeglądanie kodu od innych programistów Backendu ;
  • pisanie dokumentacji pomagającej nowym programistom backendowym ,
  • ci, którzy przyjdą do projektu, szybko zrozumieją logikę aplikacji;
  • naprawianie błędów;
  • pisanie testów (jednostkowe, integracyjne);
  • komunikację z innymi członkami zespołu.
Podobnie jak Frontend , programiści Backendu kierują się różnymi kierunkami, a mianowicie konkretnym językiem programowania. Ale oczywiście jako przykład weźmiemy język programowania Java. Jakie są więc umiejętności niezbędne dla programisty Java:
  • Poziom języka angielskiego - średniozaawansowany ;
  • znajomość Java Core – składni języka Java i zestawu podstawowych technologii;
  • zrozumienie całego procesu tworzenia stron internetowych;
  • znajomość języka SQL ;
  • znajomość relacyjnych baz danych, takich jak PostgreSQL lub MySQL ;
  • umiejętność interakcji z bazą danych poprzez JDBC , Hibernate ;
  • znajomość podstawowych frameworków Spring (Spring Core, Spring Data, Spring Web) ;
  • znajomość Gita , Mavena ;
  • Umiejętności w zakresie testów jednostkowych i integracyjnych, na przykład z wykorzystaniem JUnit i Mockito .
W przypadku programistów Frontend i Backend nie mówiłem nic o wysokich umiejętnościach komunikacyjnych. Wszędzie piszą, że u tych specjalistów ważne są wysokie umiejętności komunikacyjne, ale nie jest to do końca prawdą. Tak, ważna jest odpowiednia komunikacja, ale jest to ważne w każdym kierunku i w każdym innym zawodzie. Ale jeśli porównać to z PMem lub rekruterem, którego cała praca polega na komunikacji, to dla programisty posiadanie super rozwiniętych umiejętności miękkich (umiejętności komunikacyjne) nie jest tak krytycznie ważne. Przecież cały dzień pracują w kodzie i np. raz dziennie uczestniczą w jakimś spotkaniu, na przykład codziennym spotkaniu, na którym mówią dosłownie kilka zdań: co zrobili, co robią, co zrobią. Cóż, czasami dzwonią do swoich kolegów, aby omówić pewne kwestie techniczne. Dlatego zawód ten jest świetny dla introwertyków – osób kochających prywatność. Możesz otrzymać swoje zadanie i pracować nad nim, nie tracąc wielu godzin na niejasne rozmowy i dyskusje. Napisałem też, że wymagany poziom języka angielskiego to Intermediate , bo z jednej strony nie ma zbyt dużej komunikacji z klientem, ale z drugiej strony trzeba umieć czytać/pisać po angielsku (dokumentacja, Jira ) i ewentualnie komunikować się z programistami po stronie klienta. Klienci mogą przymknąć oko na krzywy angielski ze strony programistów: najważniejsze jest to, że są silni w rozwoju. Możliwości rozwoju dla Backendu są takie same jak dla programistów Frontendu:
  • kierownik techniczny ;
  • Zespół ołowiu ;
  • programista full-stack - musisz nauczyć się frontendu ;
  • architekt rozwiązań ;
  • konsultant techniczny ;
  • przekwalifikować się i przejść na inną specjalność.
Zarobki programistów backendowych są bardzo przyjemne. Na przykład początkujący programista Java w Kijowie może otrzymać średnio około 600 dolarów . Średnia pensja tych specjalistów w Kijowie waha się od 1950 do 2850 dolarów . Cóż, dla silnych programistów wyższego szczebla pensja może osiągnąć 5000 dolarów i więcej. Musisz jednak zrozumieć, że można to osiągnąć, mając za sobą ogromne doświadczenie i najwyższy poziom umiejętności. W szkole zawsze byłem dobry z matematyki i fizyki, ponieważ dawali mi cegły w postaci wzorów i aby rozwiązać niektóre problemy, musiałem z tych cegieł zbudować logiczną strukturę. Dlatego lubię rozwój - zasada ta sama, tylko że klocków logicznych jest o wiele więcej, a konstrukcje trzeba budować bardziej złożone. Jeśli nie szukasz łatwych dróg i chcesz prawdziwych wyzwań, to śmiało wybierz ten kierunek.

9. Podręcznik kontroli jakości

Manual Quality Assurance to specjalista zajmujący się zapewnieniem jakości produktu, którego celem jest doskonalenie samego procesu tworzenia aplikacji, analiza dokumentacji i na jej podstawie identyfikacja błędów i nieścisłości w działaniu produktu. Kto jest kim w IT.  Czym zajmują się PM, programiści frontendowi i backendowi oraz QA - 5Zazwyczaj zapewnienie jakości, o którym mowa w Podręczniku zapewniania jakości , obejmuje:
  • przeprowadzanie ocen ryzyka;
  • analiza specyfikacji i wymagań;
  • generowanie pomysłów na poprawę jakości produktu;
  • sporządzanie planów testów;
  • analiza i dokumentacja uzyskanych wyników badań.
W tej chwili testowanie idzie ramię w ramię z rozwojem oprogramowania i odgrywa ważną rolę w tworzeniu każdego produktu IT wysokiej jakości. I to prawda, bo oprócz poprawnie napisanej funkcjonalności musimy mieć pewność, że działa ona poprawnie i nie zawiera ponad 100 500 błędów. Tutaj na ratunek przychodzą testy, które służą jako swego rodzaju kontrola jakości, dzięki której może przejść je tylko produkt maksymalnie dopracowany i dopracowany. Obowiązki Podręcznika zapewniania jakości obejmują:
  • badanie wymagań, specyfikacji i innej dokumentacji;
  • przeglądanie i sprawdzanie systemu i jego parametrów technicznych pod kątem zgodności ze specyfikacją (listą wymagań);
  • opracowywanie skutecznych strategii i planów testów;
  • pisanie skryptów testowych (przypadków testowych), na podstawie których QA Automation tworzy testy automatyczne;
  • ręczne wykonanie przypadków testowych, analiza wyników;
  • w przypadku niepowodzeń lub niespójności podczas testowania należy sporządzić raport, utworzyć zadania (utworzyć błędy) i wysłać je programistom w celu poprawy;
  • testy regresyjne produktu;
  • dokumentowanie etapów testów;
  • komunikacja z zespołami programistycznymi w sprawie niespójności funkcjonalnych i błędów.
Umiejętności niezbędne, aby zostać Podręcznikiem Jakości :
  • Poziom języka angielskiego - średniozaawansowany ;
  • dobre zrozumienie metodologii i praktyk zapewniania jakości aplikacji;
  • znajomość testów regresyjnych;
  • umiejętność dokumentowania błędów;
  • umiejętności szczegółowego przeglądu wymagań oprogramowania;
  • podstawowa orientacja techniczna;
  • zrozumienie JSON , XML ;
  • podstawowa znajomość SQL ;
  • umiejętność pracy z narzędziami do porządkowania dokumentacji testowej np. Testrail ;
  • Dbałość o szczegóły;
  • krytyczne nastawienie.
Bezpośrednią szansą na rozwój takiego specjalisty jest QA Automation . Aby to zrobić, musisz się trochę nauczyć. Możesz także wyrosnąć na :
  • Lider QA - lider QA w zespole;
  • przekwalifikuj się i przejdź na inną specjalizację, np. zostań programistą frontendowym lub backendowym .
W Kijowie średnia pensja nowicjusza w QA Manual wynosi 400 dolarów . Cóż, przeciętne zarobki tych specjalistów wahają się w granicach 1250-1650 dolarów . W przypadku najbardziej doświadczonych starszych specjalistów pensje mogą sięgać 3000 dolarów i więcej. To jeden z najłatwiejszych sposobów na „wejście w IT”: możesz zacząć od tej specjalności, a następnie przejść do czegoś bardziej złożonego lub osiągnąć wyżyny mistrzostwa w tej dziedzinie.

10. Automatyzacja kontroli jakości

QA Automation jest specjalistą ds. jakości produktów, który wykorzystuje różne narzędzia programowe do tworzenia testów w oparciu o skrypty napisane osobiście lub przez QA Manual . QA Automation to coś w rodzaju następnego poziomu po QA Manual . Jeśli QA Manual robi wszystko ręcznie, to QA Automation używa jakiegoś języka programowania do pisania testów sprawdzających poprawność działania funkcjonalności aplikacji. Testy te są zazwyczaj uruchamiane automatycznie pod pewnymi warunkami: podczas tworzenia aplikacji, codziennie o określonej porze itd. Kto jest kim w IT.  Czym zajmują się PM, programiści frontendowi i backendowi oraz QA - 6Zazwyczaj obowiązki AQA obejmują :
  • badanie wymagań, specyfikacji i innej dokumentacji;
  • tworzenie i konfigurowanie środowisk testowych do wykonywania przypadków testowych i skryptów;
  • projektowanie, tworzenie i wykonywanie automatyzacji przypadków testowych (planów testów) z wykorzystaniem Selenium zgodnie z określonymi standardami i metodykami zapewnienia jakości;
  • studiowanie testów ręcznych aplikacji i zgłaszanie sugestii dotyczących możliwości automatyzacji;
  • utrzymywanie aktualnych przypadków testów automatycznych;
  • pisanie dokumentacji;
  • utrzymanie wymaganego poziomu pokrycia testami;
  • w razie potrzeby pomóż w testowaniu ręcznym. Potrafi ręcznie wykonywać przypadki testowe i skrypty dla opracowywanych produktów, korzystając z narzędzi do zarządzania testami;
  • udział w rozwoju, czyli w administrowaniu procesem kontroli jakości;
  • komunikacja z zespołami programistycznymi w sprawie niespójności funkcjonalnych i błędów.
Główną „sztuczką” testów automatycznych jest to, że testy automatyczne pozwalają testować oprogramowanie znacznie szybciej i częściej, a co za tym idzie, przyspieszają dostarczanie produktu. Po pierwsze, dobrze wykonana automatyzacja testów umożliwi szybkie i przewidywalne przeprowadzenie testów. To z kolei pozwoli uniknąć sytuacji, w których osoba wykonująca kroki ręcznie mogłaby pominąć krok lub wprowadzić wartość nieprzeznaczoną do testowania. Po drugie, możesz włączyć testy automatyczne do procesu kompilacji i uruchamiać je po każdym zakończeniu kompilacji. Można to zrobić za pomocą narzędzia CI . Po trzecie, gdy programiści zmienią jakąś funkcjonalność aplikacji, może to wpłynąć na zupełnie inną część systemu i zmienić także jego zachowanie. Kiedy jednak przeprowadzimy testy automatyczne, zmiany w zachowaniu dowolnej części systemu będą od razu widoczne – to dodatkowe zabezpieczenie na wypadek, gdybyśmy poprzez naprawienie jednego błędu stworzyli trzy nowe. Wymagane umiejętności:
  • Poziom języka angielskiego - średniozaawansowany ;
  • dobre zrozumienie metodologii i praktyk zapewniania jakości;
  • doskonała znajomość składni jednego języka (na przykład Java lub JavaScript ), bo testy trzeba w czymś pisać;
  • pisanie testów automatycznych przy użyciu Selenium ;
  • znajomość CI/CD ;
  • umiejętność pracy z Gitem ;
  • Dbałość o szczegóły;
  • krytyczne nastawienie.
Bezpośrednią szansą rozwoju dla AQA jest rozwój w kierunku programisty języka programowania, w którym już piszesz testy. Możesz także zostać:
  • Kierownik ds. kontroli jakości ;
  • przekwalifikować się i przejść na inną specjalność.
Średnia pensja początkującego QA Automation w Kijowie wynosi 600 dolarów . Średnia dla tego obszaru wynosi 1700-2500 dolarów , a dla specjalistów wyższego szczebla wynagrodzenia mogą sięgać 4000 dolarów i więcej. Jeśli masz krytyczny umysł, chcesz pisać kod, ale nie masz „wyzwań”, które czasami działają Ci na nerwy i chcesz bardziej zrelaksowanej pracy, powinieneś dowiedzieć się więcej o tym zawodzie. Na wszystkich kierunkach jako wymaganą umiejętność Kto jest kim w IT.  Czym zajmują się PM, programiści frontendowi i backendowi oraz QA - 7wymieniłem język angielski . Ale jeśli nie radzisz sobie zbyt dobrze, nie rozpaczaj. To nie jest zdanie. Istnieje sporo różnych rosyjskich i ukraińskich firm produktowych, które rekrutują specjalistów bez wymaganej znajomości języka angielskiego, ponieważ ludzie nie będą musieli komunikować się z zagranicznymi klientami (klientami), ale tylko w zespole. Może to być na przykład dział IT banku lub operatora telekomunikacyjnego. Dzięki temu możesz znaleźć pracę bez znajomości języka, jeśli masz na to ochotę. A dzisiaj to wszystko dla mnie...Kto jest kim w IT.  Czym zajmują się PM, programiści frontendowi i backendowi oraz QA - 8
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION