Co robi programistę?

Co nie robi programisty?

Wszystko już było i kręci się w kółko. Ubieramy to tylko w nowe płaszcze.

Każdy nowy framework, czy narzędzie rozwiązuje pewną klasę problemów, jednocześnie tworząc zupełnie nowe klasy problemów.

Niektórzy nazwą to postępem? Ale, czy naprawdę?

W przypadku web devu - mieliśmy: czyste HTTP, SOAPy, RESTy, GraphQLe i sieci semantyczne (RDF). Termin "API" powstał w 1940 roku, i na początku odnosił się do twardego programowania, w 1990 powstał termin "web API" (jak powstały internety). I wiele idei zostało przeniesionych. Od tego czasu niewiele się zmienia, rewolucji nie było.

Wszystkie wymienione wyżej jadą po protokole HTTP. Dane w 95% przesyłane są JSONem (zaczęło się ~2000, a pierwszy standard 2013) albo XMLem (wersja 1.0 - standard 1998). I jak różnią się te technologie w istotnych miejscach, idea pozostaje ta sama: wymiana informacji pomiędzy klientem i serwerem.

Do brzegu. Zamiast uczyć się nowych, błyszczących rzeczy, naucz się podstaw. Technologii, z których to wszystko błyszczące korzysta, bo nie wygląda, jakby dużo miało się zmienić w przyszłości. HTTP/1.0 - standard 1996, a HTTP/2 2015 - branża potrzebowała 21 lat. A zmiany też nie są rewolucyjne. HTTP/3 jest dopiero w propozycji. I tu jest mała rewolucja (wymiana proto na QUIC z TCP), zobaczymy, jak branża przyjmie. Natomiast semantycznie zostało po staremu.

Często powtarzałem moim wannabe-juniorom: "Nie ma magii". Wszystko działa tak, jak napisałeś. To, co się dzieje, to nie rozumiesz, gdzie nie działa.

Zatem jeśli web dev, to zrozum: HTTP, HTTPS, JSON, XML (to już trochę passe) i będziesz w domu.

Z ogólnej wiedzy w branży, zrozum naprawdę dobrze, jak działa komputer. Na poziomie sprzętowym. Co to są te cores i threads, po co jest RAM, operacje I/O, zarządzanie wątkami i procesami. Nadal mnie zadziwia, jak wielu programistów nie ma o tym pojęcia i próbuje odpalić 40 wątków aplikacji na 2-rdzeniowym procesorze, bo "będzie szybciej". Albo cyk, zapytanie do bazy w każdym obrocie pętli i potem jest: "Boże, ten python jest taki wolny". Good luck.

Miłego. Wbijaj na newsletter.