27 milionów programistów na świecie codziennie tworzy kolejne linijki kodu dla nowych aplikacji lub ulepsza już istniejące. Specjaliści z firmy 7N sprawdzili, jakiego rodzaju oprogramowania pisze się dziś najwięcej i które technologie powinny opanować osoby rozwijające karierę w branży IT. Serwisy internetowe, aplikacje mobilne, aplikacje webowe, chmury obliczeniowe, IoT, (internet rzeczy), boty, gry, uczenie maszynowe, AR i VR…
Technologie cyfrowe już dawno stały się zbyt złożone, by jedna, nawet bardzo zdolna osoba potrafiła programować wszystko i w każdym języku. Co w takim razie powinny zrobić osoby chcące rozwijać się w IT? Na jaką technologię postawić? Wskazówek może dostarczyć popularność języków programowania na świecie.
Badanie Stack Overflow 2020, w którym wzięło udział 65 tys. programistów z całego świata, pokazuje m.in., że najczęściej stosowanym przez nich językiem programowania jest JavaScript. Pracuje na nim aż 68 proc. respondentów. Uchodzi on za najlepszy przy tworzeniu aplikacji webowych, rozwiązań chmurowych oraz aplikacji IoT. Zaraz za nim, z wynikiem 63 proc., plasuje się HTML/CSS, używane przede wszystkim do tworzenia serwisów internetowych. Kolejny jest SQL (55 proc.) stosowany do tworzenia baz danych i przeprowadzania na nich operacji.
Popularność Big Data winduje też w górę pozycję języka Python (44 proc.), znajdującego również zastosowanie przy uczeniu maszynowym i aplikacjach IoT. Piątkę topowych technologii programowania zamyka Java, język uniwersalnego zastosowania, używany najczęściej do tworzenia aplikacji webowych, mobilnych, rozwiązań chmurowych, aplikacji desktopowych i IoT.
– Poza najbardziej popularnymi językami programowania, respondenci wymienili jeszcze ponad 20 innych. Nic dziwnego. Wiele współczesnych komercyjnie tworzonych systemów IT łączy w sobie kilka technologii – zauważa Paweł Zdziech, Recruitment & Communication Manager w 7N. – Wart wyróżnienia jest wzrost popularności Pythona, często wspierającego rozwiązania z dziedziny data science i AI. Natomiast już inny z zauważalnych współcześnie trendów – wzrost popularności rozwiązań chmurowych – może dokonywać się przy użyciu różnych języków – dodaje ekspert.
Początkujący programiści przed trudnym wyborem
Wskazówkę, na jakiego rodzaju oprogramowanie istnieje obecnie największy popyt, mogą dostarczyć portale rekrutacyjne. Amerykański serwis Indeed.com posiada aktualnie ok. 52 tys. ogłoszeń o pracę dla programistów ze znajomością języka HTML i odpowiednio, 50 tys. dla SQL, 49 tys. dla Pythona, 45 tys dla Javy, 37 tys. dla JavaScript oraz wielokrotnie mniej dla pozostałych technologii jak na przykład PHP czy C++.
Czy dobry programista powinien zatem dążyć do poznania wszystkich czołowych języków, aby w razie potrzeby umieć napisać zarówno aplikację mobilną, bota, jak i stronę internetową? Nie do końca. Paweł Zdziech sugeruje, że długofalowo najbardziej opłaca się specjalizacja – dobre opanowanie jednej technologii, przy jednoczesnym uczeniu się kolejnych, aby mieć szeroki ogląd sytuacji w branży.
– W ostatnich latach obserwujemy wzrost zapotrzebowania na tzw. fullstack developerów, a więc tych, którzy potrafią programować zarówno warstwę backendową jak i frontendową, albo na ekspertów od DevOps, łączących kompetencje programistyczne i administratorskie. Rynek więc wydaje się potwierdzać słuszność filozofii wszechstronności. Sprawdza się tu stary koncept “umiejętności T” (T-shaped skills), gdzie przy byciu ekspertem w jakimś obszarze (linia pionowa), ma się też kompetencje, niekoniecznie już eksperckie, w innych obszarach (linia pozioma) – zauważa Paweł Zdziech.
Technologie dla zawodowców
Warto zwrócić uwagę na to, że zarówno raport Stack Overflow jak i przegląd serwisów rekrutacyjnych to “fotografia”, pokazująca chwilowy stan branży, która ze swojej natury jest dynamiczna. W ostatniej dekadzie nie dochodziło może do rewolucji w sposobie tworzenia programowania, ale jednak miały miejsce znaczące przetasowania. Zauważalny jest stopniowy spadek popularności języka PHP względem Pythona i JavaScript, a w przypadku tego ostatniego również związanych z nim bibliotek Angular i React.js.
– Nasi Konsultanci najczęściej angażowani są w rozwój dużych systemów w branżach takich jak finansowa, ubezpieczeniowa, energetyczna, medyczna i farmaceutyczna, czy szeroko pojętych usług IT dostarczanych dużym klientom. Najpopularniejsze dziś technologie i języki programowania (JavaScript, Java, C#) wchodzą więc w zakres ich umiejętności – zauważa Paweł Zdziech.
Ekspert 7N radzi również, by prognozując przyszłe trendy dotyczące programowania, obserwować, w co inwestują duzi technologiczni gracze, np. Google czy Microsoft. Z tej perspektywy czarnymi koniami przyszłych rankingów może być język Go, używany do tworzenia złożonego oprogramowania sieciowego oraz Dart, znajdujący zastosowanie przy aplikacjach tworzonych na kilka platform jednocześnie.