Otwórz sobie drzwi do kariery programisty     |        Wybierz swoją ścieżkę kariery w IT!     |       Zacznij naukę z 30% rabatem

3 dni 19 godzin
close
Cart icon
User menu icon
User icon
Skontaktuj się z nami:
+48 888-916-333
Lightbulb icon
Jak to działa?
FAQ icon
FAQ
Contact icon
Kontakt
Terms of service icon
Regulamin zakupów
Privacy policy icon
Polityka prywatności
Zdjęcie główne artykułu.

Podstawowe pojęcia związane z IT

Świat IT jest pełen skrótów i słów, które dla początkującej osoby mogą brzmieć obco. Ale nie ma nic, czego by się nie dało wyjaśnić w kilku prostych słowach. Spróbujmy więc przyjrzeć się najważniejszym pojęciom.

Szeroki temat

Branża IT często się kojarzy z programowaniem ale to błędne wrażenie. Programowanie jest tylko jednym z wielu zawodów oferowanych przez tą niezwykle dynamiczną dziedzinę. Oprócz programowania mamy przecież projektowanie wizualne, marketing, zarządzanie projektami, testowanie itp.

Programowanie

Zacznijmy więc od tego programowania - w końcu tu jest zazwyczaj najlepszy “pieniądz” w IT.

Przyjęło się, że programistów nazywamy Developerami. Stąd takie tytuły w ogłoszeniach o pracę jak ‘Java Developer’ albo ‘C# Developer’.

Junior Developer (w skrócie: Junior) - to początkujący programista, który dopiero zaczyna swoja zawodową karierę. Zazwyczaj brakuje mu doświadczenia. To normalne bo każdy musi kiedyś zacząć.

Mid Developer - programista, który nabrał już doświadczenia. Potrafi samodzielnie i rzetelnie wykonywać powierzone zadania.

Senior Developer - programista doświadczony, który nie tylko rzetelnie wykonuje powierzone zadania ale również posiada wiele innych ważnych umiejętności. Często takie osoby odpowiadają za wdrażanie młodszych developerów do pracy. Często też podejmują ważne decyzje dotyczące dalszego rozwoju projektu, zajmują się doradzaniem itp. Na osiągnięcie tego etapu potrzeba co najmniej kilku lat pracy. Trzeba też włożyć wiele wysiłku w rozwój umiejętności.

Tak więc w skrócie wygląda ścieżka kariery - Junior -> Mid -> Senior.

W praktyce wiele zależy od firmy albo branży w jakiej pracujemy. Czasem zupełnie pomija się etap Mid Developer. A czasem pojawiają się też dodatkowe etapy kariery. Różne warianty są możliwe i nie ma tu ścisłych reguł.

Testowanie aplikacji

Testowanie aplikacji (eng. Software Testing) to prawdziwy hit w ostatnich latach. Zarobki są równie dobre a czasem nawet lepsze niż w przypadku programistów. Testy są bardzo ważne. Trzeba sprawdzić czy aplikacja rozwijana przez Developerów/programistów działa zgodnie z oczekiwaniami.

W dużym uproszczeniu takie testy możemy podzielić na dwie główne grupy.

Testy manualne - takie testy wykonuje się ręcznie. Jeśli na przykład trzeba przetestować logowanie to po prostu logujemy się do aplikacji i sprawdzamy czy wszystko działa. Kluczowe jest to że wszystko ręcznie klikamy, uruchamiany. wpisujemy itp.

Testy automatyczne - takie testy są wykonywane przez skrypt albo program. Działa to tak, że piszemy jakiś skrypt, który np. będzie się automatycznie logował do aplikacji. Następnie uruchamiamy go i sprawdzamy czy wszystko zadziałało zgodnie z oczekiwaniami.

Praca testera automatycznego polega bardziej na pisaniu skryptów oraz programów testujących określone scenariusze, niż na ręcznym testowaniu. Można więc wysnuć wniosek, że do takiej pracy potrzebna jest zazwyczaj umiejętność programowania. Przynajmniej w podstawowym stopniu.

UX oraz UI

Te dwa skróty często są używane zamiennie choć w rzeczywistości są pomiędzy nimi różnice.

UI - to projektowanie wizualne. Czyli dobór kolorów, rozmieszczanie elementów, dobór kroju tekstu itp. Wszystko, co składa się na wizualny aspekt danej aplikacji.

UX - to projektowanie “wrażeń oraz emocji” jakie doświadcza osoba korzystająca z aplikacji czy strony internetowej. Wyobraź sobie, że uruchamiasz aplikację po raz pierwszy. To co widzisz to UI, a to czujesz podczas korzystania z niej to UX.

Na czym więc skupia się projektant UX?

  • Czy wszystkie funkcje aplikacji są łatwo dostępne?
  • Czy z aplikacji korzysta się wygodnie oraz intuicyjnie?
  • Czy użytkownik jest w stanie osiągnąć założone cele za pomocą aplikacji?
  • Czy aplikacja robi dobre wrażenie?
  • Czy użytkownik będzie chciał do niej powrócić?

To tylko przykładowe problemy, przed którymi staje projektant UX. Warto zwrócić uwagę na to, że projektowanie UI oraz UX dość ściśle się ze sobą wiążą. Jedno jest w pewnym stopniu zależne od drugiego. Wiele firm nawet nie rozróżnia tych dwóch stanowisk i wrzuca obydwie dziedziny do jednego stanowiska UX/UI Designer.

Front-End oraz Back-End

Są dwie główne dziedziny w jakich na co dzień pracują programiści.

Front-End - oprogramowanie działające w przeglądarce. To jest ta część aplikacji, którą widzimy jako klient. To jest ta część, z którą bezpośrednio wchodzimy w interakcje. Te wszystkie przyciski, interfejsy użytkownika itp.

Back-End - to jest część aplikacji działająca na serwerze. Obejmuje wszystkie kluczowe funkcjonalności, do których jako klient nie mamy do nich bezpośrednio dostępu. Nie musimy mieć, bo interakcje wykonujemy na froncie, który komunikuje się z backendem i zwraca nam wynik. Back-End jest więc “zapleczem” aplikacji.

Często developerzy specjalizują się we front-endzie albo back-endzie. Jest to rzecz naturalna bo każda z tych dziedzin wymaga znajomości odmiennych technologii.

Full-Stack - zdarza się, że trzeba pracować jednocześnie na front-endzie oraz back-endzie. To wbrew pozorom dość częsty przypadek. Wystarczy spojrzeć na ogłoszenia o pracę: jest dużo takich, które w tytule mają Full-Stack Developer. Takie stanowisko jest wymagające bo zmusza do posiadania szerokiej wiedzy obejmującej zarówno technologie przeglądarkowe jak i serwerowe.

Dev-Ops

Dev-Ops to relatywnie nowy termin ale zdążył już zdobyć olbrzymią popularność. Powstał z połączenia słów Development (czyli wytwarzanie oprogramowania) oraz Operations (czyli operacje). W praktyce oznacza ono wszelkie procesy, które umożliwiają sprawne tworzenie oraz wdrażanie oprogramowania. Czym więc zajmuje się osoba na tym stanowisku?

  • Utrzymuje niezbędnę infrastrukturę (serwery itp.).
  • Dba o to aby wszelkie procesy niezbędne do produkcji oprogramowania przebiegały sprawnie
  • Czy użytkownik jest w stanie osiągnąć założone cele za pomocą aplikacji?
  • Automatyzuje pracochłonne czynności dzięki czemu wszyscy mogą pracować wydajniej.
  • Dba o właściwą komunikację pomiędzy działem infrastruktury a działem odpowiadającym za pisanie oprogramowania.

To ciekawe i bardzo rozwojowe stanowisko, które łączy umiejętności z różnych dziedzin.

Metodyki

W świecie IT mamy też tzw. metodyki czyli zbiór zasad ułatwiających tworzenie produktów cyfrowych.

Agile - to zbiór dobrych praktyk ułatwiających sprawne tworzenie produktu. Agile to szeroki termin, który w praktyce obejmuje cały zestaw dobrych praktyk oraz rozwiązań. Główna idea polega na tym aby wytwarzać oprogramowanie w małych krokach ale regularnie.

Scrum - jedna z praktyk wchodząca w skład Agile. Jej zadaniem jest odpowiednie zorganizowanie pracy zespołu. To praktyka, która ma po prostu umożliwić sprawną, nieprzerwaną pracę nad projektem. Obejmuje ona system przydzielania zadań, system śledzenia postępów itp.

Wymagania współczesnego rynku zmuszają nas do ciągłego rozwijania produktów cyfrowych. Każdy chce działać szybko, każdy chce być o krok do przodu przed konkurencją. Stąd właśnie olbrzymia popularność metodyk, które mają umożliwić szybką, sprawną i nieprzerwaną pracę nad projektami.