Czy liczba ofert pracy oraz zarobki programistów spadną przez ChatGPT4?

1

Dzisiaj dałem GPT zadanie przetłumaczenia jednego skryptu w AWK do Go, napisał taki kod że się nie kompilował a jak sie naprawiło to dawał inny output. I tak byłem zaskoczony że zrozumiał o co chodzi bez żadnego tłumaczenia. Do tego był bardzo wolny i co chwila się zawieszał i trzeba było wciskać to Regenerate Reply czy coś. Na razie nie czuję się zagrożony.

2

Ludzie mają problem napisać wymagania zrozumiałe dla drugiego człowieka, nawet po kilku callach są nadal wątpliwości a ty byś chciał żeby tak od strzała programistów zastąpić jakimś średnio udanym toolem. Ja poprosiłem ChatGPT o to żeby mi powiedział jak poszerzyć dysk fixed size w VM Box - cuda mi naopowiadał i naobiecywał :) wg mnie to narzędzie zrobi karierę w polityce, ale na pewno nie w inżynierii czy medycynie.

1

a wy dalej gadacie o chatGPT?
ChatGPT is so March 21, teraz mamy Github copilot x bazowany na GPT-4 który będzie generował kod na podstawie wiedzy o całym waszym kodzie w IDE / CLI i tworzył pull requesty na githubie

0

Tak sobie właśnie testowałem i oficjalnie stwierdzam, że to idiota.

Write a Java program, using map, which writes down all the words containing two b's from the list: abba, biba, aba, bober, bordo, ribbon, ribault

Zrozumiał, o co mi chodzi, bo pisze:

The program first creates a list of words and a map to store each word and whether or not it contains two b's. It then loops through each word in the list and counts the number of b's in the word. If the count is equal to 2, it adds the word to the map with a value of true, indicating that it contains two b's. Otherwise, it adds the word to the map with a value of false.

Tyle że wynik wykonania programu to:

abba
biba
bober
bordo

za to nie ma ribbon.

A doszedł do tego w ten oto sposób:

import java.util.*;

public class WordsWithTwoBs {
    public static void main(String[] args) {
        List<String> words = Arrays.asList("abba", "biba", "aba", "bober", "bordo", "ribbon", "ribault");
        Map<String, Boolean> wordMap = new HashMap<>();

        for (String word : words) {
            int count = 0;
            for (int i = 0; i < word.length(); i++) {
                if (word.charAt(i) == 'b') {
                    count++;
                }
            }
            if (count == 2) {
                wordMap.put(word, true);
            } else {
                wordMap.put(word, false);
            }
        }

        for (String word : wordMap.keySet()) {
            if (wordMap.get(word)) {
                System.out.println(word);
            }
        }
    }
}

No to coś trochę bardziej złożonego, co sam zrobiłem w początkach nauki:

Write a Java program, using map, to write down from the given list all the words that contain all characters of the given word. The list: go, by, bi, bit, byte, dog, rabbit, bribe, bitte, god, biba. The word: bib.

Odpowiedź:

Here's a Java program that uses a map to write down all the words from the given list that contain all characters of the given word:

import java.util.*;

public class WordsWithAllChars {
    public static void main(String[] args) {
        List<String> words = Arrays.asList("go", "by", "bi", "bit", "byte", "dog", "rabbit", "bribe", "bitte", "god", "biba");
        String target = "bib";

        Map<String, Boolean> wordMap = new HashMap<>();

        for (String word : words) {
            boolean containsAllChars = true;
            for (int i = 0; i < target.length(); i++) {
                if (!word.contains(Character.toString(target.charAt(i)))) {
                    containsAllChars = false;
                    break;
                }
            }
            wordMap.put(word, containsAllChars);
        }

        for (String word : wordMap.keySet()) {
            if (wordMap.get(word)) {
                System.out.println(word);
            }
        }
    }
}

Niezupełnie o to mi chodziło, ale nieważne, tylko dlaczego w wyniku:

bi
bib
biba

jest słowo do porównania, czyli bib, a do tego jest bi, za to nie ma rabbit?

No dobrze, trzeci test, z bardzo szczegółową instrukcją:

Write a Java program, using Map and HashMap, to write down from the given list all the words that contain all characters of the given word in any order. Count each subsequent letter of the given word separately, i.e. "biba" and "rabbit" contain all the letters of "bib" but "bi" does not. The list: go, by, bi, bit, byte, dog, rabbit, bribe, bitte, god, biba. The word: bib.

No to jedziemy:

Here's a Java program that uses a HashMap to write down all the words from the given list that contain all characters of the given word in any order and count each subsequent letter of the given word separately:

import java.util.*;

public class WordsWithAllCharsAnyOrder {
    public static void main(String[] args) {
        List<String> words = Arrays.asList("go", "by", "bi", "bit", "byte", "dog", "rabbit", "bribe", "bitte", "god", "biba");
        String target = "bib";

        Map<String, Map<Character, Integer>> wordMap = new HashMap<>();

        for (String word : words) {
            Map<Character, Integer> charCountMap = new HashMap<>();
            for (int i = 0; i < word.length(); i++) {
                char c = word.charAt(i);
                if (target.indexOf(c) != -1) {
                    int count = charCountMap.getOrDefault(c, 0);
                    charCountMap.put(c, count + 1);
                }
            }
            if (charCountMap.size() == target.length()) {
                wordMap.put(word, charCountMap);
            }
        }

        for (String word : wordMap.keySet()) {
            System.out.print(word + ": ");
            Map<Character, Integer> charCountMap = wordMap.get(word);
            for (char c : charCountMap.keySet()) {
                System.out.print(c + "=" + charCountMap.get(c) + " ");
            }
            System.out.println();
        }
    }
}

The program first creates a list of words, a target word, and a map to store each word and a map of each character in the target word and its count in the word. It then loops through each word in the list and checks whether it contains all characters of the target word in any order and counts each subsequent letter of the target word separately. If it does, it adds the word to the map with its corresponding character count map. Finally, the program loops through the map and prints out each word and its corresponding character count map. In this case, the output would be:

Wynik:

bi: b=1 i=1
bib: b=2 i=1
biba: b=2 i=1
rabbit: b=2 i=1

Dobra, poddaję się. Już nie wiem, jak dokładniej mu to wytłumaczyć. Nie dość, że ponownie wypluł porównywane słowo, czyli bib, to jeszcze nie zrozumiał polecenia, bo ponownie zwrócił bi, mimo że pisałem mu jak krowie na rowie, że to słowo nie zawiera wszystkich liter bib, a przy tym zabrakło bribe. Zresztą skoro już jest bi, to w sumie dziwi także brak paru innych.

Zero w tym logiki. Może zamiast count powinienem napisać treat, a in any order wstawić między przecinkami po contain, ale w kontekście pozostałego objaśnienia to nie powinno być konieczne. Tak czy inaczej, teraz tego nie sprawdzę, bo przestał działać.

Sam zrobiłem tak (nie wiem, czy optymalnie, ale niczym się nie kierowałem poza dokumentacją):

import java.util.Map;
import java.util.HashMap;

public class ItemsWithAllCharsOfWord12 {
    public static void main(String[] args) {

        String[] arrayOfStrings = {"go", "by", "bi", "bit", "byte", "dog",
                "rabbit", "bribe", "bitte", "god", "biba"};
        
        Map<Character, Integer> charCount = new HashMap<>();
        String word = "bib";
        char[] arrayOfLettersOfWord = word.toCharArray(); // {'b', 'i', 'b'}

        for (char c : arrayOfLettersOfWord) {
            if (charCount.containsKey(c)) {
                charCount.put(c, charCount.get(c) + 1);
            } else {
                charCount.put(c, 1);
            }
        }
        System.out.println(charCount);

        for (String s : arrayOfStrings) {
            Map<Character, Integer> charCount2 = new HashMap<>();
            for (int c2 = 0; c2 < s.length(); c2++) {
                if (charCount2.containsKey(s.charAt(c2))) {
                    charCount2.put(s.charAt(c2), charCount2.get(s.charAt(c2)) + 1);
                } else {
                    charCount2.put(s.charAt(c2), 1);
                }
            }

            Map<Character, Integer> charCount3 = new HashMap<>();
            for (Map.Entry<Character, Integer> entry : charCount2.entrySet()) {
                if (charCount.containsKey(entry.getKey())) {
                    charCount3.put(entry.getKey(), entry.getValue());
                }
            }
            if (charCount3.equals(charCount)) {
                System.out.println(s);
            }
        }
    }
}

A wynik to:

{b=2, i=1}
rabbit
bribe
biba

0

GPT dalej robi masę błędów. Nie prędzej niż 5 lat. A myślicie, że AI może przejąć świat?

1

Kilka miesięcy i ludzie o nim zapomną, cały sztuczny szum który się teraz wokół niego rozkręca jest spowodowany spowolnieniem gospodarczym i cięciem etatów w firmach z branży IT. Tak, jest to fajny tool i czasami pomocny, ale nie ma szans aby zastąpił prawdziwego programiste (czyli nie juniora) znającego technologie i domene w której pracuje.

0

Mi się wydaje że z GPT-5,6,... biedne kraje staną się jeszcze biedniejsza a bogate jeszcze bogatsze. Już wyjaśniam: generalnie w pierwszej kolejności na automaty przesiądą się Ci którzy już poprzednio próbowali ograniczać koszta przez outsourcing. Także firmy ubezpieczeniowe, banki ogólnie sfera poza stricte IT. Jeżeli pojawi się jakiś dostawca usług IT w stylu GPT Outsourcing Poland i kod będzie porównywalny z kodem hinduskim a cena 30% to firmy zaczną korzystać po wypróbowaniu produktu na kilku "pilotach".

Z drugiej strony zawód analityka przeżyje renesans, ktoś w końcu musi z tym GPT rozmawiać i to raczej nie będzie pan prezes bo on nie ma ochoty omawiać tych 273 branchy flow do aktywacji karty kredytowej. Zapewne przy GPT-100 ta jedna osoba zastąpi nie tyle wszystkich programistów co cały dział IT!

Natomiast w bogatych krajach ludzie dosłownie rzucą się na AI. Już teraz z GPT integruje się kto tylko może. Rynek zaleje fala nowych produktów, to spowoduje wzrost gospodarczy i jeżeli za GPT pójdzie zwiększenie produktywności to wzrośnie również bogactwo tych krajów. To że jedna osoba może zrobić robotę 3 oznacza że usługa będzie tańsza, ergo zwiększy się na nią popyt.

Oczywiście część ludzi straci pracę, jak dużo ciężko to teraz przewidzieć. Generalnie biznes ma to do siebie że stara się pozbyć zbyt drogich pracowników, jak programiści będą tańsi to i presja na pozbywanie się ich zmaleje.

0

Nie wiem jak szybko i czy AI zabierze pracę programistom, ale wydaje mi się że marketingowcy z ChatGPT są teraz rozchwytywani. ChatGPT wyłazi ciągle z każdej dziury w necie a giganci wydają grubą kasę żeby ukroić kawałek tortu.

1

To dajcie mu jakies prawdziwe zadanie, a nie crudy to sie usmiejecie.
Rzućcie np. mu, zeby w oparciu o opengl cos ogarnał. dziecko we mgle, wypluwa rzeczy, ktore nawet nie wiem, jak naprawiac.

0

GPT jest do wszystkiego. Ale nie można wykluczyć że kiedyś powstanie narzędzie stworzone stricte do programowania które zaszyte w IDE będzie mogło mocno przyspieszyć pracę programisty. Aczkolwiek wydaje mi się, że jeszcze sporo wody upłynie zanim AI będzie rozumiało i umiało rozwiązywać problemy domenowe. Z drugiej strony nie ma rzeczy niewykonalnych. Kwestia czasu i zasobów.

programmerRFID napisał(a):

GPT dalej robi masę błędów. Nie prędzej niż 5 lat. A myślicie, że AI może przejąć świat?

screenshot-20230324005559.png

0

Komponenty UI dla React Native czy Reacta robi bardzo sensowne. Przykładowo piszesz: zrób formularz z takimi polami z wykorzystaniem tej i tej biblioteki i pyk, dostajesz gotowy kod. Kilka małych poprawek i temat załatwiony. To samo z testami do takiego komponentu. Jestem pod wrażeniem i w sumie korzystam już na co dzień jako pomoc.

1

Ja czasem używam do drobnych rzeczy których nie lubię pisać sam (na przykład regexpy, które mógłbym wysmażyć sam, ale zwykle wolno mi idzie, bo rzadko w sumie używam i wciąż zapominam, a on mi to zrobi w sekundę i zazwyczaj bezbłędnie - wystarczy napisać o co mi chodzi), albo raz mnie dopadła jakaś mgła mózgowa, miałem jakieś bardziej skomplikowane zapytanie SQL, która się wywalało, a ja przez jakiś czas nie mogłem dostrzec dlaczego, tu też od razu wskazał co jest nie tak. Więc jakoś to podnosi produktywność na pewno, ale do jakichś większych rzeczy sobie tego raczej nie wyobrażam na razie. Myślę, że bardzo się natomiast zmieni charakter pracy programistów w ciągu najbliższych lat.

8

Chat gpt sprawi, że będzie więcej pracy i zarobki wzrosną bo będzie trzeba sprzątać projekty po chat gpt developerach.

1

kupilem dostep premium, czy jak on tam sie nazywa.
Dla unity kompletnie bezuzyteczne, kompletnie.
Nawet tak enkapsulowanej rzeczy jak prosty shader nie potrafi napisac.
Ogólnie to sie nadaje tylko do malych projektow, albo bardzo enkapsulowanych zadan, bo to nie jest w stanie zrozumiec projektu, ktory ma np. 100 000 LOC i milion pięćset zależnosci.

2

No i trzeba mu bardzo jasno wskazywać co ma napisać podając konkrety architektoniczno-językowe jeśli chcemy mieć optymalne rozwiązanie. Zatem trzeba mieć jakąś wiedze bo bez niej skończy się to dokładnie tym co napisał @twoj_stary_pijany

0

No właśnie dlatego na razie to pakować się mogą nie programiści, tylko co najwyżej Stack Overflow, bo jako wyszukiwarka czy coś do zadawania konkretnych, precyzyjnych pytań to się sprawdza bardzo dobrze, ale trzeba jeszcze te propozycje zaimplementować do projektu, przetestować itd. Już nie mówiąc o tym, że, jak już pisałem w jakimś innym wątku, ja bym się nie ośmielał ładować tam kodu z pracy - zadaję bardzo sprecyzowane pytania o konkretne problemy, na które natrafiam, a kod obfuskuję - wszędzie Foo, Bar itd. i nawet nie zdradzam branży/domeny projeku - wrzucenie jakiegoś dłuższego fragmentu codebase nawet nie wchodzi w grę, więc może też być tak, że w moich przypadkach użycia nie widać pełnego potencjału tego narzędzia.

1
9fingers_dev napisał(a):

Wydaje mi się, że w ciągu 2 lat zarobki mogą spaść np. z 18 0000 zł netto, do około 9000zł netto oraz liczba ofert pracy znacząco spadnie ponieważ jeden dev zrobi tyle co 4-osobowy zespół. Do tego dochodzi kryzys i powstaje mniej projektów.

Całkiem możliwe, że zrównamy się zarobkami z "normalnymi" branżami.

Wg mnie za wcześnie na ewaluację, ale nie łączyłbym tych 2 rzeczy.

  • Zachwyt nad możliwościami obecnego AI (i jest czym się zachwycać! Fajne, brawo, oklaski)
  • Faktycznym wpływem tego na kondycję zawodową programistów

No bo:

  • co jeśli skończy się na tym, że technologie oparte o AI będą po prostu częściej wymagane w ofertach pracy? (więc będzie parę dodatkowych API do nauczenia się czy np. każdy będzie musiał znać ML)
  • co jeśli programiści będą mieć jeszcze więcej pracy (bo będą musieli wdrażać rozwiązania oparte o AI?)? Tak jest przecież od dekad - nowe technologie nie zabierają pracy programistom, tylko wręcz przeciwnie
  • co jeśli technologie oparte o AI po prostu wejdą do IDE i tyle, tak jak mamy teraz autocomplete czy podświetlanie składni w edytorach i dalej programiści mają pracę
  • co jeśli "przejdzie bokiem"? I okaże się, że AI może jest imponujące jako zabawka/coś doraźnego do eksploracji nowego API, ale nie jest w stanie poradzić sobie w utrzymaniu realnych projektów?

A nawet jeśli AI zabierze pracę, to co w tym złego? Programowanie to bańka i od lat o tym się trąbi, że pęknie. I już pęka bez pomocy AI. Przecież dziesiątki czy setki tysięcy programistów (albo i więcej?) zostało dotkniętymi layoffami ostatnio.

Plus masę bootcampów i coraz więcej juniorów, ale też coraz więcej midów (bo to od kilku lat już trwa ta "moda na programowanie").

Więc nie potrzeba żadnego GPT-4, żeby zarobki programistów spadły.

0

Ja zadam inne pytanie, czy kasy samoobsługowe wyeliminowały zatrudnienie w sklepie? Nie, teraz kasjerki muszą ogarniać jak obsługiwać te kasy w razie problemu, a reszta została wydzielona na magazyn/rozkładanie roweru bo sklep ma 2x klientów.

To samo będzi z autonomiczną jazdą, kierowca nadal będzie wymagany przez jakieś 10 lat ze względu na bezpieczeństwo, po prostu będzie mógł pokonać 2000km w dzień bo większość trasy przeleci na autopilocie.

Ja sam czekam na oferty gdzie ciekawy startup będzie szukał "nadzorcy ml" i po prostu wprowadzał kod wypluty przez co pilota.

0
itsme napisał(a):

Ja zadam inne pytanie, czy kasy samoobsługowe wyeliminowały zatrudnienie w sklepie? Nie, teraz kasjerki muszą ogarniać jak obsługiwać te kasy w razie problemu, a reszta została wydzielona na magazyn/rozkładanie roweru bo sklep ma 2x klientów.

To samo będzi z autonomiczną jazdą, kierowca nadal będzie wymagany przez jakieś 10 lat ze względu na bezpieczeństwo, po prostu będzie mógł pokonać 2000km w dzień bo większość trasy przeleci na autopilocie.

Ja sam czekam na oferty gdzie ciekawy startup będzie szukał "nadzorcy ml" i po prostu wprowadzał kod wypluty przez co pilota.

myślę, że zmniejszyły ilość zatrudnienia. U mnie w biedronce przed kasami samoobsługowymi były 2 magazynierki, 2 na sklepie jako takie co ogarniały towaru wykładały itp I 3. a kasie permanentnie. od wprowadzenia kas te 2 z 3 z kas zniknęły zakładam że zwolniono je. jedna została a kasie i obsługuje również samoobsługowe, więc jak czasem ma klienta z mnóstwem artykułów to potrafię czekać na nią z 5 minut. często po prostu biore rzeczy i idę na kolejną kase samoobsługowa bo tak szybciej

3
itsme napisał(a):

Ja sam czekam na oferty gdzie ciekawy startup będzie szukał "nadzorcy ml" i po prostu wprowadzał kod wypluty przez co pilota.

Na tym etapie - po co w ogóle kod?

Jeśli AI jest takie sprytne, to niech nie tworzy kodu w języku programowania, tylko od razu niech tworzy bajtkod.

No i też po co pisać input dla AI? To też bezproduktywne? Przecież można by łatwiej. Gdyby tylko zrobiono coś takiego, że dałoby się wyklikać aplikację i napisać w języku naturalnym logikę, a później AI automatycznie przerobiło by to na bajtkod! To programiści by potracili pracę jak muchy! XD

Tylko... że to już było. Jeszcze niedawno się ludzie zachwycali low-code. Czy należy więc oczekiwać, że kolejna fala low-code, opierająca się na AI wreszcie zastąpi programistów?

Nie sądzę. Mam wrażenie, że zataczamy ciągle koła wokół wariacji na temat tych samych dwóch idei.

  1. zastąpienie "trudnego" programowania przez "łatwe" pisanie komend w języku naturalnym albo zbliżonym do naturalnego
  2. zastąpienie programowania przez klikanie myszą i wyklikiwanie apek (nocode, lowcode itp.)

I potem ciągle się okazuje, że "to nie było prawdziwe AI" albo "klikanie nie starcza".

Tylko, że:

  1. jeśli programowanie jest za trudne, to może potrzebujemy po prostu łatwiejszych w użyciu (tj. bardziej wysokopoziomowych) języków programowania (i lepszych bibliotek/ekosystemu i łatwiejszych w obsłudze API), a nie protezy za pomocą asystenta, który napisze kod za ciebie. Czyli może lepiej budować kompilatory, frameworki, tooling zamiast nieprzewidywalnego AI
  2. klikanie apek się sprawdza w niektórych działkach (gamedev), a w innych działkach niekoniecznie się to przyjęło
0

Ja bym chciał tylko dodać, że kluczowe są prompty oraz ilość instancji GPT. Jeżeli chcecie chatemGPT zrobić całą aplikacje to bida. Ale jak GPT-4 każecie pisać i refleksować się nad napisanym kodem, w dodatku z pluginem pamięci długotrwałej, to wyniki są inne.
Praca "pisania kodu" raczej wymrze, ale pisanie wrapperów do LLM się pojawi, chyba.
Źródło opini:
https://mobile.twitter.com/mckaywrigley/status/1644034309253394433
https://twitter.com/rikvk01/status/1644787327057776645

Pozdrawiam
Laik z czapy.

3

Tak, wszystkich wywalą, zostaną tylko PMowie i Scrum Majstrzy (chatgpt jest tak przeciez doskonały ze testerow i ludzi od infry tez juz nie trzeba).
Wiec macie 2 wyjscia: zostac Scrum Majstrem albo iść zamiatać ulice.

0

Znikną te webowe klepanki crudow a programiści nadal będą potrzebni bo ktoś musi umieć przeanalizować to co chatGPT wypluł a żeby to umieć to trzeba samemu napisać sporo programików.
Przecież nie będzie się kopiowało kodu na pałę a kto tak będzie robił to po czasie będzie potrzebował zatrudnić programistów do naprawiania bugów zrobionych przez chatGPT.

3

Na dziś dzięki ChatGPT jestem produktywny w ruście, którego się dopiero uczę. Moje zarobki dzięki temu tylko wzrastają.

0

to jak nie wiem piszczie w MVVM i macie do tego framework co wam generuje boiler plate i tak nalezy chatgpt-4 na dziś traktować oczywiście z ta różnicą że na chatgpt nalezy mocno uważać. Bo czasami to sa kompletne głupoty.

0

Pierwszy raz przekroczyłem w końcu 30k na fakturze, od czasu przebranżowienia :D i jeb chat gpt. Koniec kariery :D

3

Niepopularna opinia - ale najwięcej na czacie GPT zarobią obecnie twórcy bootcampu GPT

Jak ktoś jest odważny niech śmiało zakłada bootcamp GPT-4 a potem odpali mi jakiś skromny % za prostą radę jak zostać milionerem

2

@CoderOne: już som szybsze od Ciebie cfaniaki https://www.aidevs.pl/
1200 netto

lepiej sie zapisujcie bo nie zaraz zamykają zapisy

0

do tego chatu gpt4 trzeba się jakoś zapisywać? Czy to ta darmowa wersja co jest aktualnie przez przeglądarkę

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