Nasza strona używa cookies. Dowiedz się więcej o celu ich używania i zmianie ustawień w przeglądarce. Korzystając ze strony, wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki. Rozumiem

Niszowe trendy w programowaniu na 2020 rok

Omar Rabbolini Software Engineering / Management Coach
Poznaj niszowe trendy w programowaniu na 2020 rok, którymi warto się zainteresować.
Niszowe trendy w programowaniu na 2020 rok

Bycie na bieżąco z inżynierią oprogramowania wymaga ciągłej nauki. Na czym się skupić, mając do wyboru mnóstwo nowego oprogramowania i technologii, które pojawiają się prawie codziennie?

Inżynieria oprogramowania jest szeroką i otwartą dziedziną, w obrębie której istnieją setki technologii, a ich nauka może być wymagająca. Niektóre są bardziej pożądane i uaktualniane, a inne mniej. Nic więc dziwnego, że można się zniechęcić, zwłaszcza jeżeli jest się na początku drogi lub chce się zmienić specjalizację.

W tym artykule skupimy się na niszowych trendach, w które warto się zagłębić i rozwijać w nich swoje umiejętności. Są one związane z aktualnymi trendami w branży, ale są też na tyle konkretne, aby można było od razu podjąć działanie. Konkret jest tutaj celowy. Nie chciałem z grubsza pisać o AI, AR, VR albo o Blockchainie, ponieważ w sieci jest mnóstwo artykułów na ten temat. Mam zamiar przekazać przydatne informacje, dzięki którym możesz nauczyć się czegoś nowego już dziś.


Asystenci głosowi

Asystenci głosowi są dzisiaj wszędzie. Asystent Google, Siri oraz Alexa stały się bardzo popularne w przeciągu ostatnich plus minus pięciu lat i są nieustannie ulepszane. Dzieje się tak zwłaszcza dzięki wzrostowi używalności inteligentnych głośników oraz innych urządzeń domowych z ekranami lub bez.

Na pracę z tak szeroką dziedziną składa się wszystko, od ulepszania technologii asystentów do integracji istniejących usług i rozwoju ich nowych umiejętności asystentów, co zapewnia szeroki wybór, w zależności od preferencji i biegłości

Rozwój technologii asystentów jest napędzany sztuczną inteligencją i Deep Learningiem, obejmującymi syntezę mowy Text-To-Speech, Speech-To-Text oraz analizę i rozpoznawanie zdań. Jeżeli chcesz podążyć tą drogą, warto jest zapoznać się z zagadnieniem Recursive Neural Network i nowinkami w tej dziedzinie przed aplikowaniem do Amazon, Google, Apple, Baidu lub Microsoft. Ewentualnie możesz zająć się eksperymentami z open sourcem, takim jak Mycroft.AI. 

Oprócz rozwoju asystentów duże możliwości daje również ich integracja z usługami stron trzecich. SDK dla Asystenta Google, Siri i Alexy są łatwo dostępne i dobrze udokumentowane. Ich działanie nie różni się niczym od korzystania z innych zestawów SDK lub API, chociaż zapoznanie się z konkretnymi koncepcjami interakcji głosowej bez wątpienia da ci przewagę w poszukiwaniu pracy w tej dziedzinie.

Koncepcja standardowych haseł jest przestarzała. Jest to najsłabsze ogniwo w dowolnej strategii uwierzytelniania i najbardziej frustrujący aspekt procesu logowania dla użytkownika. Kto chce nieustannie zapamiętywać obszerną listę danych do wielu kont online? Menedżery haseł mogą pomóc, ale wprowadzają też dodatkowe ryzyko.

Dobrą wiadomością jest to, że hasła można zastąpić alternatywnymi metodami uwierzytelniania, które są trudniejsze do złamania. Taką metodą jest, np. weryfikacja danych biometrycznych wykonywana bezpośrednio na wybranym smartfonie użytkownika. Obejmuje ona rozpoznawanie odcisków palców, twarzy i tęczówki. Takiej metody można używać samodzielnie lub w połączeniu z wcześniej określonymi hasłami w celu dalszego potwierdzenia tożsamości użytkownika.

Gdy świat odchodzi od zwykłych haseł, inżynierowie mogą zająć się walidacją danych biometrycznych lub implementacją tej metody uwierzytelniania na różnych stronach.

Możliwości rozwoju będą różne w zależności od tego, czy chcesz pracować po stronie producenta, czy po stronie konsumenta. W przypadku tego pierwszego, dla asystentów głosowych, większość pracy dotyczy AI i Deep Learningu, tym razem obejmując zarówno Recurrent i Convolutional Neural Networks. To ostatnia dziedzina ma zastosowanie szczególnie w przypadku rozpoznawania twarzy i odcisków palców, ponieważ w obu przypadkach wymagana jest klasyfikacja obrazów, a badania w tej dziedzinie są na zaawansowanym poziomie.

Pod względem potencjalnych pracodawców w dziedzinie biometrii wybór jest dość szeroki, zaczynając od firm takich jak Google i Apple z rozwiązaniami opartymi na smartfonach, aż po Crossmatch i automatyzację tożsamości dla określonych nauk i profesji, takich jak medycyna i organy ścigania.

Po stronie konsumenta warto rozpocząć od dokumentacji SDK zarówno Apple, jak i Google, dotyczącej biometrii odpowiednio dla iOS i Androida. 


Generowanie statycznych stron internetowych

Być może mniej efektowne niż poprzednie dwa zagadnienia, jednak tworzenie i zarządzanie stronami internetowymi bogatymi w treści jest bardzo pożądane. Dzieje się tak ze względu na to, że coraz więcej firm wykorzystuje dopasowany content w celu promocji do konkretnej grupy klientów.

Wordpress był i nadal jest najpowszechniejszą platformą do tworzenia tego rodzaju witryn. Jest to jednak złożony system CMS oparty na PHP, który wymaga ciągłej konserwacji i aktualizacji w celu zarządzania potencjalnymi zagrożeniami bezpieczeństwa sieci.

Alternatywą, która ostatnio zyskuje na popularności, jest programowe generowanie statycznych stron internetowych. Zaletami tej metody są szybkość i wysoka skalowalność, ponieważ mogą być one obsługiwane za pośrednictwem CDN. Zmniejsza się również ryzyko związane z bezpieczeństwem sieci, gdyż strony te nie wymagają używania PHP ani wykonywania żadnego innego kodu po stronie serwera.

Popularne narzędzia do generowania tego rodzaju stron internetowych to NextJS, GatsbyJS i Hugo. Podczas gdy pierwsze dwa są oparte na React’cie, Hugo jest oparte Golangu.

Same frameworki są dość łatwe do nauczenia się, szczególnie jeśli ma się podstawową wiedzę dotyczącą fundamentalnych technologii takich jak JavaScript/React lub Go. Można je również łączyć z bibliotekami takimi jak Bootstrap i Typography.JS, aby szybko nadawać stronom internetowym profesjonalny wygląd.

Moim ulubieńcem jest GatsbyJS, ze względu na to, że opiera się na React’cie, GraphQL oraz szerokiej gamie wtyczek, w tym takich, które pozwalają wykorzystywać Markdown jako źródło danych dla stron internetowych.

Uważam też, że GatsbyJS jest bardzo dobrym wprowadzeniem do Reacta i GraphQL dla osób wywodzących się z tradycyjnego zaplecza programistycznego, co czyni go dobrym wyborem dla inżyniera, który chce podkręcić swoje umiejętności i przeskoczyć do tworzenia aplikacji.


Podsumowanie

Mam nadzieję, że ta lista okaże się przydatna i że czujesz inspirację do tego, aby nauczyć się czegoś nowego. Niezależnie od tego, co wybierzesz, ważne jest, aby odczuwać przyjemność z programowania. Nie ma nic gorszego niż specjalizacja w dziedzinie, którą nie jesteśmy zainteresowani, a decydującym kuszącym aspektem jest perspektywa wysokiego wynagrodzenia.

W rezultacie będziesz się nudzić, a jakość Twojego kodu się pogorszy. Być może dlatego też czytasz ten artykuł. Jeśli tak właśnie jest, to nie martw się - też przez to przechodziłem. Pomyśl, na co właściwie czekasz, aby ruszyć ze swoją karierą. 

„Edukacja jest naszym paszportem do przyszłości, ponieważ jutro należy tylko do ludzi, którzy dziś się na to przygotowują.” 

- Malcolm X, 1964. 

Do następnego artykułu, rozwijaj swoją pasję!



To oficjalne tłumaczenie z języka angielskiego, a oryginał tekstu przeczytasz tutaj.

Lubisz dzielić się wiedzą i chcesz zostać autorem?

Podziel się wiedzą z 160 tysiącami naszych czytelników

Dowiedz się więcej