Dlaczego developer? Czyli, jak to jest z tymi nazwami stanowisk?

Czym różni się programista od informatyka? Tym, czym chirurg od lekarza. Dobre! A czy jest różnica między programistą, developerem a software engineerem?

To pytanie swego czasu nurtowało mnie, że hej! Byłam ciekawa, dlaczego na Linkedin specjaliści, określając swoje stanowisko, używają odmiennych nazw? Jakie ma to dla nich znaczenie? Czy generalnie ma jakieś? I czy powinno być to istotne dla nas – rekruterów?

Rachel Ferrigno w jednym ze swoich arytkułów na Stack Overflow napisał, że ludzi można podzielić na dwie kategorie: przywiązujących wagę do tytułów zawodowych i tych, co zupełnie to ignorują.

Jakie zatem jest podejście specjalistów do tematu? Właśnie – dwojakie.

Część osób skłania się ku konkretnym definicjom:

Programista: profesjonalista, który wie, jak kodować. Nie odpowiada za tworzenie czegoś nowego, koncentruje się raczej na programowaniu w oparciu o istniejące języki i staje się w tym ekspertem.

Developer: programowanie jest tylko częścią jego pracy. Dodatkowo rozwija oprogramowanie, tworzy koncepcje, nowe funkcje, niekiedy projektuje, wykonuje testy, tudzież przygotowuje dokumentację techniczną.

Engineer: termin utożsamiany bardziej z tytułem zawodowym, zakłada się, że osoba ma solidne podstawy edukacyjne i umiejętność stosowania koncepcji inżynieryjnych. Koduje, ale ponadto zadba o architekturę, środowisko programistyczne, powiedzmy widzi jego szerszy obraz, może je zaprojektować, objaśnić. Zastosuje zaawansowane techniki debuggowania, może zasugerować najlepsze praktyki tworzenia aplikacji etc.

Tyle teori na podstawie www.quora.com oraz www.stackoverflowbusiness.com

Jest też druga grupa i przyznam, że na moje oko stanowi większość, która skłania się ku stwierdzeniu, że w sumie nie ma różnicy pomiędzy powyższymi nazwami. Granica jest subtelna, stąd tytuły stosowane są zamiennie. Spotkałam się z opinią, że doszukiwanie się głębszego sensu w owej terminologii, to jak analizowanie ziemniaka i kartofla 🙂

Istnieją jednak pewne preferencje wśród osób technicznych. Ciekawe dane w tym kontekście zostały opublikowane na Stack Overflow:

 

Czy my – rekruterzy powinniśmy się tym sugerować? Oczywiście dobrze mieć świadomość różnic, choć z praktycznego punktu widzenia, przy wyszukiwaniu potencjalnych kandydatów, w moim odczuciu – nie bardzo. Już prędzej wiedza ta może przydać nam się do formułowania ofert pracy i określania w nich roli specjalisty. Z drugiej strony firmy mogą mieć, powiedzmy, własną politykę co do nadawania nazw stanowisk. Bywa niekiedy i tak, że to, co osoba wpisuje na profilu zawodowym w social media, pokrywa się z tym, co ma w umowie.

Temat mimo wszystko zdecydowałam się poruszyć. Być może są rekruterzy, wśród czytelników tego posta, którzy podobnie jak, zadali sobie kiedyś podobne pytanie 🙂

2 Comments, RSS

  1. melez 1 lutego 2018 @ 09:33

    W klasycznym znaczeniu programista to ktoś kto projektuje i optymalizuje algorytmy oraz zapisuje je w postaci instrukcji języka programowania. Developer to osoba, która tworzy dany system, a więc może robić więcej rzeczy niż tylko programowanie, lub korzystając z projektów algorytmów programisty zapisywać je tylko w języku programowania. Inżynier to tytuł zawodowy.
    W praktyce każdy lubi myśleć o sobie w pewien sposób i na tej podstawie wpisuje sobie w stanowisko pracy co mu się podoba. To są zbyt bliskie sobie określenia żeby na ich podstawie rozróżniać kompetencje. Dużo bardziej znaczące są określenia frontend, backend, fullstack, dba, pm, qa – każde z tych stanowisk może bez problemu podpiąć się pod programistę lub developera.

    • admin 2 lutego 2018 @ 13:31

      W klasycznym i do tego mocno technicznym 🙂 Dziękuję, za dodanie wyjaśnienia w tej kwestii.

Your email address will not be published. Required fields are marked *

*