Omówienie raportu Stack Overflow 2019
10 kwietnia Stack Overflow opublikował wyniki swojej corocznej ankiety programistów, o czym pisaliśmy na gorąco. Ankieta zebrała wszechstronne informacje o trendach wśród programistów - od preferowanego języka i narzędzi, przez najbardziej znienawidzoną platformę programistyczną, do blokerów produktywności i wyborów życiowych.
Dziś chciałbym wrócić do jej wyników i tym razem przyjrzeć się im nieco większą lupą, porównać wyniki tegorocznej ankiety do poprzedniej, oraz sprawdzić, jak te wyniki mają się do wyników naszego raportu z badania społeczności IT 2019.
Metodologia
Na początek kilka surowych faktów o samej ankiecie. Raport Stack Overflow 2019 opiera się na odpowiedziach zebranych od 88 883 programistów z 179 krajów na całym świecie (z pominięciem Krymu, Kuby, Iranu, Korei Północnej i Syrii, gdzie dostęp do Stack Overflow jest zablokowany). Ankieta została przeprowadzona między 23 stycznia a 14 lutego, a średni czas spędzony na badaniu wynosił 23 minuty. Większość ankietowanych w tym roku uważa się za profesjonalnych programistów i pochodziła z USA, Indii, Chin i Europy. Jeżeli jesteście ciekawi metodologii, możecie przeczytać o niej więcej tutaj.
Języki programowania
Według obecnej ankiety i kilku z poprzednich lat, JavaScript jest najpopularniejszym i najczęściej używanym językiem już siódmy rok z rzędu, jednak Python dogania go coraz sprawniej i już oficjalnie można go nazwać najszybciej rozwijającym się językiem. Co ciekawe, Python i Typescript uzyskały tę samą ilość głosów, jeśli chodzi o pozytywny stosunek - prawie 73% ankietowanych twierdziło, że jest to ich ulubiony język. Rust utrzymał swoją zwycięską pozycję z 5%-owym wzrostem na liście najbardziej pożądanych i lubianych języków (83.5%). Python był najczęściej wybieranym językiem, którego programiści chcieli się nauczyć, a JavaScript pozostaje najczęściej używanym językiem programowania. Nie ma zmian w popularności C#, PHP i C++ w porównaniu z zeszłym rokiem, ale Go i Kotlin nieznacznie zyskały na popularności wśród programistów na świecie. Najbardziej znienawidzonymi językami były Visual Basic i Objective C.
W Polsce tymczasem króluje Java, JavaScript i C# jako zarówno najczęściej używane, jak i lubiane języki programowania. SQL jest równie często używany, ale już znacznie mniej lubiany, plasuje się dopiero na siódmym miejscu. Visual Basic i Objective C są tak samo znienawidzone w naszym kraju, jak i na świecie. Dodatkowo Polscy programiści nie przepadają za Delphi/Object Pascal.
Frameworki, środowiska i narzędzia
W tym roku Stack Overflow oddzielił frameworki webowe od innych. jQuery prowadzi listę, a React, Angular i ASP.NET, zajmują odpowiednio drugie, trzecie i czwarte miejsce najczęściej używanych frameworków. Deweloperzy preferowali używanie React i Vue.js, podczas gdy obawiali się Drupala i jQuery, mimo tego, że najczęściej z niego korzystali. Popularność jQuery może być zaskoczeniem dla wielu osób, jednak prawda jest taka, że to wciąż najbardziej przystępna opcja dla tych, którzy nie chcą się pakować we współczesne frameworki.
Patrząc na inne frameworki niż webowe, Flutter pojawił się na ich liście w tym roku, co nie powinno nikogo dziwić, zważając, jak przyjemnym jest frameworkiem. .Net Core podskoczył na trzecie miejsce, a pierwsze wciąż zajmuje Node.js.
Zmiany na liście ulubionych baz danych są niewielkie w stosunku do roku poprzedniego. Na topie wciąż MySQL, SQL Server i PostgreSQL. Warto jednak zwrócić uwagę na spadek wykorzystania SQL Sever o około 10%. Możliwe, że Microsoft, zapewniając dobrą integrację z alternatywami open source, otworzył furtkę do porzucenia przez deweloperów swojego produktu. Redis został wybrany jako najbardziej lubiana baza danych i MongoDB jako najbardziej pożądana, mimo niekoniecznie wygodnych zmian w jej licencji.
Popularność Linuksa i Windowsa jako platform do programowania wzrosła. W tym roku na liście pojawił się również Docker, który od razu zajął 3 miejsce. Pokazuje to, jak popularna stała się konteneryzacja, a Docker, pomimo swoich wad i ograniczeń, bardzo zyskał na popularności. Być może w ciągu 2-3 lat znajdzie się na 2. pozycji?
Visual Studio Code wciąż króluje jako najpopularniejsze środowisko programistyczne, wzrastając na popularności z 35% do 50%. Nie powinno to nikogo dziwić, zważając na wszechstronność i kompatybilność z innymi językami programowania, niż .NET oraz to, że narzędzie wciąż jest zupełnie darmowe.
Zarobki
O najlepiej zarabiających technologiach pisaliśmy już przy pierwszym omówieniu. Wśród najlepiej opłacanych technologii, znacznie - bo aż o sześć miejsc - zyskał na wartości Go, zajmując 3. miejsce zarówno w USA, jak i globalnie. Programiści Go zarabiają na świecie średnio 70 tysięcy dolarów rocznie i nawet 136 tysięcy w USA. Zeszłoroczny faworyt - Erlang, spadł kilka pozycji w dół, choć jest w tym roku wart aż 25 tysięcy dolarów więcej, zarabiając w stanach niemalże tyle samo, co Go.
Wszystkie najlepiej płatne języki programowania, są w tym roku warte przynajmniej kilkanaście tysięcy dolarów więcej. Najwięcej w tym roku zarabia Scala ($143k w Stanach i $78k globalnie) oraz Clojure ($139k w Stanach oraz $90k globalnie). W top 10 najlepiej płatnych języków, aż 5 z nich to języki funkcyjne. Stack Overflow zwraca uwagę, że w tej kategorii istnieją regionalne odmiany, jak na przykład to, że Scala jest najbardziej opłacalnym językiem programowania w Stanach Zjednoczonych, podczas gdy deweloperzy Clojure i Rust zarabiają najwięcej w Indiach.
Warto zwrócić uwagę na to, że specjaliści DevOps i inżynierowie SRE należą do najlepiej opłacanych, najbardziej doświadczonych i najbardziej zadowolonych ze swojej pracy specjalistów. To się nie zmieniło od roku poprzedniego, ale za to wzrosły znacznie wynagrodzenia, o nawet 10 tysięcy dolarów rocznie. Sytuacja jest podobna w Polsce (choć w złotówkach oczywiście zarabiamy dużo mniej).
Dodatkowe insighty
W tym roku w ankiecie pojawił się nowy segment o nazwie „Blockchain w świecie rzeczywistym”, który daje wgląd w implementację Blockchainu w procesy i firmy na świecie. Większość respondentów (80%) z ankiety stwierdziło, że ich organizacje nie używają, ani nie wdrażają żadnej formy technologii Blockchain.
Około 80% programistów twierdzi, że koduje jako hobby poza pracą, a ponad połowa ankietowanych napisała pierwszą linię kodu przed ukończeniem 16. roku życia, chociaż to doświadczenie różni się w zależności od kraju i płci. Na przykład kobiety napisały swój pierwszy kod później niż mężczyźni, a respondenci, którzy nie utożsamiają się z płcią męską lub żeńską, pisali swój pierwszy kod w najmłodszym wieku. Około jedna czwarta respondentów jest zapisana na studia stacjonarne lub uniwersyteckie w pełnym lub niepełnym wymiarze godzin. Spośród profesjonalnych programistów, którzy studiowali na poziomie uniwersyteckim, ponad 60% specjalizuje się w informatyce, inżynierii komputerowej lub inżynierii oprogramowania.
Blokery wydajności
Jeśli chodzi o blokery wydajności, różni deweloperzy zgłaszają różne wyzwania. Mężczyźni byli bardziej skłonni powiedzieć, że zadania niezwiązane z developmentem stanowią dla nich problem, podczas gdy kobiety wskazywały na toksyczne środowiska pracy jako największy bloker produktywności. Stack Overflow przyznał, że ich wyniki nie reprezentują nierówności rasowych, a mniejszości etniczne nadal są niedostatecznie reprezentowane wśród programistów.
Co dalej?
Z roku na rok ankieta Stack Overflow robi się coraz bardziej szczegółowa. Świetną cechą tegorocznej ankiety jest skupienie się na profilu samych programistów. Jednak wciąż jest to moim zdaniem niekompletny profil, który mógłby zostać wzbogacony o inne elementy, niż sama bliskość z technologią i demografia. Brakowało mi również informacji o trendach w zatrudnieniu, warunkach w firmach i jakichkolwiek informacji, dających szerszy pogląd na rynek pracy w IT. Jeżeli jesteś ciekaw, jak wyglądają, czym się zajmują, ile i jak zarabiają oraz skąd pochodzą programiści w Polsce, rzuć okiem na nasz Raport z badania branży IT 2019. Ankietę Stack Overflow podlinkuje jeszcze raz tutaj, razem z ankietą z roku poprzedniego.