Raport z Badania
Społeczności IT
2023
Programista
Zebraliśmy ponad 10 000 ankiet, dzięki czemu możemy przedstawić nie tylko ogólne wnioski, ale też głębiej wejść w dane i pokazać szczegóły dotyczące pracy i zarobków w poszczególnych specjalizacjach.
Profil
Praca i technologie
Swoją programistyczną przygodę zaczynałem wieki temu od PHP, które było wtedy szalenie popularne.
Dzisiaj, przyglądając się rankingowi popularności języków, można zauważyć, że czołówka jest dość stabilna. Nowicjusze w dziedzinie programowania wybierali Java, JavaScript, C#/C++ i PHP wierząc, że znajomość tych właśnie technologii pozwoli im na dobry start i godne wynagrodzenie w branży IT. Nie pomylili się!
Wszechobecne kursy, szkolenia i platformy e-learningowe pozwalają młodym ludziom dość szybko osiągnąć umiejętności techniczne wystarczające do rozpoczęcia pracy. Natomiast notoryczny brak wykwalifikowanych specjalistów względem potrzeb rynkowych coraz częściej skłania pracodawców do zatrudniania juniorów z nadzieją, że nie uciekną zaraz po tym, jak zdobędą doświadczenie i zwiążą się z firmą, która zainwestowała w ich rozwój.
Wiele firm stawia także na programy stażowe, które pozwalają niedoświadczonym developerom wejść na ścieżkę kariery. Odpowiednio przygotowany program rozwija wiedzę techniczną i daje dobrą bazę pod przyszłe, bardziej zaawansowane zadania. W Schenker Technology Center kładziemy szczególny nacisk na dobre praktyki kodowania, pisanie testów, code-review i aspekty IT Security. Uczymy także korzystania z narzędzi typu: SonarQube, Dependency-Track, GitLAB, JIRA, Confluence itp. Ważne jest także dla nas to, by uzupełnić brakujące kompetencje związane z cyklem wytwarzania oprogramowania, pracą zespołową i rozwiązywaniem problemów, komunikacją i metodykami zwinnymi.
Przegląd kodu to kluczowa część procesu tworzenia oprogramowania, która pomaga w poprawie jakości kodu, zapewnieniu, że kod jest zgodny z najlepszymi praktykami i standardami kodowania, łatwy do utrzymania i bezpieczny. Efektywny przegląd kodu zaczyna się od ustalenie wytycznych i standardów procesu przeglądu, zdefiniowania zakresu, kryteriów oceny kodeksu oraz ról i obowiązków recenzentów. Obejmuje połączenie technik automatycznych i ręcznych. Zautomatyzowane narzędzia pomogą zidentyfikować m.in. naruszenia kodowania, luki w zabezpieczeniach. Ręczny przegląd przez doświadczonych programistów dostarcza cennych informacji jakościowych oraz umożliwia dzielenie się wiedzą, a także pomaga budować kulturę ciągłego doskonalenia w zespole programistów. Przegląd kodu powinien być prowadzony w sposób konstruktywny i pełen szacunku. Włączając przegląd kodu do procesu programowania, programiści mogą tworzyć wysokiej jakości oprogramowanie, które spełnia potrzeby użytkowników i interesariuszy.
Na podstawie wyników ankiety wyraźnie widać, że w pracy programistów przenikają się zróżnicowane technologie. Podobne wnioski wyciągam z własnych doświadczeń. Tworzenie złożonych aplikacji wymaga od programistów sporej wiedzy i znajomości co najmniej kilku technologii. Do sprawnej pracy nie wystarczy już jeden język programowania, oprócz znajomości języka Python trzeba znać także SQL czy JavaScript. W EOS Poland programiści używają Python, SQL, JavaScript, a także specyficznych dla danego języka frameworków. Jednocześnie, oprócz języków programowania potrzebna jest także ogólna wiedza informatyczna, począwszy od kwestii związanych z optymalizacją zapytań SQL, testowaniem czy pisaniem bezpiecznego kodu, a skończywszy na zagadnieniach architektonicznych. Nie można też zapomnieć o podstawowych w obecnych czasach narzędziach programisty takich jak Git czy Docker. Podsumowując, mimo potencjalnie niskiego progu wejścia w programowanie, wciąż przyspieszający rozwój technologii powoduje, że jest to zawód wymagający nieustannego doskonalenia i poszerzania horyzontów.