BLOG JELLY

Co przyniesie 2022 rok w branży IT i świecie nowych technologii?

Co roku branża IT przechodzi transformację. Do tego zmiany wymuszone pandemią, spowodowały, że digitalizacja biznesu oraz społeczeństwa nie przestała przyspieszać. Wszelkie trendy oraz raporty branżowe pokazują, że dalszy rozwój branży IT jest nieunikniony. Które z obecnych trendów się utrzymają, które kierunki są warte zainteresowania, a w które obszary warto inwestować swój czas, naukę, rozwój?

Praca zdalna
Jeszcze nie tak dawno system pracy hybrydowej i home office były raczej rzadko spotykanym modelem pracy. Doświadczenie pokazało jednak, że nowy tryb ma wiele zalet. Branża IT szczególnie doceniła ten model. Rynek pracy z lokalnego zmienił się na globalny. A to zaskutkowało ogromnym wzrostem zapotrzebowania na specjalistów IT i jednocześnie ułatwiło firmom dostęp do nich.
Nie mam co do tego wątpliwości, że ten sposób pracy będzie dominował również w roku 2022 i w latach kolejnych. Specjaliści IT, jak nigdy dotąd, mają szansę pracować dla firm z całego świata, które coraz chętniej korzystają z usług polskich specjalistów.
Nie możemy tu zapominać o dynamicznym rozwoju narzędzi, które pomogą zwiększać przebieg i atrakcyjność spotkań online.
Microsoft Teams’ Together, która pozwala zgromadzić uczestników spotkania w wirtualnej sali konferencyjnej. To sprawia, że będąc na spotkaniu masz wrażenie, że siedzisz w tym samym pokoju, co wszyscy inni uczestnicy.
Facebook Quiet Mode – pomaga użytkownikom zarządzać czasem spędzonym w aplikacji. Można w prosty sposób ustawić okno czasowe, w którym chcesz, aby aplikacja była wyciszona i w tym czasie nie dostaniesz żadnych powiadomień.

Big Data
W tym obszarze niewiele się zmienia. W dalszym ciągu jest duże zapotrzebowanie na analityków i inżynierów, którzy ułatwią zrozumienie ogromu danych będących w posiadaniu każdej firmy i przetłumaczenia ich na korzyści biznesowe. Digitalizacja zagościła praktycznie we wszystkich branżach. Właściciele firm, szefowie sprzedaży i/lub marketingu dostrzegają olbrzymi potencjał w danych jakie posiadają oraz w jaki sposób mogą je wykorzystać do budowy wartości firmy, lepszym dotarciu do klienta a przez to realizacji celów sprzedażowych. Rozumieją również, że automatyzacja przetwarzania danych (znajomość SQL, Python) oraz umiejętność obsługi narzędzi do wizualizacji danych to kompetencje przyszłości. Dziś i w najbliższych latach specjaliści Big Data z pewnością nie będą narzekać na brak zajęcia.

Cyber Security
Liczba użytkowników produktów i usług cyfrowych rośnie z dnia na dzień. Każdy użytkownik to nowa porcja danych do przetworzenia i/lub przeanalizowania, to informacje, które wymagają odpowiedniego zabezpieczenia. W każdej firmie dane o kliencie to dobro, o które trzeba dbać w szczególny sposób. Dlatego rozwój systemów i aplikacji pod katem bezpieczeństwa danych, a w tym wieloetapowa autentykacja, kontrola dostępu za pomocą dodatkowych narzędzi do autoryzacji to jedno z kluczowych zadań w obszarze Cyber Security w 2022 roku.

Metaverse
Metaverse najprościej mówiąc jest koncepcją łączenia świata wirtualnego z rzeczywistym, będzie pozwalać na tworzenie własnych wirtualnych światów oraz gier VR, w których gracze poruszają się w formie awatarów. Będziemy tam mogli spędzać czas ze znajomymi, grając, bawiąc się, robiąc zakupy, pracując.
Co przyniesie technologia metaverse?
Rozrywka – tu rozwiązania VR są najpowszechniejsze i najczęściej wykorzystywane. Nic więc dziwnego, że stworzenie wirtualnych przestrzeni może przysłużyć się przeniesieniu kolejnych sektorów rozrywki do przestrzeni metaverse.
Praca – pandemia bardzo przyspieszyła rozwój pracy zdalnej. Dlatego metaverse w przyszłości idealnie zaadresuje stworzenie przestrzeni, która umożliwi zdalną pracę w warunkach zbliżonych do pracy stacjonarnej.
Edukacja – metaverse pozytywnie wpłynie na odkrywanie świata poprzez wykorzystywanie wirtualnych przestrzeni. Nauka dzięki temu stanie się bardziej interaktywna a przez to przyjemniejsza.
Handel – tu na pewno zmieni się sposób dokonywania wyborów konsumenckich. W wirtualnym świecie dokonywanie zakupów będzie dużo łatwiejsze i w przyszłości jedynie w taki sposób będziemy nabywali potrzebne nam rzeczy.

<< zwiń

Zastosowanie Python w biznesie

Pandemia Covid-19 spowodowała, że duża część naszego życia przeniosła się do online, co przyspieszyło transformację cyfrową, digitalizację danych oraz automatyzację procesów. Dzięki temu dla branży IT otworzyły się nowe możliwości i wzrost zapotrzebowania na usługi programistyczne.

Zmienił się też sposób pracy, na pracę zdalną. Co prawda w IT to nie nowość, ale teraz bardziej niż kiedykolwiek możemy pracować z dowolnego miejsca dla dowolnej firmy na świecie.

W co w takim razie warto inwestować pod kątem wyboru technologii i języków programowania?

Odpowiedź na to pytanie nie jest taka oczywista. Co na ten temat mówią rankingi?

Według StackOverflow i ich corocznego rankingu najpopularniejszym językiem programowania jest JavaScript. Ale tu nie ma większego zaskoczenia, biorąc pod uwagę, że to język nr 1 dla Front-End developerów. Kolejne miejsca to HTML/CSS oraz Python.

Patrząc na kolejny ranking indeks popularności języków programowania PYPL, mierzący częstotliwości wpisywania w Google kursów z danego języka programowania, to od kilku miesięcy pierwsze miejsce zajmuje Python, a drugie Java.

Równie ciekawie prezentuje się indeks TIOBE, czyli dane z wyszukiwarek. Patrząc na dane z listopada 2021, na pierwszym miejscu jest Python, na drugim C, a Java dopiero na trzecim miejscu.

Jak widać, Python pojawia się w każdym z rankingów jako jeden z tych, które cieszą się największym powodzeniem.

Co jeszcze interesującego można wywnioskować na podstawie tych rankingów w kontekście Pythona?

Według raportu stackoverflow.com, w 2020 roku 44,1%. z 57 378 respondentów wykorzystywało Python. Z kolei 2021 rok to już wyraźny wzrost, ponad 48% z 83 052 ankietowanych deklaruje pracę z wykorzystaniem Python.







A jak to wygląda z perspektywy nowych developerów chcących rozpocząć swoja przygodę z Python?

Zadowolenie z pracy z Python utrzymuje się praktycznie na tym samym poziomie 67%-68%, być może z lekkim trendem wzrostowym.

Ciekawiej prezentują się dane dotyczące developerów zainteresowanych rozpoczęciem nauki i pracy w Python. W 2021 roku to język programowania najczęściej wybierany. Ale to naturalny trend myśląc o tworzeniu aplikacji webowych.


Dlaczego Python jest tak popularny?

Zastanówmy się przez chwilkę co sprawia, że Python jest tak popularny.

Prostota i mnogość zastosowań w codziennym biznesie to jego siła. Pozwala między innymi na pisanie skryptów dla aplikacji i stron internetowych, ale stanowi też świetny wybór dla osób pracujących z danymi, a także dla poszukujących kreatywnych, zupełnie nowych rozwiązań.

Dla początkujących developerów jest dużo łatwiejszy do nauki w porównaniu z innymi językami programowania. Prosta składnia jest łatwa do pojęcia, a bardziej doświadczonym pozwala skupić się na bardziej złożonych zadaniach.

Jest oprogramowaniem typu open-source, czyli z założenia jest darmowy. Działa bez problemu zarówno w środowisku Linux jak i Windows. Dodatkowo ma dostęp do wielu bibliotek, które bez problemu mogą być wykorzystywane do działań na danych, uczenia maszynowego czy wizualizacji danych.

Dzięki temu, że z każdym rokiem staje się coraz bardziej popularnym językiem, dostęp do wiedzy/kursów, dokumentacji, grup dyskusyjnych jest coraz łatwiejszy. To trochę jak taka samonakręcając się spirala: im więcej osób korzystających z Pythona, tym większe grono osób z którymi można wymieniać know-how.

Gdzie i w jaki sposób możemy wykorzystać Pythona w biznesie?

Python w biznesie ma bardzo wiele zastosowań. Coraz częściej wybieramy go do tworzenia aplikacji zarówno webowych, jak i desktopowych. Co więcej, jest to najważniejsza obecnie technologia, która przydaje się podczas projektowania stron internetowych. Tu wykorzystywane są najpopularniejsze biblioteki tj. Django i Flask.

  • Django jest jednym z najpopularniejszych frameworków. Posiada dostęp do bardzo wielu bibliotek. Umożliwia szybkie i efektywne tworzenie interfejsów API i aplikacji internetowych. Posiada wydajne systemy cache’owania, kompleksowy panel administracyjny oraz własny serwer WWW do testowania aplikacji.
  • Flask to raczej „lekki” mikroframework, nie posiada skomplikowanych narzędzi i bibliotek, dzięki czemu szybciej i łatwiej go zaadaptować do różnorodnych potrzeb. Ze względu na swoją lekkość i prostotę, stosowany jest przede wszystkim przy realizacji mniejszych projektów. Umożliwia zbudowanie silnej podstawy aplikacji internetowej.
  • Pozostałe frameworki: Web2py, TurboGears, CubicWeb, Giotto, Bottle, CherryPy, Sanic, Tornado, AIOHTTP, Pyramid, Zope

Kolejną, pokrewną dziedziną, w której Python ma zastosowanie, to programowanie systemowe. Python posiada wbudowane interfejsy do usług systemów operacyjnych. Dzięki temu idealnie nadaje się do tworzenia przenośnych i łatwych w utrzymaniu narzędzi do administrowania systemami. Programy napisane w tym języku mogą być wykorzystywane do uruchamiania innych programów, pobierania danych z Internetu (scrapping), przeszukiwania plików i drzew katalogów, przenoszenia danych, wykonywania przetwarzania równoległego za pomocą procesów i wątków. Większość interfejsów systemowych Pythona została zaprojektowana pod kątem przenośności. Przykładowo skrypty kopiujące i przenoszące pliki można uruchomić zarówno na systemie Windows jak i Linux.

Ważną funkcjonalnością Pythona jest możliwość prostej współpracy z bazami danych, w tym najpopularniejszymi systemami jak MySQL, Oracle oraz PostgreSQL. Jest też dostępne przenośne API dla baz, które zapewnia dostęp do baz danych SQL ze skryptów napisanych w Pythonie.

Automatyzacja procesów biznesowych to jedna z najbardziej rozległych dziedzin, w których Python jest wykorzystywany. Wszystkie powtarzalne i niewymagające intelektualnego zaangażowania czynności mogą zostać zautomatyzowane za pomocą prostych algorytmów napisanych właśnie w Pythonie. Ta technologia jest najczęściej wybieraną, jeśli decydujemy się na zautomatyzowanie procesów. W czym leży źródło takiej popularności Pythona w dziedzinie automatyzacji? Najważniejsze powody to:

  • Prosty i czytelny kod
  • Łatwość testowania automatyzacji napisanej w Pythonie (wbudowane narzędzie do testów automatycznych)
  • Możliwość skalowania oraz łatwej modyfikacji kodu bez wpływu na całość

Jak widzicie nie bez przyczyny Python we wszystkich rankingach zajmuje wysokie miejsca. Dzięki swojej prostocie i wszechstronności staje się już dziś wymarzonym językiem programowania. Jednocześnie jest narzędziem wysoko cenionym i często wykorzystywanym przez profesjonalistów. Łatwy w użyciu, elastyczny, wszechstronny, a ponadto ma wiele przydatnych bibliotek.

<< zwiń

Co to jest Scrum?

Podczas produkcji oprogramowania jedną z najważniejszych kwestii jest sprawne działanie, czyli spełnienie wymagań klienta, dotrzymanie ram czasowych oraz dobra organizacja pracy zespołu. Projekty informatyczne mogą być skomplikowane. Dwie najczęstsze sytuacje to sytuacja, w której klient nie jest pewien, czego oczekuje lub wręcz oczekuje wszystkiego. W obu przypadkach najważniejszym zadaniem zespołu projektowego jest przedstawienie klientowi przydatnych biznesowo rozwiązań, przy czym należy również pamiętać o czasie i kosztach wdrożenia. Scrum świetnie sprawdza się właśnie w tego typu projektach IT.

Jak wygląda Proces Scrum?
Tworzymy zespół ludzi o odpowiednich umiejętnościach. Zadania realizowane są w Sprincie (iteracji), który powinien trwać od 1 do maksymalnie 4 tygodni, choć najczęściej spotykaną w praktyce są Sprinty 2 – tygodniowe. Każdy Sprint powinien wnieść nową wartość, która jest zauważalna dla użytkowników.

W ramach Sprintu praca organizowana jest podczas spotkań Zespołu Developerskiego, a w ramach jednej iteracji planujemy i weryfikujemy ją na spotkaniach:

  • Planowanie – podział zadań,
  • Daily Scrum – codzienne spotkania,
  • Sprint Review – konsultacje planu z klientem lub analiza działającego produktu,
  • Sprint Retrospective – analiza procesu, wykorzystywanych narzędzi i wprowadzenie wszelkich dodatkowych przekształceń.

Role w Scrum
Zespół Scrum (Scrum Team) tworzy 7 do 11 osób, realizujących trzy role: Product Owner, Scrum Master i Development Team (rola zbiorowa). Zakres ich odpowiedzialności definiuje się następująco:

  • Product Owner (Właściciel Produktu) – osoba posiadająca wiedzę biznesową, a także znająca rynek docelowy dla danego produktu. Odpowiada za zdefiniowanie produktu, zarządza też zakresem funkcjonalnym i priorytetami realizacji poszczególnych zadań, odzwierciedlających wartość biznesową przełożoną na konkretne funkcjonalności. Zespół Programistów nie realizuje żadnych prac, które nie były zlecone przez Product Ownera, a Product Owner z kolei nie jest programistą. Warto też mieć świadomość, że Product Owner reprezentuje Interesariuszy (Stakeholders) którzy z kolei dysponują budżetem, niezbędnym do realizacji każdego zadania developerskiego i to nie tylko w Scrum, ale w każdej innej metodyce projektowej.
  • Scrum Master (Mistrz Scruma) – osoba znająca metodykę pracy w Scrum na wskroś . Odpowiada przede wszystkim za komunikacje w Zespole i rozwiązuje ewentualne kryzysy, a także za właściwy przebieg spotkań i zapewnienie komfortu pracy programistom. Jeśli pojawiają się przeszkody procesowe, Scrum Master je usuwa. Niezwykle ważną funkcją realizowana przez Scrum Mastera jest także zbieranie akceptacji (approvals) Product Ownera dla zrealizowanych zadań. Scrum Master ma świadomość znaczenia i praktycznej przydatności poszczególnych praktyk stosowanych w metodyce.
  • Development Team (Zespół Programistów) – zgodnie z metodyką Zespół Programistów Scrum to struktura samoorganizująca się, a kompetencje jego członków zapewniają możliwość realizacji produktu bez udziału osób z zewnątrz. Zespół liczy 7 +/-2 osoby, z pominięciem liczby 8. Dlaczego akurat 8 nie jest dobrym pomysłem? Zachęcamy do samodzielnego zgłębienia tego zagadnienia.

Jakie są zalety Scrum?
Jedną z najważniejszych zalet Scrum jest stały kontakt między członkami zespołu. Pozwala to szybko reagować na wszelkie zmiany. Dzięki temu znacznie łatwiej jest przewidzieć zakres prac i ich kolejność. Scrum to przede wszystkim rozwiązanie uniwersalne. Sprawdza się wszędzie tam, gdzie konieczne jest zarządzanie zespołem – pod warunkiem, że jest odpowiednio prowadzony. Daje dużą swobodę działania. Nie jest to gotowe rozwiązanie, ale zarys działań, procedur, narzędzi, dzięki którym można stworzyć najlepszy produkt.
Bardzo ważnym aspektem jest również minimalizacja opóźnień podczas realizacji projektu. Dzięki jasno określonym ramom czasowym realizacji poszczególnych czynności oraz codziennej kontroli możesz łatwo kontrolować postęp prac.

<< zwiń