Najcenniejsze umiejętności programisty w 2020 roku

Jako jeden z obszarów o największym wzroście w ostatniej dekadzie, umiejętności tworzenia oprogramowania są nadal bardzo poszukiwane, nawet w dzisiejszej gospodarce. Ale niektóre umiejętności są bardziej pożądane niż inne.

Wybór tych, na których należy się skoncentrować, jest szczególnie ważny, ponieważ pandemia COVID-19 nadal wpływa na globalny rynek pracy. W samej Wielkiej Brytanii liczba reklamowanych programistów i inżynierów oprogramowania spadła w lipcu o 33% w porównaniu z rokiem poprzednim, wynika z CV-Library z tablicy ogłoszeń.

Więc jakie umiejętności programistów są najbardziej wartościowe na dzisiejszym rynku? Przeanalizowaliśmy dane, aby znaleźć najbardziej opłacalne umiejętności programistów na nadchodzące lata - i jak najlepiej przygotować się do odniesienia sukcesu na napiętym rynku pracy.

Nie wkładaj wszystkich jajek do jednego koszyka

Deweloperzy są często oceniani i oceniani na podstawie ich biegłości w posługiwaniu się określonymi językami programowania i frameworkami, ale ważne jest, aby pamiętać, że są to umiejętności przenośne.

Stack Overflow zapytał tysiące programistów, jak często uczą się nowego języka lub frameworku w ramach ankiety 2020 Developer Survey, a około 75% respondentów twierdzi, że uczą się nowej technologii przynajmniej raz w roku.

„Języki i frameworki są bardzo podobne, więc różnice między językami programowania są znacznie mniejsze niż w przypadku słowa mówionego. Przejście z PHP na Python nie przypomina nauki francuskiego ”- mówi Hew Ingram, kierownik inżynierii w firmie Applied specjalizującej się w rekrutacji.

Na przykład Ingram mówi, że gdyby zatrudniał programistę React, „nie miałby nic przeciwko temu, gdyby robili wcześniej Reacta, gdyby zrobili Angular, JQuery lub nawet waniliowy JavaScript, będą mogli naprawdę szybko przejąć React . ”

W rozwoju oprogramowania, podobnie jak w przypadku wielu ścieżek kariery, umiejętność zademonstrowania przenoszalnych umiejętności jest cenniejsza niż lista biegłości w pralni, a według HackerRank wielu menedżerów ds.

Niektóre umiejętności są gorętsze niż inne

To powiedziawszy, istnieją umiejętności i ramy, które są obecnie bardzo poszukiwane, a które okażą się bardziej wartościowe w twoim CV niż znajomość wszechobecnych języków, takich jak JavaScript lub C ++.

Rust i Dart to lekkie języki programowania, które zyskały popularność wśród programistów, zajmując czołowe miejsca na liście szybko rozwijających się języków programowania w GitHub między 2018 a 2019 rokiem. Jak zauważono w raporcie GitHub State of the Octoverse:

Dzięki Flutterowi w naszych popularnych repozytoriach nie jest zaskakujące, że Dart zyskał w tym roku współtwórców. Zauważyliśmy również trendy w kierunku języków statycznych, które koncentrują się na bezpieczeństwie typów i interoperacyjności: społeczności Rust, Kotlin i TypeScript wciąż szybko się rozwijają. 

Podobnie, popularność języka programowania Go firmy Google rośnie według Hired rynku zatrudniania technologii, w którym inżynierowie o umiejętnościach w Go zarabiali średnio dziewięć lub więcej próśb o rozmowę kwalifikacyjną na kandydata, a Scala i Ruby są tuż za nimi z ponad ośmioma zgłoszeniami na kandydata w 2019.

Mimo to Java i JavaScript mogą być najbardziej opłacalnymi językami programowania, których można się nauczyć, jeśli dopiero zaczynasz. W rzeczywistości Java pozostaje drugim najbardziej poszukiwanym językiem wśród pracodawców po SQL, zgodnie z analizą z popularnej witryny z ofertami pracy Indeed.

Jest jeszcze Python, który w ciągu ostatniej dekady szybko podniósł rangę umiejętności. Python jest popularny wśród naukowców zajmujących się danymi i jest trzecim najbardziej poszukiwanym językiem, według milionów ogłoszeń o pracę w USA na Indeed.com w latach 2014-2019.

Pieniądze też mogą być dobre, a średnia pensja dla programisty biegłego w Pythonie wynosi 91 000 USD, według PayScale. Dla porównania, programista Java kosztuje średnio 74 000 USD. 

Ponownie, raport GitHub State of the Octoverse oferuje pewien kontekst: 

Za rozwojem Pythona stoi szybko rozwijająca się społeczność specjalistów z dziedziny data science i hobbystów - oraz narzędzia i struktury, których używają na co dzień. Obejmują one wiele podstawowych pakietów do nauki o danych opartych na Pythonie, które zarówno obniżają bariery w nauce o danych, jak i okazują się fundamentalne dla projektów w środowisku akademickim i firmach. 

W ubiegłym roku po raz pierwszy Python wyprzedził Javę jako drugi najpopularniejszy język na GitHubie przez autorów repozytorium. Król nie żyje, niech żyje król.

Przechodzenie na natywną chmurę

Szerzej, jeden wyraźny kierunek podróży można dostrzec w trendzie w kierunku kontenerów i rozwoju natywnego dla chmury.

Ogólne umiejętności związane z przetwarzaniem w chmurze są zgodne z głównymi dostawcami: Amazon Web Services (AWS), Microsoft Azure i Google Cloud Platform (GCP). Menedżerowie zatrudniający mają tendencję do zatrudniania w oparciu o doświadczenie w tych środowiskach chmurowych, dzięki czemu programiści mogą szybko zostać wdrożeni jako część zespołu.

Jeśli chcesz dopasować się do konkretnej chmury, AWS nadal okazuje się najpopularniejszym, ponieważ wiele firm zbudowało swoje usługi na stosie AWS. Analiza przeprowadzona przez firmę Indeed wykazała, że ​​liczba ogłoszeń o pracę dla programistów korzystających z AWS wzrosła pięciokrotnie w latach 2014-2019, znacznie przewyższając popyt na platformy Azure i GCP.

Jeśli chodzi o kontenery, badania przeprowadzone przez firmę Indeed pokazują, że popyt na umiejętności Dockera nadal rośnie i wzrósł o 4162% od 2014 r., A Docker znalazł się na liście ponad 5% wszystkich miejsc pracy w branży technologicznej w USA w 2019 r.

Zapotrzebowanie na biegłość w posługiwaniu się narzędziem do orkiestracji kontenerów Kubernetes - które jest dostępne we wszystkich trzech głównych chmurach - i siatką usług, którą w naturalny sposób podąża Istio, ponieważ oba stały się standardowymi sposobami zarządzania środowiskami kontenerowymi.

Kubernetes pozostaje jednym z 10 najpopularniejszych projektów open source według najnowszego raportu GitHub State of the Octoverse. Podobnie Istio był jednym z najszybciej rozwijających się projektów współtwórców, z 194% wzrostem składek w 2019 r.

Zamawianie pełnego stosu

Jednym z głównych osiągnięć deweloperów oprogramowania w ciągu ostatnich kilku lat było powstanie tak zwanego programisty „pełnego stosu”, wszechstronnego specjalisty, który może obsługiwać zarówno kodowanie front-end, jak i back-end wymagane do budować i uruchamiać aplikacje internetowe.

Według raportu HackerRank 2020 Developer Skills Report, menedżerowie zatrudniający w firmach różnej wielkości „zgadzają się, że programiści pełnoprawni mają najwyższy priorytet”, a 38% z nich twierdzi, że jest to rola numer jeden do wypełnienia w 2020 roku.

Trwa debata na temat tego, czy programista z pełnym stosem jest w rzeczywistości jednorożcem, ale jeśli chcesz spełnić kryteria dla menedżerów ds. Rekrutacji, musisz mieć biegłość w obu językach frontonu, takich jak HTML / CSS i JavaScript, i back- koniec języków i frameworków, takich jak Node.js, Python, Ruby i Java, z pewnymi umiejętnościami związanymi z Git, bazami danych i aplikacjami mobilnymi. Powodzenia.

Dane to wciąż nowy olej 

Rozwój nauki o danych i jej partnera w operacjach, inżyniera danych, również spowodował, że kilka języków i umiejętności stale rosną w rankingach popularności.

Narzędzia do przesyłania strumieniowego danych, takie jak Apache Kafka, nowoczesne hurtownie danych, takie jak Amazon Redshift i Snowflake oraz platformy dużych zbiorów danych, takie jak Apache Spark, odnotowały wzrost popytu w ciągu ostatnich kilku lat. Prace wymagające biegłości w Pythonie i języku R są również częścią głodu umiejętności w zakresie nauki o danych.

To jest zanim jeszcze wejdziemy w skomplikowane wody tego, co obejmuje uczenie maszynowe i umiejętności sztucznej inteligencji. Dzięki temu powstały platformy i struktury uczenia maszynowego, takie jak TensorFlow i PyTorch.

Oczywiście nie każdy może być analitykiem danych, a wielu programistów nie będzie miało takiego zestawu umiejętności, ale posiadanie uzupełniających się umiejętności z pewnością nie zaszkodzi twojej zdolności do zatrudnienia.

Edukacja formalna to nie wszystko

Wreszcie, ważne jest, aby pamiętać, że formalny stopień naukowy informatyki nie jest konieczny, aby dostać pracę jako programista w 2020 roku.

„Dla menedżerów ds. Rekrutacji niezwykle ważne jest skupienie się na ocenie umiejętności kandydata, a nie na zbytnim indeksowaniu edukacji. Podczas gdy 50% inżynierów oprogramowania ma wykształcenie informatyczne, kolejne 32% uczyło się kodowania lub uczyło się podczas bootcampu kodowania - i mogą mieć ten sam zestaw umiejętności programistycznych ”- napisał Hired CEO Mehul Patel w stanie 2020 Inżynierów oprogramowania zgłasza rekruter techniczny.

W rzeczywistości zarówno Google, jak i Microsoft wprowadziły w tym roku alternatywę dla standardowych stopni uniwersyteckich, dzięki programowi certyfikatów kariery Google i globalnej inicjatywie Microsoft w zakresie umiejętności.

„Generacja Z jest bardziej skłonna do korzystania z bootcampów niż jakiekolwiek poprzednie pokolenie. Prawie co szósty twierdzi, że wykorzystał bootcampy, aby nauczyć się nowych umiejętności ”, według raportu HackerRank 2020 Developer Skills Report. Co więcej, 32% menedżerów ds. Rekrutacji sprowadza absolwentów z bootcampu, a 72% z nich twierdzi, że osoby te „były równie lub lepiej przygotowane do pracy niż inni”.

Debata będzie toczyć się dalej na temat prawdziwej wartości tradycyjnego dyplomu informatycznego i tego, jak dobrze wyposaża on osobę, aby odnieść sukces jako inżynier. Pewne jest jednak to, że tradycyjna trasa może nie być dostępna dla wszystkich, co nie powinno wykluczać tych osób z rynku pracy.