Przyszłość programistów w 2022 roku

Czy C# i platforma .Net wciąż będą dobrym wyborem dla programistów w 2022 roku?

3. Rozwiązania cross-platformowe dla aplikacji mobilnych

Aktualnie na rynku urządzeń mobilnych rządzi dwóch głównych graczy – Android i iOS, którzy razem dzierżą 99 proc. rynku. Gdy chcemy, aby nasze rozwiązanie mogło trafić na obie platformy, mamy właściwie dwie możliwości. Albo zatrudniamy dwa zespoły programistów i dla każdej z platform tworzymy aplikację przy wykorzystaniu specyficznych dla niej języków i narzędzi, albo korzystamy z narzędzi cross-platformowych. Wybór wydaje się oczywisty, choć nie pozbawiony wad. W dobie niepewności i balansowania kosztami produkcji oprogramowania rozwiązania cross-platformowe będą dominować ten rynek.

ZOBACZ TEŻ:  Szukanie pracy pochłania sporo czasu. Co zrobić, żeby szybko znaleźć pracę w branży IT?

Wraz z .NET 6 Microsoft wprowadzi na rynek następcę jednego ze swoich cross-platformowych frameworków dla developerów aplikacji mobilnych – Xamarin’a. W założeniu .NET Multi-platform App UI (.NET MAUI) ma pozwolić na tworzenie aplikacji natywnych dla Android, iOS, iPadOS, macOS oraz Windows przy użyciu jednego, wspólnego kodu napisanego w C# i .NET. Warstwa wizualna natomiast implementowana jest w oparciu o język XAML. 

4. Uczenie maszynowe (ML) 

Sztuczna Inteligencja (AI), bardzo często przedstawiana w literaturze s-f jako główny antagonista ludzkości, zdobywa coraz większą popularność i niezauważalnie przenika w coraz kolejne dziedziny naszego życia. Z jednej strony powoli wypiera człowieka z niektórych zadań, a z drugiej pozwala rozwiązywać problemy, dotychczas niedostępne dla typowych bloków if/else/switch. Niezależnie od tego, czy powinniśmy się bać technologii AI, czy nie, już nie ma przed nią odwrotu. Powinniśmy zatem rozwijać swoje kompetencje w tym zakresie, aby wyróżnić się na rynku pracy i otrzymywać najbardziej intratne propozycje. A jest o co walczyć, bo wg prognoz Forrestera rynek oprogramowania AI osiągnie 37 miliardów USD do 2025 roku.

Źródło: Forrester blog

Microsoft wspiera nas w tym zadaniu dwutorowo, udostępniając usługi uczenia maszynowego, będącego działem AI, za pośrednictwem Azure Machine Learning, ale także bibliotekę Machine learning ML.NET. Biblioteka ta pozwala na wejście w tematykę uczenia maszynowego, poprzez łatwe stworzenie modelu w oparciu o predefiniowane scenariusze, następnie wytrenowanie go z użyciem udostępnionych przez nas danych. Tak przygotowany model możemy wykorzystać w dowolnej aplikacji .NET, np. do prognozowania zapotrzebowania na podzespoły do budowania robotów.

5. Cloud computing

Platformy “chmurowe” dla branży wytwarzania oprogramowania są przełomem porównywalnym do wynalezienia silnika spalinowego w branży transportowej. Zapewniają one niespotykaną wcześniej elastyczność, skalowalność czy dostępność naszych aplikacji. Tworząc nowe API nie musimy się zastanawiać, gdzie będzie ono hostowane i czy będzie tam dostępny np. nasz ulubiony silnik bazy danych. Wszystko to i nie tylko mamy dostępne od ręki, w jednym miejscu i w ramach przewidywanych kosztów. 

Najciekawszym trendem ostatnich kilku lat w zakresie Cloud Computing jest definiowanie infrastruktury naszego rozwiązania, częstokroć zbudowanego z wielu współzależnych od siebie serwisów i usług (w tym serverless) poprzez Infrastructure as Code (IaC). Podobnie, gdy pisząc aplikację opisujemy naszą logikę biznesową za pomocą kodu, tak w przypadku IaC definiujemy naszą infrastrukturę za pomocą języka deskryptywnego wspieranego przez daną platformę. Dzięki temu zyskujemy pewność, że przy każdym wydaniu nowej wersji naszej aplikacji zostanie ona zainstalowana na takim samym środowisku, zbudowanym w tym samym procesie, co kod źródłowy. Dzięki temu nasz dział „operations” będzie mógł się zająć optymalizacją kosztów i reagowaniem na incydenty, a nie ręcznym konfigurowaniem infrastruktury.

Programując w języku C# i .NET otrzymujemy wsparcie ze strony Microsoftu, właściciela drugiego co do udziału w rynku dostawcy rozwiązań chmurowych. Nie musimy się jednak ograniczać do jednego dostawcy, ponieważ platforma .NET wspierana jest zarówno w systemach Windows, jak również Linux i MacOS. Ponadto możemy skonfigurować naszą solucję, tak aby była hostowana jako kontener (Docker, Podman, K8, itp.), co w chwili obecnej jest najbardziej uniwersalnym sposobem wdrażania aplikacji i uniezależnia nas od środowiska, na którym ją uruchamiamy.

6. Quantum computing

Komputery kwantowe powoli stają się faktem, a nie tylko obiektem badań fizyki teoretycznej. Należy podkreślić, że sprawdzają się one w rozwiązywaniu określonych problemów algorytmicznych, z którymi komputery klasyczne zasadniczo nie są w stanie sobie poradzić.

Microsoft udostępnia platformę Azure Quantum, jak również język Q# i „Quantum Development Kit”. Dzięki tym trzem elementom możemy tworzyć i uruchamiać programy języka Q# na sprzęcie kwantowym. Możemy również tworzyć biblioteki Q#, które następnie konsumujemy w aplikacji .NET napisanej w języku C#.

C# and .NET wciąż się rozwija

Język C# i platforma .NET mają już prawie 20 lat. Niemniej jednak wciąż się rozwijają i praktycznie co roku wprowadzane są nowe wersje. Jego twórcy starają się, aby narzędzia te były dostępne dla jak najszerszego grona profesjonalistów, a jednocześnie najlepszą inwestycją dla biznesu, który chce dostarczać aplikacje i rozwiązania dla swoich klientów. Na przestrzeni wyżej wspomnianych lat mieliśmy kilka kamieni milowych, wśród których na szczególną uwagę zasługuje wydanie  .net core, który stał się frameworkiem wieloplatformowym nieograniczonym już tylko do platformy Windows. Kolejnym przełomem jest .NET 5, który stara się ujednolicić wszystkie funkcje każdego istniejącego frameworka. Dla mnie osobiście na uwagę zasługują zmiany, które skupiają się na optymalizacji wydajności, jak również uzupełnianie języka o rozwiązania, które pozwalają wyrazić tą samą intencję mniejszą ilością kodu.

Inwestować w C#?

W swoim życiu programowałem w różnych językach. Używałem Basic, Pascal, C++, PHP, Visual Basic, LotusScript, PowerShell, JavaScript, TypeScript czy nawet assemblera, ale chyba żaden z nich nie zrobił na mnie takiego wrażenia jak C#. Po studiach planowałem swoją karierę w PHP, ale za namową przyjaciela spróbowałem swoich sił z C# i to z perspektywy lat było strzałem w dziesiątkę. Najbardziej podoba mi się to, że gdy zainwestujemy w niego czas to zyskujemy dostęp do całego spójnego ekosystemu wszystkich rozwiązań Microsoftu, które rozwijają się wraz z trendami w całej branży.

No dobrze, ale możemy sobie zadać pytanie jak ta inwestycja mi się zwróci? Obecnie 7,2 proc. wszystkich ofert pracy dla programistów dotyczy C# i .NET. Możemy liczyć na zarobki w granicach tych widełek: UoP (brutto):  10,2K (junior) – 18,7K (senior), B2B (netto FV): 9,0K (junior) – 18,5K (senior) – dane na podstawie raportu wynagrodzeń IT https://justjoin.it/report.

Biorąc pod uwagę wszystkie powyższe argumenty, z czystym sumieniem mógłbym polecić język C# oraz platformę .NET jako dobrą inwestycję dla osób, które chciałby rozpocząć pracę w branży wytwarzania oprogramowania. Nieważne, czy chcesz stawiać swoje pierwsze kroki w tworzeniu aplikację na telefony, przeglądarki, desktopy czy nawet IoT, .NET jest w stanie zaoferować Ci szeroką gamę rozwiązań, które będą Cię wspierały w tym zadaniu. Parafrazując Tolkiena chciałoby się powiedzieć “One Framework to rule them all”.

Polska programistą stoi

Na koniec chciałbym się podzielić z Wami również ciekawym rezultatem ankiety stackoverflow.com. Wynika z niej że w 2021 roku spośród wszystkich programistów na świecie, którzy oddali w niej głos jesteśmy na 8. miejscu z udziałem 2,16 proc., co w moim odczuciu jest powodem do narodowej dumy.

Developer Survey 2021Źródło: stackoverflow.com Developer Survey 2021

baner

Zdjęcie główne pochodzi z unsplash.com.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Iran: zdolności cybernetyczne rosną