Dalszy kierunek rozwoju (AI/Blockchain/Game devlopment)?

0

Hej!

Zastanawiam się nad dalszym kierunkiem rozwoju jako zdalny programista, tak żebym za rok/dwa łatwo znalazł pracę, jeśli zajdzie taka potrzeba. Interesują mnie 3 tematy "na topie", do tej pory "liznąłem" 2 z nich, ale nie jestem w stanie jeszcze samodzielnie dokonać wyboru. Być może Wy mi pomożecie lub podzielicie się w co sami uderzacie. Poniżej moje spostrzeżenia, niekoniecznie zgodne z prawdą.

  1. Sztuczna inteligencja,
  2. Blockchain,
  3. Programowanie gier.

  1. AI ma zastosowanie nawet na stronach internetowych, będzie stosowane w domach, samochodach, grach, wszędzie. Jest pewne, że temat nie zaginie. Na razie tworzę sobie powolutku gierki w JavaScript i boty do nich. Zaletą w moim przypadku jest brak potrzeby nauki nowych języków.

  2. Blockchain jeszcze nie próbowałem, ale temat jest stosunkowo prosty. Odstrasza troszkę potrzeba programowania w C++, który zdaje się być najlepszym dla tego zastosowania. Bawiłem się nim jakieś 10 lat temu przy początkach nauki programowania... Ale młody jestem, poradzę sobie. Najgorsze dla mnie jest, że poza transakcjami bankowymi nie bardzo widzę zastosowanie dla tej technologii i nie jestem pewien, czy balon nie pęknie za pare lat. Ktoś wreszcie zapyta "ale po co nam to?" i koniec. Nie znam tematu.

  3. Gry zawsze z nami będą i to chyba branża w której najprościej byłoby znaleźć pracę, czy to w Polsce, w Anglii czy na Islandii. Zawsze znajdzie się jakaś firma, która potrzebuje programistów. Ilość urządzeń, silników, języków jest jednak dość szeroka, a zastosowanie bardzo okrojone, bo czy programista C#/Unity znajdzie pracę jako programista np. robotów? Kolejną wadą (dla mnie) może być potrzeba relokacji, co w tak ogromnych projektach jest zrozumiałe. Współpraca to klucz. Zaletą tego rozwiązania jest, że pare lat tworzyłem już amatorsko gierki, rozumiem design takich projektów. Do tego bez problemu znajdę drużyny i projekty od których będę mógł się uczyć, zamiast robić to na własną rękę.

Obecnie pracuję zdalnie w technologiach WEB. Zależy mi by w miarę możliwości zawsze móc pracować zdalnie.

Jak sądzicie który kierunek na przyszłość będzie najbardziej trafiony? A w co Wy zdecydowaliście się zainwestować swój czas po pracy?

Pozdrawiam,
Mateusz

0

Przeciez mozesz polaczyc web developerke z blockchainem tworzac np. backend. Firmy nie zyja z pisania samych smart contractow...

1
upabove napisał(a):

A w co Wy zdecydowaliście się zainwestować swój czas po pracy?

GameDev + AI + jeszcze kilka niskopoziomowych rzeczy, które miały ciemne plamy w wyobraźni, muszę je wypełnić.
Trochę mi braknie matematyki z gamedev głównie 3d collisions i trochę z teorii sygnałów, to też mam zamiar załatać.

Blockchain raczej na końcu, ale to raczej z powodu zapchanej kolejki todo.

1

Najgorsze dla mnie jest, że poza transakcjami bankowymi nie bardzo widzę zastosowanie dla tej technologii i nie jestem pewien, czy balon nie pęknie za pare lat. Ktoś wreszcie zapyta "ale po co nam to?" i koniec. Nie znam tematu.

Transakcje bankowe to jeden z najgorszych pomysłów dla blockchaina. 95% propozycji fanatyków blockchaina to w ogólności złe pomysły. Zupełna bańka, ale przez kilka lat będzie dało się na wszystkich naiwniakach sporo zarobić.

0

Zauważyłem, że na 4p o wszystkim co nie jest klepaniem crudów w javie mówi się bańka i hype, a w tym czasie na zachodzie robią z tego dosłownie miliardy.... Pamiętam parę lat temu, data science i uczenie maszynowe to też był hype dla elity 4p.

4

Bo duża kasa z blockchaina wynika z hype'u, a nie z możliwości rozwiązywania problemów wcześniej nierozwiązywalnych (względnie ich optymalizacji).

But don't get me wrong - gdybym odpowiadał za kierunki rozwoju / portfolio produktów w jakimś IBM to też bym próbował wsadzić teraz wszędzie blockchain ;).

2

Hej,
ja raczej blockchaina bym omijał łukiem z pewnych względów (ale może się mylę), także zgadzam się z @Rev. Jeżeli chodzi o AI, to zainteresowałbym się metodami Machine Learning, sporo się teraz o tym mówi, i pojawia w wielu technologiach, także Big Data. Poza tym może zainteresuj się TensorFlow :)

1

Nie ogarniam tematu, ale ta sztuczna inteligencja to już coś robi czy nadal tylko machine learning i powtarzalne taski lecą do przodu?

Gdzie te wszystkie innowacyjne projekty, nad którymi wszystkie media się spuszczały w ostatnich latach? nagle ucichło? leczą już tego raka czy nadal utknęli na poziomie jakiejś tam niezbyt kompleksowej gierki?

0

Natomiast ciekawe byłoby zastosowanie AI do gier... W zależności od umiejętności gracza, wzrastałby poziom gry, ale to raczej chyba dość trudne zagadnienie, bo nie myślę tu o kółku i krzyżyk :)

1
hurgadion napisał(a):

Natomiast ciekawe byłoby zastosowanie AI do gier... W zależności od umiejętności gracza, wzrastałby poziom gry, ale to raczej chyba dość trudne zagadnienie, bo nie myślę tu o kółku i krzyżyk :)

0

@WeiXiao: Nie, wciąż nie stworzysz mózgu, który sam zdecyduje czego chce sie nauczyć.

Zamiast tworzyć trudne gry, lepiej stworzyć sztuczny tłum, np. codziennie dodawać 5 graczy do gry multiplayer :)

0

@WeiXiao:

jakoś mnie nie dziwi to, że nie znasz odpowiedzi na postawione przez siebie pytania. Może byś znał gdyby polska nie była czarną technologiczną dziurą na mapie europy, a polacy nie uważali wszystkiego co nowe za hype i bańkę? W tym narodzie występuje jakiś irracjonalny strach przed postępem i zmianami.
https://medium.com/cityai/the-european-artificial-intelligence-landscape-more-than-400-ai-companies-build-in-europe-bd17a3d499b

0
Czarny Kowal napisał(a):

@WeiXiao:

jakoś mnie nie dziwi to, że nie znasz odpowiedzi na postawione przez siebie pytania. Może byś znał gdyby polska nie była czarną technologiczną dziurą na mapie europy, a polacy nie uważali wszystkiego co nowe za hype i bańkę? W tym narodzie występuje jakiś irracjonalny strach przed postępem i zmianami.
https://medium.com/cityai/the-european-artificial-intelligence-landscape-more-than-400-ai-companies-build-in-europe-bd17a3d499b

Nie wiem czy strach, czy może jednak fakt, zazwyczaj przekonują mnie rzeczy namacalne i rezultaty, a nie artykuły nt. jacy to my jesteśmy fajni :D

No ok, to co zrobiły te firmy? bo tak czytam te generyczne teksty na https://benevolent.ai/ to już mi się odechciewa

AI wrzucone w tekst milion razy, opisywanie ich walki w tematyce drugs, ich missions, patients, blabla.

Ja chce efektów, kodu, i papersów.

btw: Most AI companies are in the data analytics market

My chyba o innym "AI" myślimy - Ja nie twierdzę, że dejta scajens nic nie robi.

0

człowieku główne produkty googla, facebooka, samsunga warte łącznie tryliardy dolarów są oparte na AI. Jakich Ty chcesz namacalnych rezultatów. Autonomiczne samochody, systemy rekomendacyjne, silnik wyszukiwania googla, analiza mowy, analiza tekstu, translacja maszynowa, Siri Alexa

0
Czarny Kowal napisał(a):

człowieku główne produkty googla, facebooka, samsunga warte łącznie tryliardy dolarów są oparte na AI. Jakich Ty chcesz namacalnych rezultatów. Autonomiczne samochody, systemy rekomendacyjne, silnik wyszukiwania googla, analiza mowy, analiza tekstu, translacja maszynowa, Siri Alexa

a nie po prostu machine learning? jak myślisz po co rozwiązujesz captche ze znakami, pasami, samochodami itd. dla Google? no trenujesz im maszynkę do przetwarzania obrazów :D

A gdzie ta symulacja mózgu człowieka? Mi się wydaje, że to wszystko powyżej to pod DataSci podchodzi.

0

Uczenie maszynowe, samouczenie się maszyn albo systemy uczące się (ang. machine learning) – dziedzina wchodząca w skład nauk zajmujących się problematyką SI (patrz sztuczna inteligencja).

https://pl.wikipedia.org/wiki/Uczenie_maszynowe

0

Data science is an interdisciplinary field that uses scientific methods, processes, algorithms and systems to extract knowledge and insights from data in various forms, both structured and unstructured,[1][2] similar to data mining.

Data science is a "concept to unify statistics, data analysis, machine learning and their related methods" in order to "understand and analyze actual phenomena" with data.[3] It employs techniques and theories drawn from many fields within the context of mathematics, statistics, information science, and computer science.

Pasuje chyba OK do tego typu zagadnień

Chociaż chyba masz rację:

For instance, optical character recognition is frequently excluded from "artificial intelligence", having become a routine technology.[4] Capabilities generally classified as AI as of 2017 include successfully understanding human speech,[5] competing at the highest level in strategic game systems (such as chess and Go),[6] autonomous cars, intelligent routing in content delivery network and military simulations.

Chociaż nadal nie jestem pewien co definiuje, że "machine demonstrates intelligence" (AI is intelligence demonstrated by machines)

Czyli z tej listy

człowieku główne produkty googla, facebooka, samsunga warte łącznie tryliardy dolarów są oparte na AI. Jakich Ty chcesz namacalnych rezultatów. Autonomiczne samochody, systemy rekomendacyjne, silnik wyszukiwania googla, analiza mowy, analiza tekstu, translacja maszynowa, Siri Alexa

Odpadają: systemy rekomendacyjne, silnik wyszukiwania googla, analiza tekstu, Siri Alexa?

1

A co z cloud computing?

0

Temat choć zupełnie nowy dla mnie zaciekawił mnie. Fajnie, że są certyfikaty. W programowaniu pokazuje się kod, tutaj dowodem będą szkolenia i certyfikaty. Sama umiejętność programowania na pewno mi pomoże patrząc na ogłoszenia.

Zarobki fajne jeśli komuś na tym zależy, ja akurat kieruje się czymś innym. Taka praca nie wpisuje się w moje marzenia, ale za to jest wymagająca, a ja bardzo lubię kiedy jest trudno :). Na razie robię sobie rozeznanie po kursach i może niedługo zacznę.

2

Ponieważ mam styczność z AI w szachach i coś tam sobie kodzę, to opiszę, z mojego punktu widzenia, jak to "AI" wygląda z punktu widzenia szachów, czyli poletka, w którym maszyny pokazały nam gdzie nasze miejsce.

Teraz na topie są 2 rodzaje silników szachowych:

  • "klasyczne", stosujące algorytmy alpha-beta pruning/minmax, w tej grupie znajduje się uznawany za najsilniejszy obecnie silnik szachowy - stockfish (C++)
  • "nowoczesne", czyli NN+MCTS, najsłynniejszy oczywiście to ten "scam" od Google/DeepMind - AlphaZero, a obecnie Leela Chess Zero, Komodo też coś ma (bo rodowodowo to klasyczny silnik)

Generalnie dzisiejsze silniki szachowe są niesamowicie silne, najsilniejsi szachiści nawet nie próbują grać z nimi bez handicapów, jednakże istnieją pozycje, w których taki silnik jest "głupi" - w sensie rzecz oczywista dla człowieka jest nie do rozwiązania dla programu, najczęściej się to przytrafia właśnie silnikom opartym o alfa-beta pruning. Oczywiście, sztuką jest doprowadzenie do takiej "problematycznej" pozycji w normalnej grze, niemniej jednak są osobniki, które nie mają wielkich osiągnięć szachowych w grze z ludźmi, a potrafią sobie często poremisować z takimi supersilnymi programami, właśnie z powodu takich alogrytmicznych niuansów.
LC0 też mimo swojego rankingu obecnego, potrafi czasem zagrać z kosmosu coś i niezrozumiale dla nikogo, w sensie, że doprowadza do porażki, a nie zagrałby tak klasyczny silnik ani zdrowo myślący gracz. Można to oczywiście zrzucić na barki wciąż trwającego procesu uczenia.

Poza oczywistym scamem od Google, który jest nijak nieweryfikowalny w tej materii poza hypem marketingowym, głównie pod inny cel niż szachy, niby "AI" jest LC0, którą "buduje" społeczność, ale to wciąż ML, tylko pięknie nazwany. W sumie widzę tu ciekawe zastosowanie dla blockchaina z tą siecią LC0...

Generalnie, jakieś algorytmy NN w "nowoczesnych" silnikach są odpowiednikami ifów w klasycznych silnikach i mają wady/zalety klasycznych silników, a wymagają do działania sprzętów typu TPU, w najlepszym przypadku silnych kart graficznych. Na razie absolutnie nie widać, aby ML w szachach jakoś się szczególnie czymś wyróżniał - obecnie LC0 nawet nie dotarło do "1szej" ligii i zabraknie jej w starciu najsilniejszych silników w TCEC. Może w następnym sezonie, bo postępy są, trzeba to przyznać, ale nie wierzę, że pewnego dnia ML wyprze alpha-beta, tylko dlatego, że to jakieś AI. Póki co ML się świetnie sprawdza w układaniu playlist na YouTube i Spotify albo w rozpoznawaniu czegoś lepiej od ludzi (no dziwne żeby nie, skoro człowiek nie będzie pamiętał ileś milionów przypadków różnych danych i potem to korelował). Także nie ekscytowałbym się jakimś ML, bo AI to chyba nawet za 500 lat nie stworzymy.

Oczywiście pewnie to bardziej ciekawe, niż pisanie kolejnego CRUDA, ale nie robiłby z tego sprawy, dla której warto oddać nerkę przy rekrutacji. Potem ktoś będzie bez nerki i okaże się, że maks to będzie debugował, dlaczego fanowi pornoanime, czy innego takiego zakręcenia, dostało się rekomendacjami telenowel z argentyny w jego playliście/profilu/feedzie/whatever. Nie sądze, by rozwiązywanie takich "problemów" świadczyło o tym, że na zachodzie jest dobrze w IT bo robią ML, a u nas tylko CRUDY.

0

Do dalszego rozwoju (bo jako programista web również mogę w przyszłości zarabiać 3 razy tyle co obecnie i co miesiąc jeździć na tygodniowe wczasy...) motywuje mnie jedna z dwóch rzeczy:

  • trudność: jak np. programiści blockchain nie mogą wypuszczać dziurawego kodu, a dla tego kodu musiałbym się nauczyć zapewne C++, albo ten cloud computing, gdzie musiałbym się bardzo dużo uczyć, a lista wymagań na stanowisko DevOps AWS za dwa lata może sięgać już 50 punktów,
  • innowacje (kierunek AI).

Bonusowa, trzecia motywacja to dostępność pracy (jak np. gamedev). Naprawdę lubię przeglądać jaką pracę dostałbym np. na Islandii, gdybym chciał wyjechać tam na pół roku :).

Najbardziej marzę o programowaniu czegoś, co przekłada się na życie ludzi, a nie marnowanie czasu w internecie. Więc budowanie ML dla sklepu internetowego albo gry, choć z początku ciekawe, szybko zmieni się z 'challenge' w 'kopiuj/wklej' dla kolejnego sklepu, kolejnej gierki, a to wszystko by user wydał więcej pieniędzy. Co innego byłoby z programowaniem robota, automatyki domowej, samochodu elektrycznego... Ach... :) Więc ML nie jest taki zły, może nam bardzo ułatwić życie - ale trzeba go wykorzystać do czegoś bardziej potrzebnego, niż szachów :)

2
upabove napisał(a):

Do dalszego rozwoju (bo jako programista web również mogę w przyszłości zarabiać 3 razy tyle co obecnie i co miesiąc jeździć na tygodniowe wczasy...) motywuje mnie jedna z dwóch rzeczy:

  • trudność: jak np. programiści blockchain nie mogą wypuszczać dziurawego kodu,

Nie słyszałem, by ustawowo zakazano pisać oprogramowania z błędami...
Poczytaj sobie o forkach w świecie blockchain/crypto

a dla tego kodu musiałbym się nauczyć zapewne C++, albo ten cloud computing, gdzie musiałbym się bardzo dużo uczyć, a

Dwa najpopularniejsze języki, w których pisze się obecnie blockchainy to C++ i Go, więc wybór masz. Przy czym w innych (np. Java czy Python) też się pisze.

Na blockchain też bym się nie napalał jak Reksio na szynkę, bo dopóki jego implementacja nie rozwiązuje jakiegoś ciekawego problemu (typu np. rozproszona NN dla LC0) to najczęściej z "blockchainem" zetkniejsz się przy okazji jakiegoś scamu typu JanuszAndZiutekCoin, co sobie na Ethereum żetony wygenerowali, usiłując wbić na coinmarketcap choćby na 1 dzień i szumnie nazywają to blockchainem i w ogóle to oni już liderują rynkowi nowych technologii. Fakt, faktem, jest taki na to hype, że inwestorzy się tratują wzajemnie (jeszcze) biegnąć z worami hajsu na takie właśnie "pomysły", bo mają w nazwie "blockchain", ale kiedyś się to skończy, bo ileż można...

0

Pozwolicie, że rzucę swoim spostrzeżeniem nt. Cloud, by dać komuś szansę na wyprostowanie mnie.

Do tej pory z tematyką Cloud miałem niewiele wspólnego. Żyłem w przekonaniu, że większości firm to się nie opłaca. Jest to droższe rozwiązanie niż serwer dedykowany. Zaletami miały być zapewne dostępność/szybkość konfiguracji i niezawodność. Skalowanie pomijam, gdyż to również nie przyda się większości firm. Zatem według mnie jedyną prawdziwą zaletą (niepociągającą wad) jest niezawodność, gdyż rzeczywiście kiedyś potrzebowaliśmy drugiej niezależnej maszyny na wypadek awarii, a teraz załatwia to za nas infrastruktura Cloud.

Zastanawia mnie to wszystko, bo dopiero co rozmawialiśmy o tym, że nie warto pchać się w blockchain, gdyż ta technologia nie jest potrzebna i przedsiębiorcy niepotrzebnie topią kasę.

Zacząłem kurs online nt. AWS. Jako uczeń polish-first mogę początkowo różne rzeczy źle zrozumieć i tak też było w trakcie lekcji opisujących wszystkie dostępne usługi AWS. Pytanie, jakie tkwiło w mojej głowie to "czemu tak wiele firm w ogóle używa tak drogiego rozwiązania?", głowa wręcz na siłę otwiera się na zalety. I dowiaduję się nt. takich usług jak: 2-step authentication, logowanie przez konto social, powiadomienia mail/sms w przypadku przekroczenia budżetu, usługa DNS — małe ale dla mnie - web developera — bardzo ważne bajery. Już sobie myślę "a może by tak przenieść swoje VPSy do AWS? Zmienić moje małe szare usługi w usługi enterprise, WOW!".

Dopiero w kolejnych lekcjach, podczas konfiguracji poszczególnych usług zrozumiałem, że one nie ułatwiają tworzenia mojego produktu, tylko obsługę konta AWS... Również pozostałe usługi są przygotowane tak, żeby w AWS wdepnąć i już z niego nie wyjść, bo przeniesienie tak złożonej infrastruktury do innego usługodawcy Cloud/serwerów dedykowanych może być bardzo trudne. Jeszcze przy tym pompowanie innych swoich usług jak Alexa... Wydatki, zamiast zmniejszyć, zwiększają się, bo nawet AWSowski odpowiednik dla VirtualBoxa też ma cennik.

Cloud == Blockchain?

Mnie to denerwuje. Gry uzależniają. Social media uzależniają. Usługodawcy cloud uzależniają. Cały internet byle wyssać jak najwięcej moich pieniędzy i czasu. Kursy dokończę, może nawet z certyfikatami, ale zastanawiam się, po co mojemu obecnemu pracodawcy AWS, w czym miałoby to mu pomóc, do głowy przychodzi mi tylko odpowiedź "Żeby zbankrutować".

0

@upabove Cloud <> Blockchain, i to zdecydowanie, nie znam dokładnie technologii Blockchain, ale chyba nie jestem zbytnio tym zainteresowany, bo za wiele jest związku BC z kryptowalutami, do których kompletnie nie mam zaufania. Co do AWS, nie jest to chyba najlepsza usługa... Ale też nie jestem w tej dziedzinie zbyt obznajomiony. Generalnie jak myślisz o większej inwestycji, to chyba najlepiej samemu postawić serwer (lub cały klaster) w systemie Hadoop, i w miarę potrzeb korzystać z usług zewnętrznych. Ja to tak widzę, ale proste to nie jest. Z tego co wiem, to chyba TVN korzysta z tego typu rozwiązań, bo w jednym z ogłoszeń szukali specjalisty z tej dziedziny. Można też część komputerów mieć w zwykłej konfiguracji, można tylko część danych, tych mniej newralgicznych eksportować do Chmury, niekoniecznie do AWS... Jak masz trzymać dane w chmurze i za to płacić, to trzeba skalkulować czy nie opłaca się samemu postawić serwera czy klastra, generalnie temat rzeka... :)

1

@upabove @hurgadion AWS i inne cloudy dają ci infrastrukturę w zasięgu 2 kliknięć, a nie tygodnia konfigurowania serwerów. Do tego automatycznie sie skaluje, ma failover, backupy... Z punktu widzenia developera to jest super bo nie musisz się tym wszystkim martwić w ogóle. Czy wychodzi drożej? Czasem tak, ale oszczędzasz na adminach i deveopsach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1