Chciałbym tutaj rozpocząć luźny wątek przewidywań trendów na najbliższe lata w różnych dziedzinach. Powróżmy trochę z wykresów popularności i spróbujmy oszacować co będzie popularne za kilka lat, jak możemy się przygotować na zmiany. Dla zorganizowania dyskusji chciałbym podzielić temat na poszczególne punkty. Zależy mi, żeby każdy odpowiadający umieścił odpowiednie nagłówki w swoich przewidywaniach (można dodawać swoje).
Proponowane tematy:
- Frontend
- Backend
- Cloud
- Bazy danych
- Data Analytics
- Machine Learning
Na części z tych tematów się nie znam więc będę też zadawał pytania w swoich odpowiedziach. Ja zacznę:
-
Frontend
W ostatnim czasie React wyparł Angulara i wygląda na to, że na długo zasiądzie na fotelu lidera. W zanadrzu jest jeszcze Vue.js, a także frameworki oparte o programowanie funkcyjne pokroju Elma. Z całą pewnością frontent jako osobna aplikacja webowa konsumująca REST API stała się dominującym trendem. Co z aplikacjami gdzie frontent jest generowany przez backend? Czy takie aplikacje zostaną przebudowane w nadchodzącej przyszłości? Czy są tańsze w produkcji czy po prostu są odziedziczonym kodem, który nie przystaje do nowych trendów? Kiedy React stanie się przestarzały i co mu może przeszkodzić? Co z frameworkami typu Phoenix_Live, gdzie frontend jest co prawda osobną aplikacją JS, która konsumuje api backendowe, natomiast sam html jest generowany po stronie backendu i wysyłany po websocketach do frontendu. Czy taka architektura jest przyszłościowa? -
Backend
Java systematycznie traci na znaczeniu na rzecz języków działających na JVM. Ostatnio można zauważyć, że sporo ludzi idzie w Kotlina. Czy Scala ze swoimi topornymi typeclasses zaczyna zawodzić czy może najlepsze ma jeszcze przed sobą? Wiele osób po okresie fascynacji Scalą powraca do Javy ponieważ Java poszła do przodu z wieloma feature'ami ze świata funkcyjnego. Czy lepiej jest napisać backend webowy na JVM czy na wolniejszych technologiach typu Python, Ruby, JS dorzucając do tego load balancer? Co z DDD w tych wszystkich językach? Czy DDD oraz typesafety nie są przerostem formy nad treścią? -
Cloud
Zadziwia mnie skąd te wszystkie firmy mają tyle pieniędzy do zmarnowania na cloud, który jest tak drogi. Oczywiście, administratorzy własnych klastrów oraz klastry też kosztują. Pytanie po części związane z tematem Backend. Czy przyszłością nie będą języki, które stoją bardzo blisko metalu? Tak jak zastąpiliśmy wirtualizację konteneryzacją, czy analogicznie nie zastąpimy języków pokroju Javy oraz Pythona językami takimi jak Go, Rust, Julia ze względu na to, że są bliżej metalu? Czy narzędzia pokroju Terraform są już wystarczająco dojrzałe, żebyśmy byli w stanie migrować się z clouda na inny cloud w razie podwyżek cen usług? Czy te narzędzia są napisane dobrze? Ostatnio jak patrzyłem w kod Terraforma to się przeraziłem jak bardzo na kolanie jest zaimplementowany. -
Bazy danych
Czy bazy danych pokroju PostgreSQL nie stały się na tyle dobre, że są sprawdzone z ponad 90% procent przypadków? -
Data Analytics
Narzędzia do data analytics zostały zmonopolizowane przez firmy będące producentami narzędzi do obliczeń, np. Databricks. Czy tutaj jeszcze coś się ruszy w najbliższych latach czy narzędzia już dostępne będą tylko zyskiwały na popularności? -
Machine Learning
Zauważyłem, że bardzo ciężko dostać sensowną pracę w ML w porównaniu do innych technologii. Taka osoba zarabia też bardzo mało relatywnie do wiedzy, którą musi posiadać. Mało tego, wiele narzędzi zostało zmonopolizowanych przez frameworki za którymi stoją potężne firmy i nie bardzo da się tam wymyślić już niczego nowego jeżeli nie pracujemy na uczelni. Jeżeli pracujemy w małym dziale R&D to ciągle boimy się o pracę bo podniesienie precyzji algorytmu rekomendacji o kilka punktów procentowych jest bardzo kosztowne i rzadko kiedy się zwraca.
Zapraszam do dyskusji. Wybierz jakiś wątek podrzuć swoje odczucia.