Czerwone sznurki czyli linki wybrane z blogów

Bo TDD nie przyspiesza. […][/quote]
Z mojej strony zamykam flejma zanim się roznieci :wink:

[quote=Tomash][quote=qertoip]* Że debugger to zło?

Wtedy wszyscy używaliśmy debuggerów. Takie stwierdzenie było obrazoburcze. Jak to przeczytałem - wiedząc jak bardzo debugger pomaga mi na codzień - to pomyślałem, że to jakiś chory ekstremista i się obraziłem na wójka na kilka lat. A teraz? Nie mogę sobie przypomnieć kiedy ostatnio używałem debuggera.[/quote]
Oczywiście gratuluję, ale bez debugera nie sposób się zabrać do bugów w cudzym kodzie. Może więc po prostu nie możesz sobie przypomnieć kiedy ostatnio pracowałeś z babolami w cudzym i/lub kiepsko otestowanym kodzie? ;)[/quote]
Masz rację. Oczywiście uważanie debuggera za zło ma swój kontekst, zresztą jak każda dobra praktyka.

Tylko jeśli pracujesz na umowę/zlecenie lub fakturę. Bo wtedy właśnie masz stosunek usługodawca-klient.

Dobrze przeprowadzona rekrutacja polega w tym samym stopniu na sprawdzeniu dopasowania pracownika do pracy, jak i pracy do pracownika. Rynek nie pozwala pracodawcom na udawanie, że robią łaskę.

Chyba mi się jeszcze nie zdarzyło zgodzić z Tomashem, ale tu ma +pierdyliard. TDD nadal jest kontrowersyjne.

OMG, gdyby nie cytat w poście Sharnika, przegapiłbym taką perełkę :smiley:

Skoro rynek pracy mówi im że są zajebiści i warci dużych pieniędzy, to czemu mają z tego nie korzystać? Zwłaszcza jeśli potencjalny pracodawca szybko okazuje się bucem: wtedy jak najbardziej namawiam do wstania z krzesełka i wyjścia. “Pierdol się pan z taką rekrutacją” opcjonalne, choć mocno zalecane!
(niecały rok temu wykonałem taki manewr i wyszedłem z “rekrutacji”, choć słowa dobrałem łagodniejsze, bo panie były w pomieszczeniu. wcale nie uważam że jestem zajebisty, po prostu jeśli ktoś nie szanuje mnie i mojego czasu, to nie widzę powodu żeby szanować jego)

A jeśli pracodawca uważa że programiści nie są warci tych pieniędzy bo to, co robią to żadna sztuka, to przecież nikt pracodawcy nie broni wysłać marketingowców, sprzedawców i recepcjonistów na kurs programowania.

Pracodawca to ma prawo do wielu rzeczy, także do orgazmu. Tylko niech się potem nie dziwi, że kijowy proces rekrutacyjny skutkuje zwerbowaniem kijowych pracowników (w ekonomii w której to programiści wybierają pracodawców).

Ciężar zawsze spoczywa na tej stronie, która ma gorszą pozycję negocjacyjną. Troszeczkę mi głupio że muszę takie truizmy pisać na tym forum, ale najwyraźniej są ludzie do których to jeszcze nie dotarło.

Prowadziłeś może w ciągu ostatnich dwóch lat jakąś rekrutację? Programisty na wysokim poziomie? Bo wszystko co piszesz wskazuje, że nie.

Post Scriptum: myślę że, podobnie jak inni programiści, chętnie nabiorę pokory i podejmę ciężar przedstawiania się z jak najlepszej strony kiedy tylko asymetria na rynku pracy dla programistów się odwróci i znowu to specjalista będzie szukał pracy, a nie na odwrót. Wtedy oczywiście będziesz miał, Piotrek, rację. Pozdrawiam pracodawców, którzy na to czekają :wink:

A propo debuggera, to ja się zastanawiam czy wszyscy, którzy piszą, że od lat nie używają, to piszą tak dlatego, że już nie pamiętają jak się używa i nawet o tym nie myślą, czy rzeczywiście jest im niepotrzebny :wink: Ja bez debuggera żyć nie mogę i czasami sobie pluję w brodę, że wcześniej nie odpalam przy jakichś dziwnych błędach.

@qertoip: masz jakieś linki gdzie jest dobrze wytłumaczone dlaczego debugger to zło? Chętnie sprawdzę te argumenty :slight_smile:

[quote=Tomash]OMG, gdyby nie cytat w poście Sharnika, przegapiłbym taką perełkę :smiley:

Skoro rynek pracy mówi im że są zajebiści i warci dużych pieniędzy, to czemu mają z tego nie korzystać? Zwłaszcza jeśli potencjalny pracodawca szybko okazuje się bucem: wtedy jak najbardziej namawiam do wstania z krzesełka i wyjścia. “Pierdol się pan z taką rekrutacją” opcjonalne, choć mocno zalecane!
(niecały rok temu wykonałem taki manewr i wyszedłem z “rekrutacji”, choć słowa dobrałem łagodniejsze, bo panie były w pomieszczeniu. wcale nie uważam że jestem zajebisty, po prostu jeśli ktoś nie szanuje mnie i mojego czasu, to nie widzę powodu żeby szanować jego)[/quote]
Doskonale zdaję sobie sprawę z warunków rynkowych. Absolutnie trzeba to wykorzystywać na swoją korzyść i wierz mi, że od lat na ten temat śrubuję pensję :wink: Moim zdaniem nic to nie zmienia w kwestii pokory.

Pracodawca to ma prawo do wielu rzeczy, także do orgazmu. Tylko niech się potem nie dziwi, że kijowy proces rekrutacyjny skutkuje zwerbowaniem kijowych pracowników (w ekonomii w której to programiści wybierają pracodawców).[/quote]
+1, to już problem pracodawcy.

Ciężar zawsze spoczywa na tej stronie, która ma gorszą pozycję negocjacyjną. Troszeczkę mi głupio że muszę takie truizmy pisać na tym forum, ale najwyraźniej są ludzie do których to jeszcze nie dotarło.[/quote]
Dobrze, może źle to ująłem.

Ujmę to inaczej: jako programista staram się nie być dupkiem niezależnie od tego jak bardzo rynek mi sprzyja. Wciąż jestem bardzo wdzięczny pracodawcy, że mi płaci, że chce mu się prowadzić biznes (a mógłby sobie programować…), że korzysta z moich usług. Jeśli trafię na fatalny (moim zdaniem) proces rekrutacji, wciąż będę starał się wypaść jak najlepiej. Nie wyjdę z sali :slight_smile: Nie obrażę się na firmę, jeśli mnie nie docenią i oleją.

Tak. Wysyłałem osobiste zaproszenia do wybranych członków społeczności (do Ciebie nie wysłałem bo wtedy nie byliśmy w stanie zaoferować pieniędzy godnych Twojego poziomu; mówię to bez ironii!). Miałem szczęście, udało się przyjąć bardzo dobrego programistę.

[quote=drogus]A propo debuggera, to ja się zastanawiam czy wszyscy, którzy piszą, że od lat nie używają, to piszą tak dlatego, że już nie pamiętają jak się używa i nawet o tym nie myślą, czy rzeczywiście jest im niepotrzebny :wink: Ja bez debuggera żyć nie mogę i czasami sobie pluję w brodę, że wcześniej nie odpalam przy jakichś dziwnych błędach.

@qertoip: masz jakieś linki gdzie jest dobrze wytłumaczone dlaczego debugger to zło? Chętnie sprawdzę te argumenty :)[/quote]
Zło w sensie code smell. Użycie debuggera sugeruje, że coś jest nie tak z testami. Dlaczego przechodzą? Może coś jest niepokryte? Może coś jest źle pokryte, bo sam test nie był przetestowany w procesie TDD, tylko dopisany później?

Naturalnie, jest miejsce dla debuggera. Postulat jest taki, że to miejsce peryferyjne, a nie centralne we flow programisty.

(nie mam pod ręką linka; czytałem o tym kilka lat temu)

Lizus!

Jak to “miałeś szczęście”? Przecież jako przedstawiciel pracodawcy powinieneś robić łaskę, że zatrudniasz.

[quote=sharnik]qertoip napisał:

Wysyłałem osobiste zaproszenia do wybranych członków społeczności (do Ciebie nie wysłałem bo wtedy nie byliśmy w stanie zaoferować pieniędzy godnych Twojego poziomu; mówię to bez ironii!).
Lizus!
Miałem szczęście, udało się przyjąć bardzo dobrego programistę.
Jak to “miałeś szczęście”? Przecież jako przedstawiciel pracodawcy powinieneś robić łaskę, że zatrudniasz.[/quote]
@sharnik - naprawdę uważasz, że Twoja wypowiedź wnosi coś do tej dyskusji? Bo ja jakoś nie zauważyłem.

Jak to “miałeś szczęście”? Przecież jako przedstawiciel pracodawcy powinieneś robić łaskę, że zatrudniasz.[/quote]
Jako przedstawiciel pracodawcy na dzisiejszym rynku ćwiczę jeszcze większą pokorę niż jako programista :wink: Tu nie ma sprzeczności! Jest to w moim interesie po obu stronach barykady.

Z mojej strony EOT.

A może to pracodawca powinien być Ci wdzięczny? Czy wiesz, ile płacisz swojemu szefowi?

Bo przecież on sprzedaje Twoją pracę za więcej, niż Ci płaci. A zatem czy wiesz, jaką mu płacisz prowizję za ogarnianie klientów? :wink:

Co do wątku pracodawcy-pracownicy, to zawsze trzeba się starać nie być dupkiem :wink: Z tym że jeżeli ktoś nie szanuje mojego czasu, to wyjście z rozmowy nie byłoby dla mnie byciem dupkiem - skoro wiadomo, że nie chciałbym w takim miejscu pracować, to zaoszczędzam tylko pracodawcy więcej czasu :stuck_out_tongue: (chociaż jeszcze mi się to jeszcze nie zdarzyło na szczęście).

A jeżeli chodzi o debugger, to zgadzam się z tym, że można uważać debuggera za code smell, ale dla mnie to jest po prostu narzędzie, które przyśpiesza moją pracę. Dodatkowo debuggera używam prawie zawsze z testami (tzn. piszę padający test i wtedy odpalam debuggera w środowisku testowym), więc dla mnie to jest najczęściej pomoc przy testowaniu. Być może pewna różnica w moim myśleniu o debuggerze jest spowodowana tym, że często używam go zamiast dokumentacji :wink: Tzn. jeżeli widzę, że jakaś funkcja w danym gemie czy nawet w railsach nie działa tak jak tego oczekuję, to załączam debuggera i sprawdzam co tam się dzieje. Często wychodzi lepiej niż czytanie dokumentacji, bo od razu wiem jak to dokładnie działa i co mogę zrobić. No i też nieocenioną pomocą jest dla mnie debugger przy prototypowaniu. Szczególnie jak np. używam jakiegoś nowego gema. Wtedy mam np. część kodu i chcę dodać kolejne linijki, ale nie jestem do końca pewien jak dana metoda działa. Ustawiam więc debugger w tym miejscu i jak już mam dostęp do tego konktekstu w kodzie, to sprawdzam co mogę tam zrobić i mam szybki feedback.

@drogus: dzięki za przykład - bardzo fajne i praktyczne użycie debuggera.

Zauważmy, że wciąż zgadza się, że użycie debuggera to code smell - tyle że w obcym kodzie. Oznaka słabej dokumentacji, mało intuicyjnego API lub wręcz błędów.

Według mnie nie dokońca. Swietnym przykładem są railsy, w których jedno użycie debuggera potrafi oszczędzić kilka, kilkanaście minut czytania kodu.

Code smell tak, ale nie nazywałbym używania debuggera złem :wink: Jak jesteś np. githubem i pływasz w kasie, to możesz sobie pozwolić na zatrudnianie najlepszych programistów i pisanie super kodu. In Real Life™ niestety to tak nie wygląda i w każdym projekcie są miejsca, które najprościej potraktować debuggerem. Zło dla mnie występuje wtedy kiedy załatamy taką dziurę bez dopisania testów, dodania dokumentacji czy chociażby wrzucenia ticketa, żeby to zrefaktoryzować jeżeli to wina zawiłego kodu. Ale samo jego użycie? Narzędzie jak każde inne i jeżeli pozwala mi spędzić nad problemem mniej czasu, to czemu nie?

Code smell tak, ale nie nazywałbym używania debuggera złem ;)[/quote]
Sure, to tylko chwytliwy nagłówek. A jaką fajną dyskusję (a może nawet prezentację) sprowokował :wink:

Ziom. Zioooom.

Kiedy się zastanowisz od jakiego słowa pochodzi termin “debugger” to uświadomisz sobie jak masakryczny truizm napisałeś :wink:

Oraz ja tam jestem przeciętnym programistą i żadnym inżynierem, ale zapala mi się lampka jak widzę że ktoś hejterzy narzędzie, jedno z wielu i o własnym zakresie zastosowań. To, że młotka trzeba użyć tam, gdzie jest krzywo, nie oznacza że młotek jest złym narzędziem – wprost przeciwnie, jest doskonałym do napraw tam, gdzie jest krzywo.

PS. Czy koledzy moderatorzy mogliby wydzielić offtop rekrutacyjno-narzędziowo-wujkobobowy do osobnego wątku? Bośmy trochę zaśmiecili temat o blognotkach.

Jedno z najczęstszych kłamstw w środowisku programistów to “na Maku po prostu działa”. Niemniej, jak się okazuje, nawet na Mac OSX może się udać skompilowanie rubiego w wersji 1.9.3:

(czemu nikt jeszcze nie zrobił trolfejsa z linusem albo chociaż stallmanem? :wink: )

[quote=Tomash]Jedno z najczęstszych kłamstw w środowisku programistów to “na Maku po prostu działa”. Niemniej, jak się okazuje, nawet na Mac OSX może się udać skompilowanie rubiego w wersji 1.9.3:
http://www.unfoldingcode.com/2012/02/ruby-193-via-rvm-on-mac-osx-lion.html[/quote]
Randomowy błąd jakiegoś randomowego kolesia. Naprawdę uważasz, że to cokolwiek wnosi do jakiejkolwiek dyskusji?