W przeciwieństwie do mitu, nie ma czternastu rodzajów programistów. Są tylko dwa, jak przypomniał nam Ben Collins-Sussman. W świecie tworzenia oprogramowania istnieją dwie "klasy" programistów: nazwę ich 20% i 80%.
Strona głównaUżytkownik
http://claimid.com/rafek | użytkownik
Zdarzyło Ci się kiedyś mieć taki dzień, w którym wszystko, co komitowałeś do systemu kontroli wersji, było złe? Tak w ogóle, to czym dokładnie taki dzień różni się od każdego innego? Ale bądźmy poważni. Kod, który jest widoczny to kod, który może być niepoprawny. Nie powinno to być zaskoczeniem. Ale czy wiesz, że nawet kod, którego nie widać, również może być zły?
Oryginalny post: Version 1 Sucks, But Ship It AnywayAutor: Jeff Atwood Jestem niezadowolony z każdego, najmniejszego kawałka kodu, jaki kiedykolwiek opublikowałem. Częściowo dlatego, że -- podobnie jak wielu programistów -- jestem perfekcjonistą. No i właśnie, nieuchronnie pojawiają się... problemy:Harmonogram był zbyt agresywny i krótki. Potrzebujemy więcej czasu!Napotkaliśmy niewidoczne wcześniej problemy techniczne i zmuszają nas one do zawierania niekomfortowych kompromisów.Mieliśmy zły projekt i trz...
Greg Wilson przesłał mi ostatnio e-mailem następujące pytanie: Od stycznia wykładam inżynierię oprogramowania dla studentów 3-ciego roku na Uniwersytecie Toronto i chciałbym choć jedną godzinę poświęcić na wdrożenia -- [wdrożenia] nigdy nie pojawiły się na moich wykładach i są dość często pomijane w podręcznikach do inżynierii oprogramowania, a z doświadczenia wiem, że bywają one wyzwaniem niemniej trudnym jak samo napisan...
Oryginalny post: Sharpening the SawAutor: Jeff Atwood Jak ostrzysz swoją piłę jako programista? Ostrzenie piły odnosi się do wszystkiego co robisz, co nie jest programowaniem, a ma na celu (teoretycznie) zrobienie z Ciebie lepszego programisty. Pojęcie to pochodzi z książki Coveya -- 7 Nawyków Skutecznego Działania. Pewien facet natknął się w górach na drwala. Mężczyzna zatrzymał się, aby poobserwować drwala, gdy ten gorączkowo ścinał bardzo duże drzewo. Zauważył, że drwal pracował w pocie c...
Donald Norman stwierdza, że prostota jest przereklamowana: "Ale kiedy przyszedł moment, aby dziennikarze zrecenzowali 'proste' produkty, wszyscy narzekali na brak kluczowych wg. nich funkcjonalności. Co więc ludzie mają na myśli, kiedy chcą prostoty? Operacje wywoływane pojedynczym przyciskiem -- oczywiście -- ale wraz ze wszystkimi swoimi ulubionymi funkcjonalnościami". Dawno temu pisałem: "Wielu programistów zostało zwiedzionych starą zasadą 80/20. Na p...
Oryginalny post: Why Can't Programmers.. Program? Autor: Jeff Atwood Popadłem w zdumienie, gdy przeczytałem następującą obserwację Reginalda Braithwaite'a: Tak jak i ja, autor ma problemy z faktem, iż 199 na 200 aplikantów do każdej programistycznej pracy nie potrafi w ogóle pisać kodu. Powtarzam: nie potrafią pisać żadnego kodu. Autor, do którego się odnosi, to Imran, który najwyraźniej odrzuca wielu programistów, którzy nie potrafią napisać żadnego programu...
Prawdopodobnie wielu z Was zna bądź słyszało już o społeczności StackOverflow, której wspólnymi siłami, w bardzo krótkim czasie, udało się stworzyć jedną z najciekawszych i najprzydatniejszych stron typu Q&A (pytania i odpowiedzi). Dzięki uprzejmości twórców tego serwisu, mamy przyjemność zaprezentować Wam jego polską wersję — devPytania. Ogólną ideę przyświecającą temu przedsięwzięciu najlepiej chyba przedstawił Jeff Atwood (jeden z tworców SO): StackOverflow najłatwiej chyba zdefiniować jako prze...
To niewiarygodne, że firma jest w stanie płacić programiście $60-$100k rocznie, a przy tym upośledzać go okropnymi warunkami pracy oraz obdartym sprzętem z drugiej ręki. Nie ma w tym żadnego biznesowego sensu. A jednak dostrzegam to przez cały czas. Szokujące jest to, jak wiele przedsiębiorstw wciąż nie dostarcza programistom niezbędnych rzeczy do osiągnięcia celu. Proponuję abyśmy przyjęli Kartę Praw Programisty, by chronić ich pra...
W Drugiej najważniejszej rzeczy programisty opisałem, jak zakup dobrego jakościowo krzesła może być jedną z najmądrzejszych inwestycji, jaką możesz zrobić, będąc programistą. W rzeczywistości, po poszukiwaniach krzeseł przez ostatnich kilka lat mojej kariery, doszedłem do jednego wniosku: nie możesz oczekiwać, że uda Ci się dostać porządne krzesło za mniej niż $500. Jeśli zamierzasz wydać mniej niż tyle na siedzenie -- c...
W Internecie naprawdę jest dużo materiałów opisujących jak korzystać z oprogramowania, co oznaczają określone metryki i jak za pomocą nDepend rozwiązywać konkretne problemy (na przykład podmiany biblioteki zewnętrznej X, którą wykorzystujemy w naszym rozwiązaniu na bibliotekę Y). IMO nie ma sensu opisywać sposobów przeprowadzania analizy w nDepend, dlatego też na końcu zamieszczam listę linków, które każda osoba zainteresowana nDepend powinna przejrzeć/przeczytać. Skoncentruje się na ogólnym opisie narzę...
Oryginalny post: The One Thing Every Software Engineer Should KnowAutor: Jeff Atwood Jestem wielkim fanem Stevea Yegge, więc dużym zaszczytem była dla mnie możliwość goszczenia go przy okazji ostatniego podkasta Stack Overflow. Nie spodziewałem się natomiast, że jeden konkretny temat, związany z doświadczeniami Stevea z Google i Amazona, będzie się nieustannie przewijał: Gdybym każdego programistę miał nauczyć tylko jednej rzeczy, byłby to marketing. Nie jak pisać na klawiaturze, nie jak p...
Jeff Atwood i jego Coding Horror, Joel Spolsky i jego Joel On Software i inni - po polsku, na bieżąco.
Oryginalny post: Coding: It's Just WritingAutor: Jeff Atwood W swoim artykule Programistyczne aforyzmy Strunka i Whitea, James Devlin jak zwykle znakomicie opisuje coś, co sam zacząłem coraz częściej dostrzegać w ciągu ostatnich pięciu lat, a mianowicie: Niespodziewany związek pomiędzy pisaniem kodu, a pisarstwem. Prawdopodobnie nie ma na świecie lepszego opracowania na temat pisarstwa niż książka The Elements of Style (w wolnym tłumaczeniu: "Składowe stylu") autorstwa Strunka i Whitea. Jest to je...
Jamie Zawinski to taki typ programisty, który ja nazywam programistą-MacGyverem. I mówię to z całym szacunkiem. Jamie jest ciężko pracującym programistą, tworzącym przyszłościowe, użyteczne narzędzia, które pozwalają innym ludziom wykonywać ich pracę. Takiego właśnie gościa chcesz mieć w swoim zespole budującym gokarty, ponieważ jego ulubionymi narzędziami są: taśma klejąca i WD-40. I będzie je dzierżył niewzruszenie, dumnie i z gracją, nawet ...
Oryginalny post: The Greatest Invention in Computer ScienceAutor: Jeff Atwood Jak myślisz, co jest największym wynalazkiem w dziedzinie informatyki? Oprócz komputera oczywiście. Poważnie, przed dalszym czytaniem, zatrzymaj się na chwilę i rozważ pytanie. Mówiłem wcześniej o tym, jak młode są w rzeczywistości tak zwane nowoczesne języki programowania i warto to powtórzyć dla kontekstu. C ma z grubsza tyle lat co ja; FORTRAN jest w wieku moich rodziców. Ale co z nowymi dzieciakami na osie...
Ile klas z którymi się spotkałeś miały sufiks "Manager" (np. ConnectionManager, SessionManager)? Każdy większy system wydaje się być pełen takich klas - SessionManager, ConnectionManager, PolicyManager, QueueManager, UrlManager, ConfigurationManager, albo co jeszcze smutniejsze EJBManager. Słowa "manager" i "manage" posiadają przynajmniej dziesięć różnych znaczeń - od "stworzyć coś i utrzymywać w zgodzie z wytycznymi" do "osiągnąć określony cel". Pamiętam jak pewnego dnia recepcjonistka przemianowała si...
Oryginalny post: Who's Your Coding Buddy?Autor: Jeff Atwood Zdumiewa mnie, jak bardzo mój kod zyskuje na tym, że zostanie przejrzany przez kogoś innego. Nie mam tu na myśli formalnej recenzji kodu, wysyłania go do publicznej oceny w Internecie lub uciążliwego reżimu programowania w parach. Jedna szybka próba wyjaśnienia i pokazania mojego kodu koledze/koleżance z zespołu -- to zazwyczaj wystarcza, by wyłapać błędy. To oczywiście nie jest nic nowego. Doskonała książka autorstwa Karla Wiegersa Peer Revi...
Scott Hanselman uważa, że umieszczanie certyfikatów branżowych w podpisie jest niezręczne: Jeśli nierozsądne byłoby umieszczenie w CV wyników egzaminów ze studiów, to czemu umieszczenie Scott Hanselman, MCSD, MCT, MCP, MC*.* jest rozsądne? Posiadanie certyfikatu znaczy tyle, że jesteś w stanie przyswoić dużą dawkę wiedzy technicznej. Chwileczkę. Proponuję podpisywanie się w następujący sposób: Scott Hanselman, 11 dużych projektów zakończonych sukcesem, 3 projekty Open-Source, 1 projekt zakończony g...
Na temat Beginner's All Purpose Symbolic Instruction Code Edsger Dijkstra miał to do powiedzenia: Nauczenie studentów dobrego stylu programowania jest praktycznie niemożliwe, jeśli byli oni wcześniej wystawieni na szkodliwe działanie BASICa; jako potencjalni programiści są umysłowo okaleczeni bez nadziei na regenerację. Jestem pewien, że wyolbrzymiał dla efektu; o ile podziwiam jego refera...