Ścieżki kariery w branży IT

By 11 August 2014 August 24th, 2015 Kulisy branży, Ludzie IT, Praca

Branża IT to nie tylko pro­gramiś­ci — aby pro­jekt mógł zostać zre­al­i­zowany z sukce­sem potrze­ba wielu ludzi o różnych kom­pe­tenc­jach. Ten post ma na celu przed­staw­ić w kilku słowach poszczególne role — być może któraś z nich wyda Ci się bardziej intere­su­ją­ca niż pro­gramowanie. A jeśli nie, warto wiedzieć do kogo zwró­cić się z jakim problemem.

Wpis ten traktuj jako wstęp do serii wywiadów #KulisyBranżyIT, w których zbieramy historie ludzi z branży.

Analityk biznesowy

Anal­i­tyk biz­ne­sowy zaj­mu­je się ‘tłu­macze­niem’ wyma­gań klien­ta na język tech­niczny, tj. na specy­fikację. Do jego obow­iązków należy dban­ie o to, aby doku­men­tac­ja odzwier­cied­lała stan fak­ty­czny i była spójna.

Anal­i­tyk najczęś­ciej rozwiązu­je dwa rodza­je prob­lemów — wyjaś­nia i dopre­cy­zowu­je pewne sfor­mułowa­nia czy kwest­ie z doku­men­tacji oraz reagu­je i wprowadza zmi­any, gdy zmieni­a­ją sie wyma­gania, har­mono­gram czy priorytety.

Anal­i­tykiem biz­ne­sowym najłatwiej zostać poprzez zmi­anę roli z pro­gramisty w kierunku anal­i­ty­ka, nato­mi­ast moż­na też samodziel­nie się tego nauczyć. Kluc­zowy­mi kom­pe­tenc­ja­mi anal­i­ty­ka biz­ne­sowego są kom­pe­tenc­je miękkie (konieczne do współpra­cy z klien­tem), oby­cie z doku­men­tacją tech­niczną, bard­zo dobra zna­jo­mość for­mal­nych języków zapisu doku­men­tacji (np. UML, BPML). Bard­zo pomoc­ne jest, gdy anal­i­tyk zna co najm­niej w stop­niu dobrym tech­nologię z którą pracu­je firma.

Programista / developer

Pro­gramista w dużym uproszcze­niu pisze aplikac­je na pod­staw­ie doku­men­tacji. Obow­iąz­ki na tym stanowisku są jed­nak szer­sze, opisal­iśmy je bliżej w osob­nym artykule.

Przeczy­taj więcej o roli pro­gramisty, czym się zaj­mu­je i co musi wiedzieć.

W pra­cy pro­gramisty najważniejsza jest zna­jo­mość tech­nologii oraz doświad­cze­nie w projektach.

Jak wyglą­da pra­ca pro­gramisty w prak­tyce? O tym opowiedzieli nam Dio­go, Tomek, Kuba, Ania.

Architekt

Architekt to rola ściśle tech­nicz­na, jest on odpowiedzial­ny za tworze­nie architek­tu­ry (nie ma jed­nej, zwięzłej definicji czym jest architek­tu­ra — na tą chwilę przyjmi­jmy bard­zo uproszc­zoną i nie do koń­ca prawdzi­wą definicję, że architek­tu­ra to zbiór zasad i reguł, wg których twor­zone jest opro­gramown­ie i wg których różne aplikac­je (lub różne mod­uły tej samej aplikacji) komu­niku­ją się ze sobą) i wdrażanie jej w real­i­zowanych pro­jek­tach. Najczęś­ciej nad­zoru­je pro­jek­towanie opro­gramowa­nia lub sam uczest­niczy w tym procesie.

Oso­ba na tym stanowisku musi być ekspertem nie tylko w danej tech­nologii, powin­na mieć także świado­mość aleter­natyw oraz znać ich wady i zale­ty. For­malne języ­ki opisu (UML, BPML) są abso­lut­ną pod­stawą. Istot­na jest także zna­jo­mość metodyk tworzenia i rozwi­ja­nia architek­tu­ry (np. TOGAF czy z prost­szych SAF, Siat­ka Zach­mana). Architekt jest też men­torem dla resz­ty zespołu, dlat­ego zdol­noś­ci inter­per­son­alne nie są bez znaczenia. Odpowia­da za rozwiazy­wanie prob­lemów tech­no­log­icznych, prewidy­wanie ich i elim­i­nowanie zan­im się zmaterializują.

Project manager

Najm­niej ‘tech­nicz­na’ z wymienionych ról, niem­niej bard­zo waż­na w pro­jek­cie. Project Man­ag­er dba o to, żeby ter­miny zostały dotrzy­mane, budżet nie został przekroc­zony a plan wyko­nany. Reagu­je na sytu­acje wyjątkowe (np. znaczne uszczu­ple­nie zasobów ludz­kich, zmi­ana zakre­su pro­jek­tu, prob­le­my z real­iza­cją planu itp). Bezpośred­nio odpowia­da za sukces lub porażkę pro­jek­tu. Stanowisko to jest bard­zo odpowiedzialne i stre­su­jące, częs­to wyma­ga poświę­ca­nia dodakowego czasu.

Stanowisko to stricte nie wyma­ga eksper­ck­iej wiedzy tech­nicznej, jed­nak jest ona przy­dat­na aby roz­maw­iać z inny­mi członka­mi zespołu czy wery­fikować efek­ty ich pra­cy. Niezwyk­le ważne są tutaj umiejęt­noś­ci miękkie, zdol­noś­ci przy­wód­cze oraz zna­jo­mość metodyk zarządza­nia pro­jek­ta­mi które porząd­ku­ją cały pro­ces i narzu­ca­ją pewne ramy na określone role. Oso­ba na tym stanowisku musi być dobrym słuchaczem i być w stanie zwięźle przekazy­wać istotne infor­ma­c­je do przełożonych.

O pra­cy PM opowiedzi­ała nam Karoli­na, przeczy­taj wywiad z serii #kulisy­Branży­IT.

Webmaster / Frontend developer / programista frontend

Pro­gramista fron­tend zaj­mu­je się ‘widoczną’ częś­cią aplikacji, czyli tym co użytkown­ik koń­cowy widzi jako np. stronę inter­ne­tową. Kom­pe­tenc­je tech­niczne w danej tech­nologii są mniej kluc­zowe, waż­na jest zna­jo­mość bieżą­cych trendów w zakre­sie UX/UI (usabil­i­ty i pro­jek­towanie inter­fe­jsów), przy­dat­ny jest zmysł este­ty­czny (choć nie wymagany).

Do obow­iązków oso­by na tym stanowisku należy łacze­nie tego, co zwraca kod twor­zony przez pro­gramistów (np. obiek­ty, listy, jakieś dane) z inter­fe­jsem użytkown­i­ka i spraw­ie­nie, że kliknię­cie np. w przy­cisk na stron­ie inter­ne­towej wywoła odpowied­nią akcję.

Ponieważ więk­szość aplikacji twor­zonych obec­nie ma inter­fe­js w postaci strony inter­ne­towej (tzw. aplikac­je webowe), najczęś­ciej na tym stanowisku pożą­dana jest zna­jo­mość tech­nologii HTML5, JavaScript (oraz bib­liotek, np. jQuery, YUI), Angular.JS itp.

Jak taka pra­ca wyglą­da w prak­tyce? O tym opowiedzi­ała nam Karolina.

Tester

Tester to dru­ga z ról, która nie wyma­ga ścisłej wiedzy eksper­ck­iej związanej z tech­nologią w której dzi­ała aplikac­ja. Zadaniem testera jest upewnie­nie się, że aplikac­ja dzi­ała zgod­nie z założe­ni­a­mi i doku­men­tacją, że real­izu­je cele nakreślone przez klien­ta oraz że jest praw­idłowo zabez­piec­zona przed niewłaś­ci­wym uży­ciem (np. wpisaniem liter w polu, w którym powin­na być licz­ba itp). Częs­to testerzy odpowiedzial­ni są także za tworze­nie automaty­cznych sce­nar­iuszy testowych umożli­wia­ją­cych szy­bkie sprawdze­nie wielu przypadków.

Tester powinien sprawnie posługi­wac się kom­put­erem, dobrze, jes­li zna i potrafi korzys­tać z narzędzi do wspier­a­ją­cych testy (Sele­ni­um, Soa­pUI, Fit­nesse itp). Powinien mieć przy­na­jm­niej pod­sta­wowe oby­cie z aplikac­ja­mi webowy­mi, aby móc pre­cyzyjnie opisy­wać znalezione prob­le­my (uży­wa­jąc właś­ci­wej ter­mi­nologii i poda­jąc wystar­cza­jącą ilość szczegółów i detali).

Przeczy­taj co o pra­cy testera opowiedzi­ała nam Alicja.

CTO / CIO

Oba stanowiska są rola­mi menedżer­ski­mi, stanowisko to jest osią­galne właś­ci­wie tylko poprzez awans z roli Architek­ta / Project Man­agera / Anal­i­ty­ka biz­ne­sowego lub poprzez prze­jś­cie z innej firmy. Stanowiska te łączą aspek­ty tech­niczne i biz­ne­sowe, przy czym zakres obow­iązków i istot­ność każdego ze stanowisk zależą od pro­filu konkret­nej firmy.

CTO jest rolą bardziej tech­niczną — oso­ba na tym stanowisku decy­du­je o tym, jakie tech­nolo­gie będą uży­wane i rozwi­jane w orga­ni­za­cji, wybiera dostaw­ców sprzę­tu i rozwiązań ‘niskopoziomowych’ (infra­struk­tu­ral­nych, plat­formy itp). Rola ta zysku­je na znacze­niu, gdy orga­ni­za­c­ja dostar­cza tech­nolo­gie (np. firmy dostar­cza­jące opro­gramowanie na zamówie­nie), a ma mniejsze znacze­nie w przy­pad­ku firm świad­czą­cych usługi.

CIO jest rolą ściślej biz­ne­sową — oso­by na tym stanowisku odpowiada­ją za to, co się dzieje z infor­ma­c­ja­mi w fir­mie, tzn. w jaki sposób sa one przetwarzane, prze­chowywane, zabez­pieczane itp. Decy­du­ją np. o wyborze konkret­nego opro­gramowa­nia uży­wanego w orga­ni­za­cji, zarządza roz­wo­jem wewnętrznego opro­gramowa­nia itp.

Powyższy podzi­ał jest raczej umowny i bard­zo zależny od konkrentej orga­ni­za­cji. To, co się nie zmienia to fakt, że rola CTO jest bardziej tech­nicz­na od roli CIO, obie są związane z zarządzaniem i łączą wiele różnych obszarów wiedzy i kompetencji.

Powyżej opisane stanowiska pokazu­ją różne ścież­ki roz­wo­ju w IT. Wpis ten trak­tuj proszę jako wstęp do serii wywiadów z ludź­mi z branży, nad który­mi obec­nie pracu­je­my. Wierzę, że po zapoz­na­niu się również z nimi będziesz mieć pełen obraz tego, jak różne ścież­ki roz­wo­ju moż­na obrać. Na razie pomyśl co może być dla Ciebie i śledź naszego blo­ga na bieżą­co by poz­nać dokład­nie specy­fikę poszczegól­nych pozycji.