Przeczytaj
Czy rozpoczynać przygodę z IT?
Przed podjęciem decyzji o pracy w branży informatycznej warto zadać sobie pytanie: Czym kierujemy się, wybierając właśnie tę ścieżkę?
Dla wielu ważnym argumentem przy planowaniu drogi życiowej są perspektywy rozwoju i możliwości finansowe. Decydując się na pracę w IT, jak i w każdej innej branży, nie powinniśmy traktować jej tylko jako źródła dochodów, gdyż szybko może się okazać, że wyjście do pracy jest dla nas złem koniecznym. Jednym z najważniejszych czynników wyboru przyszłego zajęcia powinna być pasja.
Informatyka jest rozległą i szybko rozwijającą się dziedziną nauki. Zajmując się nią, trzeba stale się uczyć i poszukiwać informacji. Dobrze, jeśli sprawia nam to przyjemność, zaspokaja ciekawość i daje poczucie, że zyskujemy w ten sposób narzędzia służące rozwiązywaniu realnych problemów.
Takie podejście gwarantuje, że nauka, np. języków programowania, przyjdzie nam łatwiej, ponadto zapewni, że nie ograniczymy się do operowania wyuczonymi schematami. Jako informatycy z pasją będziemy rozwiązywać problemy w sposób świadomy i twórczy, a efekty takiej pracy będą dawać nam satysfakcję.
Czy studia informatyczne są niezbędne do pracy w IT?
Odpowiedź brzmi: to zależy. Główną zaletą studiów informatycznych jest zdobycie uporządkowanej wiedzy poświadczone dyplomem uczelni wyższej. Potencjalni pracodawcy zwracają na to uwagę, zwłaszcza gdy dyplom pochodzi z renomowanej uczelni.
Odrębnym zagadnieniem są rzeczywiste umiejętności. Samo ukończenie wyższej uczelni nie gwarantuje posiadania wiedzy niezbędnej do pracy. Kluczowe znaczenie ma tu podejście do nauki, i tu po raz kolejny pasja daje nam przewagę. Warto przyłożyć się do obowiązków studenta i traktować je jako szansę na rozwój. Choć niestety zdarza się i tak, że samo zaangażowanie nie wystarczy, gdyż program zajęć na studiach informatycznych jest realizowany w sposób pobieżny, a omawiane technologie są przestarzałe.
Najlepszym rozwiązaniem wydaje się zatem jednoczesne studiowanie i pogłębianie wiedzy w domu, a także uczestniczenie w kursach doszkalających.
Podsumowując, warto podkreślić, że dla przyszłego pracodawcy ważniejsze niż sposób zdobycia wiedzy, będzie to, czy potrafimy ją wykorzystać.
Jeśli zdecydujemy się starać o pracę w branży IT, powinniśmy przygotować własne portfolio. Warto przechowywać je w jednym z serwisów hostingowych (takich jak GitHubGitHub). W portfolio przedstawiamy nasze najważniejsze, najlepsze projekty. Trzeba je aktualizować i uzupełniać.
Kogo szukają pracodawcy?
Na rynku IT najwyżej cenione są osoby mające doświadczenie zawodowe. Zapotrzebowanie to wynika głównie ze specyfiki pracy w korporacjach. Wiąże się ona z nieustanną presją czasu, napiętymi terminami, a także brakami kadrowymi. Pracodawcy szukają zatem kogoś, kto z jednej strony od razu będzie w stanie podjąć obowiązki służbowe w zespole, a z drugiej nie nadwyręży funduszy firmy.
Dlatego najbardziej poszukiwanym typem pracownika jest tzw. mid developerdeveloper. Ma on już pewne doświadczenie zawodowe, w odróżnieniu od junior developera, czyli osoby która nigdy nie pracowała w branży. Pracodawca może określić poziom umiejętności mid developera, biorąc pod uwagę stanowiska zajmowane przez niego wcześniej.
CV – ilość czy jakość?
Zawarte w CV informacje na temat wykształcenia oraz doświadczenia zawodowego pozwalają pracodawcy dokonać wstępnego wyboru kandydatów. Szanse na zaproszenie na rozmowę rekrutacyjną zwiększają się wraz ze wzrostem doświadczenia zawodowego.
Warto zwrócić uwagę na jakość przygotowanego dokumentu. Najważniejsza oczywiście jest warstwa merytoryczna, jednak nie możemy zaniedbać kwestii estetycznych – CV powinno być przejrzyste i uporządkowane.
W jaki sposób zdobyć pierwsze doświadczenie w IT?
Przede wszystkim powinniśmy być świadomi, że znalezienie pierwszej pracy może zająć trochę czasu. Potencjalnemu pracodawcy warto przedstawić się jako osoba ambitna, skłonna do stałego rozwoju, a także potrafiąca pracować w zespole. Są to cechy cenione u junior developera. Na takim stanowisku masz szansę zdobyć nowe umiejętności, dzięki stałemu kontaktowi z bardziej doświadczonymi kolegami z branży.
Specjalizacje i kierunki kształcenia
Programista
Programistą nazywamy osobę specjalizującą się w pisaniu programów komputerowych. Wśród umiejętności oczekiwanych od niego wymienia się m.in. znajomość (najlepiej kilku) języków programowania.
Sam termin „programista” jest bardzo obszerny. W zależności od specjalizacji kształcenia możemy wyróżnić m.in.:
programistów aplikacji, którzy zajmują się tworzeniem aplikacji komputerowych realizujących określone zadanie, np. wspomaganie zarządzania przedsiębiorstwem,
programistów systemowych rozwijających aplikacje oraz systemy nadzorujące pracę sprzętu komputerowego,
programistów sieciowych specjalizujących się w tworzeniu aplikacji działających online.
Wśród najpopularniejszych języków programowania, które programista powinien opanować, wymienia się natomiast:
język Python – określany mianem najlepszego języka dla początkujących (ze względu na przejrzystą i jasną składnię),
język Java – wykorzystywany do budowy aplikacji,
język JavaScript – używany najczęściej przez autorów stron internetowych.
Programista musi opanować również język obcy (najlepiej angielski). Codziennością w branży IT są bowiem międzynarodowe projekty; zdarza się ponadto, że część zespołu jest obcojęzyczna.
Dodatkowym atutem będą tzw. umiejętności miękkie, takie jak umiejętność pracy w zespole i pod presją czasu albo odporność na stres.
Back‑end developer
Back‑end developer to również programista – specjalizuje się on jednak w programowaniu zaplecza strony lub aplikacji. Praca taka polega głównie na tworzeniu interfejsu programowania aplikacji (API) oraz komunikacji z bazami danych.
Wśród języków, które back‑end developer powinien znać, wymienia się głównie: C/C++, SQL, Python oraz Java. W szczególności języki Java oraz C++ postrzegane są jako jedne z najlepszych narzędzi do programowania back‑endu strony.
Front‑end developer
Front‑end developer jest z kolei osobą, która odpowiada za „widzialną” część strony lub aplikacji. Na front‑end developerze spoczywa zadanie zaprojektowania ostatecznego wyglądu interfejsu strony WWW, a także jego funkcjonalności (w szczególności na urządzeniach mobilnych).
Od front‑end developera wymagane są również inne umiejętności. Wśród najważniejszych wymienia się znajomość trzech języków:
HTML – opisującego zadania i znaczenie wszystkich elementów strony,
CSS – odpowiadającego za wygląd strony,
JavaScript – który jest odpowiedzialny za funkcjonalność strony.
Niezbędna jest w tym wypadku również znajomość tzw. frameworków, czyli szkieletów aplikacji, które definiują jej strukturę oraz mechanizm działania.
Rozróżnienie specjalistów w dziedzinie front‑endu oraz back‑endu wynika głównie z logistycznego podejścia do projektów, w które zaangażowane są duże zespoły pracowników.
Niekiedy jednak możemy się spotkać z sytuacją, w której za realizację wszystkich zadań odpowiedzialna jest jedna osoba.
Informatyczny „człowiek‑orkiestra”, czyli full‑stack developer, specjalizuje się nie tylko w obu dziedzinach projektowania strony lub aplikacji, ale potrafi m.in. samodzielnie stworzyć bazę danych lub administrować serwerem.
Wszechstronność takiego pracownika sprawia, że jest on szczególnie pożądany przez zleceniodawców.
Jednym z najchętniej wybieranych języków przez full‑stack developerów jest Python, głównie z uwagi na jego uniwersalne zastosowanie oraz prostotę składni.
Project manager
Project manager to osoba odpowiedzialna za realizację projektu. Wśród jej zadań wymieniane są m.in. odpowiednie przygotowanie zespołu oraz podzielenie go na sekcje (np. back‑end oraz front‑end), rozplanowanie celów projektu, a także dbałość o realizację założeń w terminie.
Jest to praca niezmiernie stresująca oraz wymagająca nie tylko kompetencji w sprawach związanych z poszczególnymi gałęziami projektu, ale i odporności psychicznej oraz zmysłu analitycznego. To project manager jest rozliczany za realizację zadań w terminie, a na jego barkach spoczywa odpowiedzialność za cały przebieg projektu.
Administrator
Głównym zadaniem administratora jest zapewnienie prawidłowego funkcjonowania systemów informatycznych. Odpowiada on za bezpieczeństwo sieci, usuwa awarie, a także aktualizuje oprogramowanie systemowe.
Praca ta wymaga ponadto nieustannego utrzymywania kontaktów typu administrator–klient (użytkownik), ponieważ najczęściej w ten sposób wykrywane są problemy w działaniu obsługiwanego systemu.
Do umiejętności wymaganych od administratora należą:
znajomość zasad projektowania sieci,
znajomość zagadnień LAN/WAN,
umiejętność tworzenia skryptów.
Administrator musi być stale przygotowany do natychmiastowego pełnienia obowiązków – każda minuta zwłoki w usuwaniu problemów technicznych może skutkować wysokimi stratami dla firmy oraz nadszarpnięciem jej wizerunku.
Słownik
zaplecze strony WWW lub aplikacji, odpowiadające za jej prawidłowe funkcjonowanie
słowo to najczęściej jest używane jako synonim programisty; w Scrum developerami nazywa się wszystkie osoby wykonujące pracę przyczyniającą się do przyrostu produktu – także testerów, analityków biznesowych, grafików
widziana przez użytkownika część strony WWW lub aplikacji; interfejs użytkownika