#programowanie

254
2369

Takie właśnie rzeczy programuję! Nie anteny, te niżej!

Przechodziłem obok i nie mogłem się powstrzymać. Tak, jestem popieprzony i nie warto mnie już leczyć!

#programowanie #programista15k #programista25k #pracait i trochę #chwalesie

919a470b-c9ff-4fee-bd0a-487c93d140e2

Zaloguj się aby komentować

Lata temu w gierce poznałem gościa z Polski, który pisał tylko po angielsku. Niechętnie pisał po polsku. Miałem wrażenie, że się chce odciąć wogóle od polskich wpływów xD


Mogę tylko domniemywać, że być może otoczenie i środowisko mu nie sprzyjało i stąd ucieczka najpierw w internet, a potem zagranicę.


Gość trochę wtedy "autystyk z neta" bo dużo w necie siedział, ludzi trollował, anime oglądał; ale nie da się ukryć, że poza angielskim to mocno ogarniał programowanie, pisał mody do gier - kilka tysięcy linijek kodu w pluginach to napisał. Generalnie miał talent.


Potem jak gra zdechła, to już nie miałem z nim kontaktu, wiem tylko że wyemigrował do Niemiec, ale wracam czasem do tego okresu, bo nie spotkałem potem podobnego guru.


#gry #programowanie #gownowpis

@szaq ja w gimnazjum miałem kumpla co miał jak ja 15 lat. Programował w Assemblerze i wyciskał 100 kg na klatę. GURU.

Jeżeli w grze pisał tylko po angielsku to mogło być zwyczajnie dlatego, żeby inni gracze też mogli zrozumieć co pisze prawda? Często mi się zdarza pisać z polakami po angielsku w grach. Tak samo jak masz jakieś repozytoria na GitHubie stworzone przez polaków to inni polacy często otwierają Issue po angielsku a nie po polsku tak by reszta tez mogła pomóc. Angielski jest tym domyślnym językiem internetu prawda?

Zaloguj się aby komentować

Jeszcze w nawiązaniu do poprzedniego wpisu okazuje się, że są też nieoficjalne dodatki, pozwalające na sterowanie znacznie większą liczbą urządzeń BT od #lego


Strona domowa projektu na github: https://github.com/bricklife/scratch-lego-bluetooth-extensions

Wspiera póki co:


Bluetooth LE (BLE)

  • LEGO Powered UP Hub

  • LEGO Powered UP Remote Control

  • LEGO Technic CONTROL+ Hub

  • LEGO DUPLO Train

  • LEGO Mario

  • LEGO Luigi

  • LEGO Peach

  • LEGO Education SPIKE Essential Hub

  • General LEGO BLE Device

Nie wspiera:

  • LEGO MINDSTORMS Robot Inventor Hub

Niestety z tego co wyczytałem nie można instalować zewnętrznych dodatków do Scratch desktop. Jest inne narzędzie, pozwalające na to: https://desktop.turbowarp.org/ ale robiło mi problemy.


Oferują za to oddzielny edytor online (sprawdziłem i działa!):

https://bricklife.com/scratch-lego-bluetooth-extensions/


Można sterować pociągami, modelami Technic, itp.


#niepoprawnelego #ciekawostki #programowanie

93e0da5f-93d5-434f-af30-6321dca76beb
PanNiepoprawny userbar

Zaloguj się aby komentować

Wiedzieliście, że Scratch ogarnia Mindstorms EV3, Boost i WeDo? Ja nie wiedziałem to teraz. Wystarczy zainstalować Scratch link i się łączy z do laptopa Działa zarówno z edytorem online jak i offline. No i znów kupno tableta nie ma sensu (a na telefonie to w ogóle porażka) Będzie bawione.


Wołam @Yes_Man bo może będziesz zainteresowany.


#lego #ciekawostki #programowanie

#niepoprawnelego

65a07082-05ff-4ff1-bf88-0691b421d619
cd92a2b4-63f2-48e6-a9dd-d8b72e49dc28
af01c54e-1b7e-4aa3-b62f-7dca0ef3f292
c73506de-5af4-482f-98ff-c2782e62741e
PanNiepoprawny userbar

Zaloguj się aby komentować

@RosKomNadZor Już chyba załatane. Pomyślcie sobie, że ci od X to i tak są amatorzy w tym temacie. Bo oni oceniają użytkownika na podstawie aktywności na jednym portalu. Takie Google ocenia was na podstawie wszystkiego co robicie jeśli macie telefon z Androidem, używacie Chrome, Gmaila, YT itp. Każde konto Google musi mieć masę zebranych danych które są potem analizowane przez algorytmy i na tej zasadzie oceniane. Potem to jest wykorzystywane między innymi do pokazywania reklam czy algorytmów na yt.

Zaloguj się aby komentować

W Pythonie 3.14 moduł http.server otrzymał w końcu natywną obsługę HTTPS.


https://docs.python.org/3/library/http.server.html#cmdoption-http.server-tls-cert


Teraz dzięki poniższej komendzie można na szybko wystawić stronę na świat lub podzielić się plikami z innymi korzystając z zaszyfrowanego połączenia:

python -m http.server 8080 \

--tls-cert <*.crt> \

--tls-key <*.key> \

-d <directory>


#technologia #python #programowanie

Zaloguj się aby komentować

Mam dwa tematy z kategorii newsy #linux na dzisiejszy wieczór.

Pierwszy to usunięcie biblioteki GTK2 z repozytorium debiana w kolejnej wersji.


Tutaj jest informacja z listą pakietów: https://lists.debian.org/debian-devel/2026/01/msg00090.html

dalszy ciąg dyskusji możecie poczytać przy pomocy: Next by thread: na dole stronie.


Zaczęła się dyskusja po co usuwać, przecież soft działa itd. Gtk3 wyszło przeszło 15 lat temu i co prawda nie do końca jest kompatybilne wstecznie z wersją 2. Taki okres czasu to wystarczająco dużo aby przepisać soft na nowszą wersję nawet od razu do gtk4.

Lepiej aby opiekun pakietu poprawiał program nie rozwijany od 20 lat (takie są tam na liście) bo ktoś z niego korzysta. Tylko już dawno powstało kilka podobnych o takich funkcjach. Fajnie, że działa ale jakby nie rzeźba kogoś innego jak autor programu to by nie działał. Zamiast jęczący użytkownicy zrobić forka, pouczyć się w #programowanie to tylko jęczeć potrafią. To jest jeden z tych elementów tego świata przez który sam osobiście przestałem udostępniać soft, który swego czasu w nawet miliony pobrań szedł. Przychodzili użytkownicy którzy nie wiedzieli sami czego chcą i tylko truli d⁎⁎ę bez żadnej pomocy z ich strony. @Catharsis chyba miał dokładnie taki sam problem, stworzenie PR wygenerowanego przez AI bo zgłaszający nie potrafi programować.

Pierwsze próby usunięcia biblioteki były 6 lat temu i też był płacz. Niektóre programy od 8 lat się przepisują i nadal się nie przepisywały, np. pidgin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=883214 i tutaj jęczy nawet autor programu.

W swojej linuksowej karierze przeżyłem uśmiercenie bibliotek qt3 i qt4, nawet gtk1. W żadnym z tych przypadków nie było takiego jęczenia. Widać tutaj zmieniający się świat opensource. Gdzie kiedyś soft tworzyli geeki dla geeków. Aktualnie tworzą go korporacje a użytkownicy stali się fanatykami.

To jest problem debiana i jego pochodnych typu ubuntu. Rzeźba w gównie aby utrzymać jak największą ilość programów. Nie działa, nie jest dostosowany do współczesnych standardów, autor ma go w d⁎⁎ie już dawno to niech wylatuje z repozytorium. @koszotorobur uważa, że hejtuje te systemy. To jest jeden z przykładów dlaczego ten system stał się kiepski. Trzyma kompatybilności jakiegoś legacy gówna, przez to współczesne komponenty mają bez sensu zależności i rozmiary na dysku a do tego często stare wersje. Zamiast pożegnać przeszłość trzymają się jej.

@30ohm Wystarczy spojrzeć, jak wielki ból sprawia opuszczenie X11. Zarazem ile problemów Wayland ma i jak łatwo można by je rozwiązać, gdyby nie mieszać jakiegoś swojego ideologicznego pierdololo z developmentem i skupić się najpierw na kompletności Waylanda żeby devowie mogli.. się na niego przenieść. Bo taki KiCad to rzyga na widok Waylanda: https://www.kicad.org/blog/2025/06/KiCad-and-Wayland-Support/


Już nawet słyszałem o nowocześniejszych forkach X Server... burdel. ( ͠° ͟ʖ ͡°)


BTW używam od kilku dni CachyOS i jestem pod wrażeniem, że wszystko działa relatywnie bezproblemowo. Nie jest to system dla totalnego amatora, trzeba pogrzebać czasem... ale nie jest źle.

@Catharsis chyba miał dokładnie taki sam problem, stworzenie PR wygenerowanego przez AI bo zgłaszający nie potrafi programować.

A no miałem i jak tak czytam internety od tego czasu to jest już ogólnie plaga. Ludzie z niektórych dużych projektów open source mówią, że za niedługo będzie trzeba zatrudniać ludzi do odsiewania tych w pełni napisanych przez AI pull requestów. Zresztą podobnie pisał nawet ktoś pod moim postem o tym.

Mi w sumie od tego czasu nie chciało się dłubać nic przy moich projektach na githubie, jakoś straciłem całą motywacje. Przestałem czuć frajdę z dodawania nowych ficzerów kiedy ludzie chcą ci je dodawać za pomocą AI a twoją rolą ma być jedynie sprawdzanie AI i poprawianie po nim xd.

Zaloguj się aby komentować

TLDR

- na rynku IT w Polsce jest dużo ofert, ale to nie znaczy, że łatwo dostać pracę

- wysyłanie CV do firm nie działa; potrzebne są polecenia

- rekrutacje są trudne, ale można się ich nauczyć


Wstęp


Rzuciło mi się kilka wpisów o stanie rynku IT i szukaniu pracy. Mam kilka przemyśleń i chcę się nimi podzielić. Nie jestem rekruterem ani menedżerem, nie zmieniam pracy super często, ale dostaję dużo ofert, rozmawiam ze znajomymi, którym pracę udaje się zmienić, i prowadzę kilkadziesiąt rozmów rekrutacyjnych rocznie.


Wszystko poniżej jest tylko moją opinią i mogę się mylić — bierzcie na to poprawkę

Liczę, że choć jednej osobie się ten wpis przyda.


Do kogo kierowany jest ten wpis?


Do osób z co najmniej kilkuletnim doświadczeniem. Większość rad nie jest adekwatna dla studentów i juniorów — start dziś jest bardzo ciężki, a że zaczynałem dawno temu, nie wiem, jak zrobić to dobrze


Jak wygląda obecny rynek pracy dla programistów?


Ofert jest dużo. Głównie stacjonarnych lub hybrydowych i głównie w Warszawie. Są firmy zatrudniające zdalnie, ale jest ich niewiele. Warszawa ma jeden z najlepszych rynków pracy w Europie — Gergely Orosz twierdzi, że najlepszy po Londynie, głównie ze względu na koncentrację kapitału big techów. Kilka największych polskich miast też ma niezłe rynki pracy.


Nie zmienia to faktu, że wymagania są wysokie — techniczne, miękkie i pod kątem wydajności. Kultura pracy w wielu miejscach jest toksyczna. Masowe zwolnienia są codziennością. Drodzy pracownicy są przenoszeni do tańszych krajów. Ryzykowne projekty realizuje się ludźmi na kontraktach. Bzdurne metryki służą do mierzenia produktywności programistów. A menedżerowie szukają najsłabszych ogniw, żeby ich zastąpić.


Ale zarobki są bardzo dobre i w Polsce ciągle rosną. Ofert pracy jest dużo, zwłaszcza dla seniorów.


Skąd te sprzeczności?


Rynek pracy programistów jest pełen paradoksów. To efekt chaotycznych ostatnich lat:

  • covid i zero-interest-rate-policy (ZIRP) w USA (2020–2021) mocno zaburzyły rynek. Przy zerowych stopach nie opłacało się trzymać kasy, kapitał był tani i pompował firmy oraz startupy, windując płace programistów na świecie.

  • kiedy stopy poszły w górę (2022–2023), firmy zaczęły szukać cięcia kosztów. Przez amerykański big tech przetoczyła się fala zwolnień.

  • w międzyczasie Elon Musk kupił Twittera i zwolnił ~80% załogi (2022–2023). Wiele osób mówiło, że serwis padnie. Nie padł, a firma zaczęła zarabiać. To stworzyło precedens.

  • zarządy kolejnych firm nauczyły się, że można przenosić drogie role za granicę (2023–2025). Po co płacić absurdalne stawki w USA, skoro podobną robotę zrobi Polak, Hiszpan czy Meksykanin? Offshoring stał się modą, a big tech otwiera biura gdzie indziej, w tym w Polsce.

  • wybuchła bańka AI (2023–2025), która znowu uruchomiła strumień inwestycji i rekrutacji w wybranych firmach.

  • I tak dochodzimy do dziś: sygnały są mieszane. Z jednej strony firmy optymalizują koszty, tną najdroższych pracowników i przenoszą zatrudnienie do Polski, podbijając płace dla najlepszych. Z drugiej wszystkim dokręcana jest śruba.

Jak więc odnaleźć się w tym kotle?


Zasadniczo niewiele się zmieniło: trzeba znaleźć firmę (albo dać się znaleźć), przejść przez rozmowy i dostać ofertę. Każdy z tych etapów to gra z zasadami. Ignorowanie ich — albo gorsze, nieznajomość — zwykle kończy się porażką. Zanim wejdziemy w szczegóły, warto zadać sobie jeszcze jedno pytanie:


Jak nie wpakować się w bagno?


Nie ma już stanowisk idealnych. Zawsze są jakieś wady. Przez cały proces warto pilnować, czego szukamy. Dla jednych czerwone flagi to praca wieczorami, dla innych wyczerpujący on-call, a dla kogoś częste reorganizacje. Niezależnie od preferencji, warto spisać pytania, na które musimy poznać odpowiedź.

Skąd wziąć odpowiedzi?

  1. znajomy z firmy — najlepsza opcja. Jeśli masz kogoś, komu ufasz, nie wahaj się zadać pikantnych pytań. Rozeznaj się, jak wygląda struktura firmy i które obszary są spoko, a gdzie jest tragedia.

  2. podczas rekrutacji pytaj interviewerów. Ważne: nie warto pytać rekrutera, bo to zwykle tylko proxy. Jeśli jesteś na etapie oferty, a wciąż masz pytania, poproś rekrutera lub hiring managera o rozmowę z kimś z zespołu. Rozmawiając z osobami z wewnątrz, bierz poprawkę, że mogą kolorować odpowiedzi — jeśli kręcą, zwykle jest gorzej.

  3. internet — im większa firma, tym więcej informacji. Polecam wątki na teamblind.com.

  4. finanse firmy — dla spółek akcyjnych łatwo znaleźć kwartalne wyniki i nagrania z konferencji dla inwestorów. Jeśli biznes się nie spina, spodziewaj się częstych zwolnień, problemów z podwyżkami i (zależnie od orga) chaotycznych decyzji leadershipu.


Jak zostać zaproszonym na rozmowę?


Na jedną pozycję w dobrej robocie wpada zwykle kilkaset CV — bliżej tysiąca niż stu. Rekruter nie jest w stanie się przez to przebić, zwłaszcza że spora część aplikacji w ogóle nie pasuje do opisu. Część to ściana tekstu. Inne listują każdą pierdołę, mimo że nikogo nie interesują skille typu Jira czy MS Word.


Pierwszym zadaniem jest znaleźć się za murem tysiąca CV. Jak? Najlepiej w ogóle nie próbować go przeskoczyć. Są dwie zasadnicze ścieżki:

  • zdobądź polecajkę — ktoś z wewnątrz firmy musi Cię zarekomendować. Może masz znajomego pracującego w tej firmie? Może znajomego, który ma znajomego? A może da się namierzyć kogoś na LinkedInie i przekonać do rekomendacji? Najlepiej, jeśli taka osoba nie tylko wrzuci CV do systemu, ale też napisze do rekrutera i menedżera, że warto Cię zatrudnić i pasujesz na stanowisko.

  • daj się zauważyć — trudniejsza droga, ale ładny profil na LinkedInie, sensowne firmy w historii, zwięzły opis i zawodowe zainteresowania pomagają. Do tego aktywność na meetupach i konferencjach, w grupach dot. specjalności, na Slackach, w opensource. Cokolwiek, gdzie ktoś może szukać specjalisty, może dać Ci szansę.

W obu przypadkach warto pamiętać, że networking i kontakty pomagają.

Ostatnia rzecz: CV musi pasować do pozycji. Polecam jedną stronę, kluczowe technologie wypisane po przecinku i kluczowe osiągnięcia z poprzednich ról. Chodzi o to, by rekruter od razu zobaczył, że jest match.

Jeśli to gra, to czeka nas rozmowa z rekruterem i właściwe interviewsy.


Rozmowy kwalifikacyjne


Standardowa rekrutacja sprawdza trzy rzeczy: kodowanie, architekturę i umiejętności miękkie (w tym scope, czyli zakres odpowiedzialności).


Obecnie często spotkasz structured interview, tzn. pytania mają scenariusz i klucz dobrych odpowiedzi. Trochę jak na maturze, tylko że po drugiej stronie jest żywy człowiek, który może pomóc. Skoro druga osoba ma scenariusz, to będzie się go trzymać. Zmiana tematu i próba zaimponowania niszową wiedzą zwykle nie działa. Kombinowanie/ściąganie to zazwyczaj strzał w stopę — interviewer zwykle wyczuwa, co jest grane.


Wróćmy do samych zadań. Jeśli chodzi o kodowanie, często trafiają się problemy, na które rozwiązanie trzeba znać. Na rozmowie czasu jest zazwyczaj za mało, żeby spontanicznie rozwiązać problem widziany pierwszy raz. Jak się więc przygotować?

  1. leetcode

  2. książki z zadaniami

  3. chodzenie na interviewsy — im więcej ich za tobą, tym mniej cię zaskoczy na nowych

Warto też zapytać rekrutera, o co pytają na rozmowach. Jeśli pada temat, w którym nie czujesz się komfortowo, przesuń spotkania o kilka dni i odśwież temat. Podczas samego zadania warto słuchać interviewera. Często naprowadzi na dobry tor.


Jeśli chodzi o architekturę, wygląda to podobnie, tylko problemy są zazwyczaj z życia wzięte. Niektóre zadania da się ogarnąć z marszu.


Ostatnie są umiejętności miękkie. Tu pytania są podobne w większości firm.

  • jaka była twoja rola w zespole? jak duży projekt prowadziłeś? ilu programistów było zaangażowanych w twój projekt? czy musiałeś współpracować z innymi zespołami? Chodzi o wpasowanie twojego scope’u w firmową drabinkę. Jeśli gdzieś warto pokusić się o kolorowanie swoich osiągnięć, to moim zdaniem tutaj. To jest jedna z kluczowych rozmów, jeśli chodzi o poziom, jaki ci się przypisze. Często w internecie można znaleźć oczekiwania na dany poziom. Jeśli nie, można próbować przyrównać poziom do innych firm, np. korzystając z levels.fyi.

  • podważanie projektu — sprawdzanie na podstawie twoich przykładów, czy to, co mówisz, ma ręce i nogi, i czy umiesz myśleć. Na podstawie jakich sygnałów podejmowałeś decyzje. Czy podejmowałeś je sam, rekomendowałeś je, czy tylko wykonywałeś decyzje przełożonych.

  • często pada pytanie “co poszło nie tak?”. Chodzi o sprawdzenie, czy potrafisz ogarnąć sytuację, gdy pojawiają się niespodzianki (a zawsze się pojawiają).

  • częste są też pytania behawioralne dot. rozwiązywania konfliktów czy przekazywania feedbacku. Rzucenie “tak, tak, kojarzę NVC” czasami skraca tę część.


Jeśli pójdzie dobrze, pewnie dostaniesz ofertę. Jeśli źle, warto dopytać, co było nie tak. I najważniejsze — jeśli się nie udało, nie należy się tym przejmować. Rozmowy kwalifikacyjne uwala większość aplikujących. To normalne. Czasem trzeba mieć trochę farta. I uważaj na syndrom impostora - powtarzaj sobie, że umiesz rzeczy.


Dostaliśmy ofertę. Jak ugrać więcej?


Warto ponegocjować. Powiedz rekruterowi, że zależy Ci na wyższym wynagrodzeniu. Albo że bierzesz udział w innej rekrutacji i musisz się poważnie zastanowić. Zapytaj o widełki na stanowisku i powiedz, że spodziewałeś się oferty bliżej ich górnej granicy.


Zapytaj też o signing bonus. Możesz go argumentować np. premią lub transzą RSU, która przepada Ci przez zmianę pracy.


Idziesz do małej firmy i płaca jest naprawdę nienegocjowalna? To może jest zespół, w którym chciałbyś się znaleźć?


Przeszliśmy rozmowy kwalifikacyjne, ale ktoś inny dostał ofertę. Co robić?


To zdarza się całkiem często. Lądujemy w wtedy w limbo zwanym team matching. Rekruter będzie wysyłał nasze CV do hiring managerów przez następne kilka miesięcy i podsyłał Ci oferty. Moim zdaniem najważniejsze, to nie dać się wepchnąć w problematyczny zespół. Znowu więc zostaje nam zadawać trudne pytania i szukać kogoś zaufanego wewnątrz.


Przeczytałem całość co teraz?


Mordo, serio chciało Ci się? Liczę, że to nie był zmarnowany czas. Teraz możesz się poniezgadzać ze mną w komentarzach!


#programowanie #programista15k

>dla programistów?
>produktywności programistów.
>Rynek pracy programistów
>windując płace programistów na świecie.

IT to nie tylko programiści

@malkontenthejterzyna devops here, szukam pracy od grudnia. Wszystkie najnowsze i fancy technologie mam wpisane w CV, doświadczenia z dużym biznesem z 8 lat. Na 50 wysłanych cv dostałem jedną odmowę i zero innych odpowiedzi xD

Z polecenia chyba zacznę pracę przyszłym tygodniu.


Co ciekawe, na takim pracuj.pl widzisz czy ktoś otworzył Twoje cv itp. no więc nie wiem czy 10% pracodawców w ogóle spojrzało na moje CV w ciągu półtorej miesiąca.

@malkontenthejterzyna ta branża to cyrk na kółkach. Czym prędzej chcę ją zmienić. Tutaj człowiek nie może mieć czasu dla siebie, dla rodziny, tylko po pracy musi się rozwijać, nadrabiać, leetcodować.

Zaloguj się aby komentować

@szatkus-1 Jeśli tego używasz na serio, to wariant za $100 miesięcznie jest jedną z dwóch sensownych opcji. Druga, to wariant $200 miesiąc, jeśli tego bardzo serio używasz. Kiedy na firmowym koncie miałem płatność za tokeny, to dawałem radę nastukać $50 w 3 godziny.

Zaloguj się aby komentować

Jak ja gardzę tym gównianym systemem, chciałem sobie poprawić w ogrodzie na szybko program w stacji pogodowej bez brania miktrokontrolera do domu. To jebane gowno windowsowe aktualizacje sobie akurat teraz wymyśliło


#gownowpis #programowanie #komputery #programista15k #zalesie

55a3ec90-4bfc-44c9-a655-92c075f82363

Tak, nie ma bardziej upierdliwej rzeczy niż wymuszanie aktualizacji z jednoczesnym utrudnieniem ich wyłączenia. Wiele osób nawet nie wie że da się je wyłączyć bo to jest tak ukryte.

Zaloguj się aby komentować

Hejka ziomeczki.

No to jak to jest z tym #programowanie w 2026?

Jak patrzę na portale typu just join to ofert jest tyle co standardowo, powiedzmy jak w 2019 roku.

I teraz słyszę 2 skrajne opinie:


Opinia nr1: "Robota jest, wszystko dobrze robią, dobrze robota idzie. Jak ktoś nie może znaleźć pracy to jest nieudacznikiem i miernotą. A poza tym wolny rynek mordo, maszeruj albo giń! "


Opinia nr2: "Rynek jest ciężki, grupowe zwolnienia, musisz mieć nienaganne CV, robić dziesiątki projektów i mieć w zanadrzu znajomość tuzina technologii, żeby ktoś w ogóle spojrzał na Twoje CV, nie można zasiedzieć się w jednej firmie, bo Twoje skille będą nieaktualne na rynku pracy. A poza tym to mój kolega to szuka roboty od marca. AI nas wszystkich zastąpi!!! "


No więc jak to jest - jest ciężko z robotą dla kogoś z 5+ (a właściwie 10+) lat doświadczenia czy nie bardzo?

Pytam, bo powoli planuję zmienić pracę ze względu na stres oraz kiepską atmosferę w robocie.

#pytanie

acefda30-5cfa-4834-8059-1fef9327e146

Moim zdaniem cv są passe a rekrutacja to gra, której trzeba się nauczyć. Nie ma już manny z nieba - ZIRP nie wróci. Ale w polsce rynek it jest bardzo silny o ile ktoś umie się w nim poruszać - co niestetu niekoniecznie wynika z / przekłada się na czyjeś umiejętności.


Chyba napiszę o tym post wieczorem, bo to już któreś pytanie na ten temat, które widzę, a czuję, że mam kilka przemyśleń i rad.

Programista C/Linux, 8+ lat doświadczenia, oferty regularnie spływają, po 8 latach postanowiłem zmienić pracę, złożyłem CV i po niecałym miesiącu już składałem wypowiedzenie. Wcześniej dla poćwiczenia kilka rozmów. Z jednej nawet dostałem ofertę, ale po wypowiedzeniu i kontrofercie zostałem.

@maly_ludek_lego Nie wiem jak inni ale mogę się wypowiedzieć jako freelancer z kilkuletnim doświadczeniem. Zasadniczo to na moje wysłane CV jest zero odzewu jeśli wyślę na coś wyżej niż junior a jak jest odzew to zazwyczaj na jakieś najgorsze stanowiska i to za głodową wypłatę. Dlatego sam się zastanawiam w sumie co robić bo na razie mam sporo zleceń ale te się kiedyś mogą skończyć i co wtedy xD. A nie wyrobię raczej na raz teraz zatrudnić się gdzieś jako junior żeby łapać tego całego expa do którego spuszczają się rekruterki i jednocześnie klepać zlecenia dla innych bo bym musiał wracać z pracy do kolejnej pracy a tego na dłuższą mete nie dam rady psychicznie xD.

Dlatego też podobnie jak inni gdzieś z tyłu głowy lata mi pomysł przebranżowienia się. Ale bardzo bym tego nie chciał bo ja w sumie lubię IT i nigdy nie pchałem się do tego z chęci dużych zarobków a z pasji. No ale niestety nadchodzą przykre czasy.

Zaloguj się aby komentować

Zwykle udostępniam tu artykuły, które publikuję na swoim blogu. Tym razem mam jednak do pokazania coś większego


294 dni. Tyle minęło od napisania pierwszego zdania do postawienia ostatniej kropki mojego najnowszego e-booka. „Kolejna książka o Gicie” w końcu ujrzała światło dzienne i jestem ogromnie dumny z produktu, który mogę Ci dziś zaprezentować!


„Kolejna książka o Gicie” to ponad 180 stron konkretnej i praktycznej wiedzy. E-book przeprowadzi Cię krok po kroku od podstaw po bardziej zaawansowane treści. Nie jest to jedynie teoretyczny opis działania Gita, ale opisałem również praktyczne wskazówki i rekomendacje, które pomagają pracować z nim lepiej i efektywniej.


Oprócz treści teoretycznej w e-booku znajdziesz sporo ćwiczeń praktycznych pozwalających na przetrenowanie zdobytej wiedzy i wykorzystanie Gita w skryptach czy automatyzacjach.


W premierowym artykule znajdziesz szczegółowe informacje dotyczące zawartości e-booka


https://devszczepaniak.pl/kolejna-ksiazka-o-gicie-premiera/


#git

#ebook

#programowanie

#informatyka

#programista15k

#frontend

#naukaprogramowania

#backend

W premierowym artykule znajdziesz szczegółowe informacje dotyczące zawartości e-booka

Dla tych co jak ja już chcieli pytać co jest w kolejnej i czy koniecznie trzeba zaglądać do poprzedniej

Jestem akustykiem - jak dołączałam do branży do super ekspert miał na nazwisko Szczepaniak, teraz programuję akustyczne rzeczy, i nadal ekspert to Szczepaniak, damn... rodzina geniuszy?

Zaloguj się aby komentować

Kolega siedzi od lat w amerykańskim korpo, które ma oddział w Gdańsku i u nich nadal jest jak po lewej Jedyna różnica, to że zmuszają ich coraz bardziej do powrotu do biura.

Zaloguj się aby komentować

adeptom #programowanie polecam myśleć o testach jednostkowych jako "zbiorze aksjomatów o kodzie których znajomości oczekujesz od próbujących rozwijać twój system".

dodatkowe twierdzenie do udowodnienia w swojej duszy dla chętnych - #sztucznainteligencja nie chce nic, więc większość testów jednostkowych które proponuje jest k⁎⁎wa bez sensu xD

#autyzm #psychiatria #komunikacja

prompt: zaproponuj wpis na portal społecznościowy hejto na temat "co to testy jednostkowe"

Pewnie każdy coś słyszał, ale krótko i po ludzku

Co to są testy jednostkowe?

Testy jednostkowe to małe, automatyczne sprawdziany dla kodu.
Biorą najmniejszy sensowny kawałek programu (funkcję, metodę, klasę) i sprawdzają, czy:

  • dla danych wejściowych X

  • zwraca wynik Y

  • zawsze i przewidywalnie

To trochę jak test smaku w kuchni:

zanim podasz danie gościom, próbujesz łyżeczką sosu, a nie czekasz aż ktoś się zatruje.

Po co to komu?

  • szybciej rozumiesz własny kod (i cudzy)

  • zmiany nie psują rzeczy, które już działały

  • refaktoryzacja przestaje być rosyjską ruletką

  • mniej „działało u mnie”

Czego testy jednostkowe NIE robią:

  • nie sprawdzają UI

  • nie testują całego systemu

  • nie zastępują myślenia

Najczęstszy błąd:
„Napiszę testy na końcu”
(spoiler: na końcu już się ich nie pisze)

Dobrze napisany test jednostkowy to:

  • szybki

  • deterministyczny

  • czytelny

  • testuje jedną rzecz

A najlepszy moment na testy?
w chwili, gdy kod jeszcze boli od świeżości

Jeśli chcesz, w kolejnym wpisie mogę:

  • pokazać zły vs dobry test

  • albo wytłumaczyć testy bez frameworków i buzzwordów

@wombatDaiquiri


Biorą najmniejszy sensowny kawałek programu

To jest mega nieoczywiste. Moim zdaniem AI często testuje zbyt nisko, betonując kod.


To jest mega artykuł na ten temat - w Pythonie, ale imo lang agnostic. Cała książka też sztos.

https://www.cosmicpython.com/book/chapter_05_high_gear_low_gear.html


Generalnie narzucanie architektury dla kodziku to jedna z ważniejszych rzeczy przy vibe-codowaniu.

Ja ogólnie lubię TDD i wydaje mi się, że to najlepszy sposób na AI. Odpalasz takiego gemini cli i mowisz aby na podstawie wymagań (tutaj uzupelniasz) napisał Ci testy. Sprawdzasz czy mają sens i potem w kolejnej iteracji mówisz aby zaimplementował kod jtóry przejdzie testy i spełni wymagania. Potem każda poprawka to najpierw poprawa testów, a dopiero potem zmiany w kodzie. Takie coś u mnie się sprawdza

@dotevo


mowisz aby na podstawie wymagań (tutaj uzupelniasz)


Czyli dosłownie przekazujesz logikę testów a AI je tylko tłumaczy na język programowania? Czy w ogóle piszesz test i mówisz „uzupełnij przykłady dla następujących warunków brzegowych”? Pragnę zwrócić jedynie Twoją uwagę na fakt, ze całe „myslenie” tj. „podejmowanie decyzji na podstawie ekspertyzy” nadal w swoim podejściu odpowiadasz sam.

@wombatDaiquiri ależ oczywiście. Zresztą osobiście mało używam AI w pracy. Za to do hobbistycznych projektów owszem bo mocno przyśpiesza pracę, a przy tym trenuję sobie jak pracować z AI.


Wydaje mi się, że dałoby radę napisać jednego dobrego prompta, który zrobi wszystko. Używam gemini-cli i piszę mu tylko "W pliku readme.md masz opis projektu, zaimplementuj go używając TDD w języku XYZ. Projekt będzie gotowy gdy ...., pamiętaj o podziale na moduły oraz kod musi być w języku angielskim". Potem mieli cały dzień i na koniec wychodzi coś sensownego. W prompcie najlepiej wprost powiedzieć na co musi zwrócić uwagę. Np. bezpieczeństwo, testy e2e, dokumentację itd.


Druga sprawa to czego używasz do kodowania? bo wg mnie chatgpt jest słaby, gemini ok, claude najlepszy - ale za free mało można.

@wombatDaiquiri Mój problem z UT (po nastu latach pracy w zawodzie) jest taki, że są to duplikaty większości aksjomatów które w kodzie... już są. W kodzie.


Kod produkcyjny jest sam w sobie właśnie takim aksjomatem. Więc dodanie duplikatu powoduje w wielu (nie wszystkich!) wypadkach marnowanie czasu na pracę "żeby testy przeszły" po najmniejszej zmianie: czy to funkcjonalnej, czy refaktorze.


Dlatego z mojej perspektywy podwójnie chore są "progi pokrycia testami jednostkowymi" które spotykam w różnych firmach.


Gdyby tylko zamiast nad testami UT spędzić więcej czasu nad kodem produkcyjnym, przygotowaniem zmian... : ).


UT nie są zupełnie bezużyteczne. Nie wszystko da się łatwo wyczytać z kodu, wyłączam z tego zbioru UT na bardzo nietypowe edge case'y (typu reprodukcje bugów) i testy modułowe (które de facto nie są UT, ale to często te same narzędzia i ten sam run).

@baklazan ja osobiście potrzebuje „sanity check” ze każdy komponent który napisałem działa tak jak sie spodziewam zanim będę składał komponenty ze sobą. Ale ja pracuję też dość głęboko w infrastrukturze dużych serwisów, więc mogę mieć zboczenie na bezawaryjność.


Natomiast zazdroszczę ludziom którzy są przekonani ze napisali to co chcieli po tym jak to napiszą xD

@wombatDaiquiri Nigdy nie jesteś pewien na 100%, więc testy są konieczne: po prostu z reguły UT są najmniej użyteczne. Generalnie chodzi o to żeby tworzyć zmiany małymi krokami, używając do tego bardzo małych commitów, jednocześnie nie zmieniając zachowania tam gdzie nie trzeba.


Podam Ci przykład jak do tego podchodzę:

Zmiana w aplikacji rozszerzającej zachowanie jakiegoś modułu.

Zaczynasz od refactorów, które mają nie zmieniać zachowania klasy. Każdy refactor to osobny commit. Każdy commit musi być czysty (tzn nie zawierać innych zmian, nie będących częścią tego co robisz), więc np:
- osobny commit na uporządkowanie zmiennych w funkcji, tak, żeby dało się jej część wyciągnąć robiąc niewiele więcej niż kopiuj-wklej,

- osobny commit na wydzielenie metody,

- itd.

Generalnie osobny commit na każdy krok refactoringowy. Podobnie przy dodawaniu nowego kodu, idealnie byłoby podzielić go na kawałki.


Każdy commit musi działać! (przechodzić wszystkie testy itp)


Z reguły zmiany wprowadzające zmianę zachowania są na końcu takiego brancha/patchsetu i powinny być tryawialne: żebyś był w stanie szybko je wycofać, ale też szybko wyłapać jakiś problem.


Wiadomo - przeoczysz wiele błędów. Ale jeśli przy każdym commicie przejrzysz zmiany które zrobiłeś, zmniejszasz szansę na wprowadzenie regresji, i to wielokrotnie. Pomaga przy tym pisanie dobrych opisów commitów: opisując nie "co zrobiłem" tylko "po co to zrobiłem" - to "co zrobiłeś" widać w commicie, zwłaszcza jeśli jest mały i prosty. Pytanie "dlaczego ten commit zrobiłeś" jest jeśli nie nieoczywiste to na pewno trudne do zgadnięcia. Finalnie: odpowiedź na to pytanie wiele razy sprawiła że wywaliłem dane zmiany jako kompletnie niepowiązane ; D.


To jest workflow do którego się trzeba przyzwyczaić, wymaga dużo czytania i rozumienia kodu, ale bardzo szybko powoduje, że nie dość że robię o wiele mniej błędów, to do tego bardzo dobrze rozumiem co się dzieje w kodzie - żeby przygotować dobry patchset musisz dobrze zrozumieć co robi kod w którym pracujesz.


Prywatnie zmieniło to moje podejście do pisania kodu o 180 stopni. Jeśli zaczniesz stosować ten workflow i nabierzesz wprawy zaczynasz pisać kod paradoksalnie bardzo szybko i bez błędów - nie marnuję czasu na debugowanie, bo najczęściej nie mam po co go robić.


I powoduje że UT są po prostu upierdliwe, bo przenoszę ciężar z "napisz kod produkcyjny i opisz go testami" na "napisz kod produkcyjny tak żeby działał i nic nie popsuł". Testuję go najczęściej tylko manualnie wysokopoziomowo, czasem piszę i odpalam testy modułowe/systemowe.

Zaloguj się aby komentować

Mnie te powiadomienia o RODO, ciasteczka i inne gówna tak irytują że mam je wszystkie poblokowane adblockiem. Do prawie każdego adblocka możesz dodać do listy filtrów takie co usuwa te komunikaty.

Ofc to nie sprawia automatycznie że się na nie nie zgadzasz tylko je ukrywa ale ja mam te zgody po prosty w d⁎⁎ie. I tak sobie robią z tymi danymi co chcą a poza tym losowa strona na którą wejdę raz czy 2 razy w życiu nie zbierze ich tyle żeby odmieniło to jakoś moje życie.

Zaloguj się aby komentować

Zaloguj się aby komentować