Czym się różni Crud-owiec od programisty z prawdziwego zdarzenia

2

Jestem na tym forum już jakiś czas i wielokrotnie widywałem wpisy dotyczące tego, że Crud-owcy nie mają przyszłość w IT.
Czym wg Was różni się Crud-owiec od programisty? Jakie dodatkowe umiejętności poza tworzeniem aplikacji webowych powinien mieć nie Crud-owiec?
A może pod pojęciem Crud-owiec kryje się osoba która potrafi jedynie tworzyć zapytania do bazy, ale już całej aplikacji nie jest w stanie zbudować?

10

Crudowiec, to taki programista, który tworzy crudy, czyli pozbawione logiki biznesowej, nakładki na bazę danych, udostępniające jedynie te 4 podstawowe operacje.
Z tego powodu, nie musi znać dobrych praktyk, wzorców, wiedzieć jak implementować podatny na zmiany kod biznesowy czy pisać testy. Nie utrzymuje też swojego kodu na produkcji, więc nie wie jak logować, instrumentować, nie interesuje go wydajność, itp.

1

Ja bym dodał ze nie ma pojęcia o architekturze sieciach nie ogranina bardziej skomplikowanych zapytań sql

2

Dobry "krudowiec" bywa lepszy od seniora i architekta. Nie trzeba nikogo obrażać. Nawet robienie CRUDów dziś jest sztuką niebanalną.

0

@S4t: "Ooo mozesz rozwinąć w jaki sposób? "

Automatyzacje CRUDa można wyciągnąć do takiej abstrakcji, w której niektórzy niby developerzy zwyczajnie się pogubią. Jak np. taka Axapta: X++ co to za czort? .. To ERP to nic innego jak zautomatyzowane robienie CRUDÓW... Napisz takie coś...

1
Michał Jasiński napisał(a):

Jakie dodatkowe umiejętności poza tworzeniem aplikacji webowych powinien mieć nie Crud-owiec?

Poza?
A przeciez wystarczy nigdy nie nauczyc tworzenia aplikacji webowych.
Jesli do tego nie nauczysz sie tworzenia UI w zadnej formie to praca od razu zrobi sie przyjemniejsza.

5
somekind napisał(a):

Crudowiec, to taki programista, który tworzy crudy, czyli pozbawione logiki biznesowej, nakładki na bazę danych, udostępniające jedynie te 4 podstawowe operacje.
Z tego powodu, nie musi znać dobrych praktyk, wzorców, wiedzieć jak implementować podatny na zmiany kod biznesowy czy pisać testy. Nie utrzymuje też swojego kodu na produkcji, więc nie wie jak logować, instrumentować, nie interesuje go wydajność, itp.

Prawda jest taka że wszyscy myślą że nie są crudowcami, a większość jest. Nie ma rzeczywistych projektów które mają tylko te 4 operacje poza tutorialowym "todo list", zawsze jest choć trochę logiki, są jakieś tam wzorce, testy, utrzymanie, prace nad wydajnością itp. a nawet trochę architektury. Inaczej by nikt takiego projektu nie uruchamiał i został przy arkuszach excela.
Moim zdaniem to tylko takie określenie którymi się nawzajem przezywają crudowcy, tak jak weeby się wyzywają od weebów. W rzeczywistości są tylko bardziej i mniej skomplikowane projekty. Domyślam się że nie crudowcem byłby ktoś kto wymyśla nowe algorytmy i rozwiązania ale takich ludzi jest garstka na całym świecie.

3

Nie wiem kto to CRUD-owiec. Generalnie endpointy, encje itd to nie trzeba nawet AI, żeby sobie wygenerować.

Temat raczej z gatunku „coding monkey” vs „inżynier”/„product developer”. Ten drugi:

  1. Zajmuje się ficzerami e2e - wliczając analizę wymagań, testowanie, wdrożenie i utrzymanie na produkcji. Czasy, ze historyjki w Jira były doskonale opisane, a testami zajmował się dział QA już minęły (albo nigdy tak nie było nawet).
  2. Nie tylko koduje, ale tez zna się trochę na infrastrukturze, bazach danych, webdevie - nie zamyka się tylko w swojej wąskiej dziedzinie (potem np. programista 5 lat doświadczenia nie wie do czego służy indeks w bd).
  3. Dobrze współpracuje z innymi devami i zespolami, aby dowieźć w terminie
  4. Dobrze współpracuje z produktem i UX-em, aby wiedzieć „co” ma zrobić i „po co”. Kieruje się efektem końcowym, jak user końcowy bedzie korzystał z softu, który buduje.
  5. Umie sam priorytetyzowac swoją prace
  6. Oczywiście wysoki warsztat - ładne testy, przemyślany design codu, nie „encja na twarz i pchasz”, ale tez bez overengineeringu

Zatrudniałbym.

2

ja bym nie powiedział że chodzi o jakieś tam konkretne skille czy coś, a o cechy np. zaciekawiony, odpowiedzialny, etc.

5

Od siebie może dodam że

  • Crudowiec nie pisze testów automatycznych, bo jedyna logika jaką pisze to użycie mnogich abstrakcji na bazę danych, jak JPA
  • Crudowiec nie bierze odpowiedzialności za swój kod, bo nie dodaje nic nowego, tylko korzysta jedynie z istniejących narzędzi
  • Crudowiec nie jest pewny technologii, bibliotek i swoich umiejętności, bo jest tak dobry w to co robi jak narzędzia które dobierze.
  • Crudowiec ma mylne przekonanie o tym jak wygląda aplikacja, bo jego twory są jednowymiarowe: http->controller->service->model->repo->baza, i często dochodzić do smutnych absurdów, typu "jeśli w bazie w tabeli user jest pole status, to znaczy to że w endpoincie /user też musi być pole "status". I tłumaczenie wtedy że to łamie enkapsulacje, łamie DI, nie jest loosely-coupled nie działa; właśnie przez to jednowymiarowe przekonanie o "liniowości" aplikacji.
  • Dla crudowca onion architecture to podzielenie aplikacji na controller/service/repo

Jest jeszcze subtelniejszy element

  • Curdowiec często robi rzeczy, nie dlatego że to ma sens, tylko dlatego że "tak ma wyglądać". Jak np crudowiec ma service i repo które mają tylko jedną metodę, to i tak ich nie zinline'uje w imię "bo tak ma być".
3

W sumei to wiekszosc z nas klepie crudy taka specyfika rynku, zawsze jak sie zajaralem jakims zagadnieniem to end game byl taki, ze trzeba wyjechac do (najczesciej) USA zeby miec chociaz podjazd, bo firmy sa tam i robia lokalnie.

Jestem Wojtek, jestem crudowcem i jestem z tego dumny, teraz WY

0
nowy_kret_2 napisał(a):

W sumei to wiekszosc z nas klepie crudy taka specyfika rynku, zawsze jak sie zajaralem jakims zagadnieniem to end game byl taki, ze trzeba wyjechac do (najczesciej) USA zeby miec chociaz podjazd, bo firmy sa tam i robia lokalnie.

Jestem Wojtek, jestem crudowcem i jestem z tego dumny, teraz WY

No, to jest bez sensu, bo jak znajdujesz się w projekcie w którym 90% to crudy, a tylko 10% to logika (albo mniej), to bez sensu jest robić crudy osobno dla każdego zasobu, tylko wtedy odpalasz dynamiczne typowanie i robisz jeden kontroller dla wszystkich crudów. Osobne kontrollery są Ci potrzebne jak masz inną logikę dla różnych endpointów, ale jak masz taką samą, to możesz to uwspólnić; wyabstraktować różnice, i potem mieć jeden kontroller do wszystkiego. Tym samym dodawanie nowego cruda to 5 sekund.

27

Crudowiec to taki termin, żeby programiści z bardziej wybujałą samooceną, mogli mieć jakąś podpórkę pod swoją wyimaginowaną doskonałość.
Nie istnieje coś takiego w prawdziwym świecie.
Żaden backendowiec czy fullstack nie robi tylko i wyłącznie operacji na bazach danych dotyczących crud, zawsze robi się coś więcej.
Poza tym zrobienie cruda na złożonej relacji w bazie danych też nie jest proste, a to też crud, ale nie na jednym rekordzie.
Tak, więc to po prostu termin podbudowujący dla narcyzów, że oni nie są "crudowcami", tylko "programistami z prawdziwego zdarzenia". Buahaha.

7

Moje ego jest w y j e b a n e w kosmos, zwłaszcza jak widzę patałachów co to nie potrafią opalić SLQa na bazie, bo od tego ORMy

Uwaga proponuje zwięzłą definicję krudowie to ci co uzywają ORMa i w ogóle nie rozumieją jak on działa :P
Dla rozweselenia plakat
krudowie

2

Tak jak wyżej ktoś napisał, to tylko do podbudowania ego i wynik jakichś dziwnych kompleksów. Warto też zauważyć, że to często te same ananaski, które twierdzą, że należy wybierać startup albo małą firmę, jeśli zależy ci na rozwoju, a korpo do nic nie robienia

1
tmk3 napisał(a):

a korpo do nic nie robienia

Ale to akurat prawda. Kiedyś pracowałem w korpo przez 5 miesięcy, brałem dużą kasę, a nie zrobiłem praktycznie nic.

3
Riddle napisał(a):
tmk3 napisał(a):

a korpo do nic nie robienia

Ale to akurat prawda. Kiedyś pracowałem w korpo przez 5 miesięcy, brałem dużą kasę, a nie zrobiłem praktycznie nic.

Gratuluję. Ja kiedyś nic nie robiłem w korpo przez 9 miesięcy, ale teraz niestety chcą żebym robił. A szkoda bo bym wziął OE w dwóch korpo i nic nie robił na dwa etaty :(

6

Crudowiec klepie wyuczone schematy bez większego zastanowienia. Programista rozwiązuje problemy biznesowe.

1

Crudowiec Java to taki programista co umie:

  • Jave
  • Hibernate
  • Spring Boota
  • Junit
  • Mockito
  • Angielski B2

Podczas rozmów z biznesem lekko głos mu czasem zadrży, ma tendencje do szybkiego spocenia się w sytuacji stresowej. Gdy manager go dociśnie to boi się postawić kosztem robienia nadgodzin by wyrobić się w Sprincie.

———————————-
Programista Java to gość co jest w stanie ogarnąć sam projekt, gadać z biznesem, rozpisać architekturę, postawić infre za pomocą np. Terraforma, jest odważny w rozmowach z biznesem, potrafi się postawić, nie boi się kłótni, potrafi sam pisać kod samodzielnie i technologia mu nie robi różnicy. Nie sfocha się gdy będzie robił w Javie EE czy Quarkusie, Helidonie to nie robi to znaczenia. Ma mindset dobrze wykonać robotę i odebrać Smocze monety. Trochę jak Wiedźmin.

3

Mam wrażenie że każdy tutaj opisujący "crudowca" ma na myśli konkretną osobę z którą miał styczność. W dodatku zapewne była to osoba z tego samego projektu...
screenshot-20230615155634.png

1

@omenomn2:

Crudowiec to taki termin (...) Nie istnieje coś takiego w prawdziwym świecie.

Jasne, tak samo nie istnieje ktoś taki jak "średnia" / "przeciętna" osoba

https://www.thestar.com/news/insight/2016/01/16/when-us-air-force-discovered-the-flaw-of-averages.html

Nie da się zdefiniować kto to jest, każdy ma swoją definicje, jednakże nadal np. gdybyś miał swój startap, miał problem techniczny do rozwiązania np. napisanie nowego OSa, to jakoś byś wybierał ludzi i oceniał ich potencjał - czasem byś się pomylił, czasem nie, ale jakoś byś próbował to ocenić

@KamilAdam:

i po tym wątku dobrze widać kto z wypowiadających się wcześniej ma wybujałe ego

potrzebowałeś tego wątku aby być w stanie to ocenić, kródziarzu? ;)

1

Samo słowo crud jest używane w 2 różnych znaczeniach:
-określenie na proste aplikacje do których teoretycznie nie trzeba dużo wiedzy i czasu do ich zrobienia(np. junior zrobi całość w miesiąc a senior w tydzień)
-rozwinięcie skrótu create-read-update-delete i pod tą definicję na upartego można podciągnąć prawie wszystkie aplikacje np. uber,meta bo od strony użytkownika są to operacje crud a że programiści dodali tam latające potwory spaghetti to niczego nagle nie zmienia.
Za to słowo crud-owiec jest nacechowanym negatywnie określeniem na słabego programistę który nie potrafi nic innego jak copy-paste(oczywiście w mniemaniu tego co używa tego słowa).
Także przytaczanie argumentów co trzeba zrobić aby być tym prawdziwym programistą nie ma sensu tym bardziej że można wziąć specjalistów od np. cloud vs specjalistów embedded i jest spora szansa że się zwyzywają od crud-owców bo mają całkowicie inne metody pracy- jeden myśli o skalowalności a drugi oszczędzaj ram/dysk/cpu gdziekolwiek jesteś.

0

Czemu nie ma przyszłości? Prawie wszystko co powstaje to crudy

1

@WeiXiao:

@omenomn2:
Crudowiec to taki termin (...) Nie istnieje coś takiego w prawdziwym świecie.
Jasne, tak samo nie istnieje ktoś taki jak "średnia" / "przeciętna" osoba

A co ma jedno do drugiego? Nie powiedziałem, że nie istnieją słabi programiści, powiedziałem, że nie istnieją programiści, którzy zajmują się jedynie pisaniem crudów. Jest to wymysł.

0

@omenomn2

I ja napisałem że nie istnieje coś takiego jak "średnia" (statystycznie) osoba, aczkolwiek nikt się nie czepia użycia takiego określenia, chociaż w sumie tez nie ma sensu.

0

@omenomn2

I ja napisałem że nie istnieje coś takiego jak "średnia" (statystycznie) osoba, aczkolwiek nikt się nie czepia użycia takiego określenia, chociaż w sumie tez nie ma sensu.

Oczywiście, że istnieje średnia osoba i takie określenie jak najbardziej ma sens. Crudowiec nie ma sensu, bo wskazuje na kogoś kto pisze same crudy, a taka osoba nie istnieje, dlatego ktoś kto jest tak naprawdę zwykłym programistą, może sobie podbić samooceną, bo sobie wkręca, że robi coś więcej niż taki crudowiec, który w rzeczywistości nie istnieje.
Określenie, że ktoś jest średnim programistą jest trudniejsze, bo średnia jest większość, i już nie tak łatwo cwaniaczyć wtedy.

0

@omenomn2:

Oczywiście, że istnieje średnia osoba

Jeżeli weźmiesz dwie osoby: 150cm wzrostu oraz 200 cm, to średnio macie 175 cm, a nikt w tym data secie tyle nie ma.

O ile przy 1 parametrze udałoby się zorganizować taki data set że byłaby średnia osoba

to gdy dorzucisz więcej parametrów (przestrzeni) - wzrost, waga, bmi i tysiace wiecej innych

to wyjdzie że takiej osoby nie ma.

0

no jak porównujesz dwie osoby to nie dziwne, że nie ma średniej.
Na większych zbiorach danych będą osoby, które mieszczą się w średniej i będzie ich większość jeżeli chodzi o programistów.
Z takiego prostego powodu, że programistów ultra cienkich i wybitnych jest najmniej, więc średnich jest najwięcej, średni nie oznacza dokładnie 50% w skali to oznacza być w tym obrębie.

0

@omenomn2:

no jak porównujesz dwie osoby to nie dziwne, że nie ma średniej.

weź 3, 4 itd. i również może ci wyjść tak samo, czyli że elementu o wartości dokładnie średniej nie ma w zbiorze.

Na większych zbiorach danych będą osoby, które mieszczą się w średniej i będzie ich większość jeżeli chodzi o programistów.

im więcej parametrów weźmiesz pod uwagę, tym ich liczba będzie się zmniejszać i pewnie będzie dążyć do 0

Z takiego prostego powodu, że programistów ultra cienkich i wybitnych jest najmniej, więc średnich jest najwięcej, średni nie oznacza dokładnie 50% w skali to oznacza być w tym obrębie.

piszesz o rozkładzie, a nie średniej.


Dawałem linka wyżej, ale znów przytoczę:

The fallacy of the 'average person' concept is that no one is average in all body dimensions and only a few persons in several dimensions. This was demonstrated in the body dimensions data obtained from this investigation.

0

akurat raczej nikt kto mówi, że ktoś jest średni, nie ma na myśli tego, że mieści się dokładnie po środku, więc tak może i o rozkładzie za bardzo dosłownie bierzesz potoczne pojęcia.
Jak ktoś mówi, że jest średniego wzrostu to nie ma na myśli, że ma dokładnie 175 cm, bo tyle wynosi średnia wzrostu 7 miliardów ludzi, tylko, że ma w okolicy tego.
A określenie "crudowiec" wskazuje bezpośrednio na osobę, co pisze same crudy, nic innego nie umie, crudy to banał itd, a taka osoba nie istnieje, a crudy to wcale nie taki banał, dlatego jest to pojęcie bardziej psychologicznie nacechowane, żeby można było sobie poprawić samoocenę.

Bo większość nawet nie potrafi zrobić porządnej walidacji w takim crudzie, co to taki banalny jest i sami leszcze robią te crudy.

Tak samo "koder" i "programista", że koder to koduje jakieś g**no, a Ja to jestem "programista", gdzie to są tak naprawdę synonimy, tylko ktoś sobie musiał poprawić humor i dorobił jakąś ideologię różną do słów znaczących to samo.

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