"Nie mam pojęcia, co jest nie tak z moimi deweloperami", myśli CEO. "Wszystko szło tak dobrze, gdy zaczęliśmy projekt. Przez kilka pierwszych tygodni zespół szalał i stworzył świetny prototyp. Od tego czasu jednak wszystko zwolniło do żółwiego tempa. Oni po prostu nie pracują już tak ciężko." Wybiera driver Callaway Titanium i wysyła wózek golfowy po lodowatą lemoniadę. "Może jeśli zwolnię kilku leniwców, to zapali im się grunt pod nogami!"....
To ja powinienem być tym ekspertem od pisania, nie? Jak to możliwe w takim razie, że moje poprzednie artykuły miały takwielebłędów? To proste: mój blog nie ma redaktora. To typowe dla bloga, ale niestety także bardzo powszechne dla dokumentacji open source: znaczna większość dokumentacji technicznej nie zachodzi dalej niż poza szkic. Wszyscy dobrzy pisarze mają swój wstydliwy sekret: nie są naprawdę tak dobrzy w pisaniu. Ich ...
Szybki quiz. Skąd wiesz, że Twoja aplikacja działa? Możliwe, że się kompiluje. Możliwe, iż wszystkie testy jednostkowe przechodzą. Możliwe też, że przeszła próbę w dziale QA. Możliwe, iż została szczęśliwie wdrożona na serwer produkcyjny bądź spakowana do instalera. Może nawet beta testerzy potwierdzili jej poprawność. Ale to nie oznacza, że aplikacja działa. Czy tak naprawdę użytkownicy rozumieją Twoją aplikację? Czy potrafią oni wyk...
Joseph Conney miał fantastyczny pomysł na nowy program certyfikacyjny dla aplikacji. Tylko że przyjemna odznaka w stylu Visty (kolorystyka biały-na-szarym) nie do końca komunikuje, hmm..., autorytatywny charakter tego programu. Z pomocą Jona Gallowaya sprawiliśmy, że odznaka jest trochę bardziej cool. [tłum. oryginalna odznaka znajduje się tutaj] Można pomyśleć, że zdobycie tak prestiżowego, rygorystycznego poziomu cer...
Młody mężczyzna przyjeżdża do miasta. Jest całkiem przystojny, ma mało pieniędzy w portfelu, z łatwością nawiązuje kontakty z kobietami. Nie mówi wiele o swojej przeszłości, ale to raczej jasne, że spędził dużo czasu w bezdusznej, wielkiej korporacji. Jest naturalnie przyjazny i towarzyski, po cichu pewny siebie, ale nie arogancki. Dlatego łatwo mu chwytać się drobnych zleceń znalezionych na tablicy ogłoszeń w lokalnej Kawiarni...
Ta strona poświęcona jest głównie zarządzaniu projektami programistycznymi. Jednak czasem nie masz na tyle władzy, aby w swojej firmie dokonywać przemian za pomocą dekretów. Oczywiście, jeśli jesteś tylko szeregowym programistą, na samym dole hierarchii, nie możesz tak po prostu nakazać ludziom, aby tworzyli harmonogramy czy korzystali z systemu zarządzania bugami. W rzeczywistości, nawet jeśli jesteś kierownikiem projektu,...
Gdy przeglądałem ostatnio obszerne zasoby opublikowane przez Steve'a Yegge, moją szczególną uwagę przykuł wpis z 2005 roku traktujący o ćwiczeniu programowania: W przeciwieństwie do tego, co możesz sobie myśleć, zwyczajne wykonywanie swojej pracy dzień w dzień nie zalicza się do prawdziwego treningu. Uczestnictwo w spotkaniach nie poprawi Twoich zdolności interpersonalnych, a odpowiadanie na maile nie jest ćwiczeniem pisania na klawiaturze. Jeśl...
O ile naturalnie potrafię zrozumieć powody, dla których niektórzy wybierają Linuxa, to w ogóle nie potrafię zrozumieć programistów, którzy świadomie wybierają Windowsa jako swoją platformę. Znam kilku, którzy ciągle tkwią w rutynie z różnych powodów — żaden z nich tego nie pragnie. Miałbym trudność w wyobrażeniu sobie, iż zatrudniam do 37signals kogoś, kto...
Dokumentacja techniczna może przybrać różnoraką formę - od wysokopoziomowego przeglądu, przez instrukcje krok po kroku, aż po automatycznie generowaną dokumentację API. Niestety, żaden format nie jest satysfakcjonujący dla wszystkich użytkowników; różnice w sposobie uczenia się ludzi są ogromne, a więc dobrze udokumentowane projekty muszą dostarczać dokumentacji pod wieloma postaciami.
Uradowałem się, gdy zobaczyłem, że James Hague wybrał książkę The Zen of Assembly Language Programming jako jedną z pięciu, godnych zapamiętania książek o programowaniu. Całkowicie się z tym zgadzam. Nawet jeśli podczas swojej zawodowej kariery nie planujesz nawet liznąć asemblera, to ta książka jest i tak fantastyczna oraz całkowicie godna polecenia. Byłem zwykłym programistą Visual Basica w momencie, gdy natrafiłem na tę ...
Oryginalny post: Every User LiesAutor: Jeff Atwood Heidi Adkisson zaznacza, iż to funckjonalności sprzedają produkt, ale ludzie, którzy kupują te produkty, często nie używają własności, które zasądziły o zakupie. Kilka lat temu przeprowadziłam obszerne badanie polegające na obserwowaniu używania określonego sprzętu komputerowego. Większość ludzi posiadało najnowsze modele, z ogromem możliwości. Ale w moich obserwacjach zauważyłam, że tylko jeden "zaawansowany użytkownik" wyszedł poza użycie bazow...
Jest jedna magiczna i zupełnie kluczowa rzecz w działaniu Internetu na której codziennie polegasz. Dzieje się to w protokole TCP, jednym z podstawowych elementów składających się na Internet. TCP to metoda przesyłania danych, która jest niezawodna. Rozumiem przez to, że kiedy wysyłasz wiadomość przez sieć z wykorzystaniem TCP dotrze ona na miejsce w formie niezmienionej i nieuszkodzonej. Używamy TCP do wielu rzeczy, takich jak przeglądanie...
Oryginalny post: Things You Should Never Do, Part I Autor:Steve Yegge Jestem programistą, i to na wakacjach. I zgadnijcie, co robię? Bardzo chciałbym Wam powiedzieć, że popijam Mai Tai na Bahamach, ale w rzeczywistości to, czym zajmuję się w trakcie urlopu to programowanie. Są to więc wakacje w sensie HR-owym - wziąłem oficjalnie wolne w pracy, by dać sobie trochę czasu na postawienie mojej gry komputerowej na nogi. To gra, którą zacząłem pisać około 10 lat temu i spędziłem jakieś 7 lat na jej rozwij...
Oryginalny post: Things You Should Never Do, Part IAutor: Joel Spolsky Netscape 6.0 wreszcie dotarł do swojej pierwszej publicznej wersji beta. Wersja 5.0 nigdy nie istniała. Ostatnie istotne wydanie, 4.0, zostało opublikowanie prawie 3 lata temu. Trzy lata to bardzo długi okres w świecie Internetu. Przez cały ten czas Netscape bezsilnie patrzył na to, jak jego udział w rynku spada na łeb, na szyję. To odrobinę lizusowskie z mojej strony, by krytykować ich za tak długą zwłokę w publikacjach. Nie zr...
Pisałem już wcześniej o nieodpowiedzialnym używaniu okien dialogowych, ale coś co przeczytałem ostatnio, podkreśliło interesujący aspekt tego tematu, którego wcześniej nie rozważyłem. Najpierw, Joel Spolsky: Może to zabrzmieć surowo, ale zdasz sobie z tego sprawę, kiedy zrobisz testy z użytkownikami, że znajdzie się trochę takich, którzy nie czytają słów, które umieściłeś na ekranie. Jeśli pokażesz okno z jakimkolwiek błędem, po prostu go ...
Oryginalny post: Autor: Jeff Atwood W artykule Niełatwo jest wypuścić produkt (ale ktoś to musi robić) Shawn Burk tłumaczy, dlaczego powinieneś opierać się pokusie wprowadzania zmian pod koniec projektu, niezależnie od tego, jak bardzo uzasadnione bądź racjonalne mogą wydawać Ci się ku temu powody. Nawet najmniejsza zmiana to rzeczywiste ryzyko wprowadzenia nowych błędów. Pierwsza osoba, która skomentowała ten artykuł, zażartowała: W TeXu nie ma błędów... Być może jest to wyjątek, który potwierdz...
Oryginalny post: Code Reviews: Just Do ItAutor: Jeff Atwood W artykule The Soft Side of Peer Reviews Karl Wiegers zaczął od mocnego oświadczenia: Wzajemne przeglądy -- czynność, podczas której osoby inne niż autor kawałka kodu przyglądają się mu pod kątem błędów oraz możliwości poprawy -- są jednym z bardziej potężnych, dostępnych narzędzi do podtrzymywania jakości kodu. Wzajemne przeglądy zawierają w sobie inspekcje, kontrole ogólne, wzajemne symulowanie logiki i inne podobne czynności. ...
Już nie pamiętam ile razy zasiadałem do projektowania po czym, podczas programowania porzucałem bądź radykalnie modyfikowałem projekt, ponieważ.. Zapomniałem o czymś bardzo ważnym Znalazłem inne, łatwiejsze rozwiązanie To co robiłem, nie miało sensu Na nowo wynajdywałem koło, a powinienem był znaleźć gotowca w sieci Hej, przecież nawet nie muszę tego robić jako pierwsze! W prawdziwym świecie istnieje ciasna pętla przyczynowo-skutkowa pomiędzy fazą implementacji a projektowania. Jeśli używasz Ph...
Oryginalny post: Bridges, Software Engineering, and GodAutor: Jeff Atwood Bazując na tym, ile razy spotkałem się z tym porównaniem podczas mojej kariery, mogłoby się wydawać, iż budowanie mostów oraz tworzenie oprogramowania są ze sobą w jakiś sposób powiązane: [..] mój ojciec, który jest "prawdziwym" inżynierem, przyjechał do mnie z wizytą na parę dni. Rozmawialiśmy dziś wieczorem o istocie prawdziwej inżynierii i staraliśmy się zrozumieć czy tworzenie oprogramowania zbliża się do takiego poziomu d...
Oryginalny post: Being technologically savvy isn't enoughAutor: Jeff Atwood: Nie zdawałem sobie sprawy, że Dan Appleman znów pisze bloga! W jednym z jego ostatnich wpisów, porusza doskonały temat, który jest powiązany z moimi ostatnimi wpisami na temat różnic umiejętności w programowaniu oraz o byciu dobrym w tym, co się robi: czasami, to nietechniczne umiejętności czynią z Ciebie lepszego programistę niż kogoś z Indii. Mocy prezencji osobistej nie da się przecenić: I nawet jeśli produktywno...