Tak jak napisałem w poprzednim poście: termin terminem, ale dzień w jedną czy w drugą stronę nikogo nie zbawi. A może mieć nieocenione efekty jeżeli chodzi o stosunek programistów do pracy, o zadowolenie z wykonywanych zadań, o zaangażowanie w projekt. Dzisiaj - obiecane "real life" przykłady. Mam takowe póki co trzy, ale w sumie jak na kwartał pracy daje to całkiem niezłą "średnią innowacyjności". Od razu pytanie: jak taka "średnia" wygląda u Was w firmie? I do r...
[More]
"Firma" organizuje programistom warunki pracy. Środowisko. Sprzęt. Oprogramowanie. Kawkę/herbatkę/whateva. Na ten temat się jeszcze pewnie kiedyś "rozwinę". A co najważniejsze, ten abstrakcyjny byt - "firma" - programistom PŁACI. A ja, jako team leader? Co ja mogę zrobić? Co POWINIENEM robić? Dumałem nad tym dość sporo i wydaje mi się, że po dobrych kilku tygodniach refleksji sformułowałem idealne podsumowanie roli team leadera. A przynajmniej takiego team leadera...
[More]
Dziś wieczorem miałem przyjemność poprowadzić na Białostockiej Grupie .NET spotkanie zatytułowane "Spojrzenie na Gita (okiem niewolnika TFS)". To już moja trzecia czy czwarta z kolei prezentacja na drodze do zostania "profesjonalnym prelegentem", na którą to ścieżkę wkroczyłem ponownie po prawie 3 latach prób wybicia sobie tego z głowy. Jak na razie - z tej właśnie prezentacji jestem najbardziej zadowolony, widzę jakiś postęp w stosunku do poprzednich wystąpień. Wywiązały s...
[More]
Jak kilkukrotnie pisałem - od prawie kwartału nie jestem już samotnym homo-jeźdźcem na zerojedynkowej dev-pustyni. Teraz oprócz kodowania mam sporo innych "zawodowych" spraw na głowie... i o tym sprawach będę czasem refleksje puszczał. Wcześniejszy cykl Zawód-programista wyewoluował sobie w Zawód-team leader. Życie. Oficjalnie moje stanowisko to "dev lead", ale "team leader" jest moim zdaniem bardziej pasujące do nowych obowiązków. Zacznę od rzeczy absolutnie pods...
[More]
Z miesiąc temu wziąłem sobie z biurowej biblioteczki na weekend książkę Rapid Development. Zrobiła na mnie wrażenie tak wielkie, że aż postanowiłem opublikować notatki powstające podczas jej lektury. Książka kierowana jest głównie do team leaderów (czyli od kilku tygodni - do mnie;)). Z pewnością jednak każda osoba zaangażowana w tworzenie projektów informatycznych znajdzie tam coś dla siebie. Steve McConnell rozpoczyna naszą podróż do świata "racjonalnego IT" wytłumaczeniem pojęcia ...
[More]
Pisałem już kiedyś w niniejszym cyklu o prostocie. Dzisiaj czas na część II. Cytat pochodzi z genialnej książki, o której niebawem puszczę więcej niż kilka słów. Komentarza toto nie wymaga, zatem nie będę się na siłę tutaj "wymandrzał" :). Simple solutions tend to work only for simple problems Źródło: Steve McConnell - Rapid Development
Błądzić jest rzeczą ludzką. Błędów się nie uniknie, ważne aby wyciągać z nich wnioski i starać się unikać popełniania tych samych złych kroków w przyszłości. To się nazywa “doświadczenie”. A my, aktywni uczestnicy “projektów informatycznych”, mamy ku temu nader wiele okazji. Jak twierdzi autor doskonałej książki, którą w ten weekend bezlitośnie pochłaniam: A typical software project can present more opportunities to learn from mistakes than some people get in a lifetime Źródło: Steve McCo...
[More]
Kilka dni temu miałem przyjemność poprowadzić w firmie wewnętrzne szkolenie/wstęp do Gita. BTW, za swój osobisty sukces uważam fakt, że już po pierwszym miesiącu pracy dostałem szansę "oficjalnego" zaprezentowania zajebistości Gita programistom chłostanym dotychczas bezlitośnie przez TFSową kontrolę wersji witkami z doczepionymi haczykami na ryby po osolonych plecach. Efekt był dość prosty do przewidzenia: podobało się. Poniżej wrzucam swoją listę tematów do poruszenia. Moim zdaniem ...
[More]
Od bardzo dawna VS służył mi do jednego-li tylko celu: programowania. Wraz z objęciem stanowiska DevLeada trochę się w tej kwestii zmieniło. Teraz wiżuala używam do trzech bardzo odmiennych celów. I każdy z nich potrzebuje trochę innej konfiguracji VS Na pierwszym miejscu nadal stawiam programowanie. W tym trybie lubię mieć jasny tekst i ciemne tło - abstrahując od mniejszego zmęczenia oczu (bo nie wiem czy to prawda) czy jakichkolwiek innych argumentów, po prostu bardzo mi się taki wygląd podo...
[More]
Bardzo krótkie kazanko, będące poniekąd drugą w tym tygodniu autoreklamą tego samego autoproduktu. O wielu systemach kontroli wersji można powiedzieć, że są lepsze od innych. Podając na to wiele róznych argumentów. Poniższy cytat odpowiada na pytanie "Why TFS is Better than X?" It's NOT !!! End of story. Źródło: http://whytfsisbetterthanx.com
Niedawno poznałem w pracy magiczną kombinację klawiszy, która daje mi od tamtej pory wiele radości. O ile o radości może być w tym przypadku mowa. Chodzi o CTRL+G. Takie coś wciśnięte w VS w kontekście TFS wyświetli dialog box z polem na wpisanie ID interesującego nas workitema. Po wpisaniu tegoż otwiera się nowa zakładka z wybranym w ten sposób elementem. Baaaardzo się cieszę, że nauczyłem się tego po 3 tygodniach a nie 3 latach szukania tasków za pomocą sortowania wyników zapytań ORDER BY ID ...
[More]
Spory "percentaż" projektów informatycznych ma to do siebie, że ostatnie tygodnie ich trwania to wielka akcja gaszenia pożarów. Im większy projekt tym większa na to szansa. Termin się zbliża, liczba bugów rośnie, lista ficzerów do zaimplementowania nie chce się zmniejszać, a pracować więcej się po prostu nie da. Rozwiązanie wydaje się banalne: skoro aktualny zespół nie radzi sobie z nawałem zadań to dorzućmy do niego kilka osób! O ile w pewnej fazie projektu ma to sens (raczej bliżej ...
[More]
Jeżdżę sobie ostatnio po TFSie jak Heniek po łysej kobyle, ale żyć z tym trzeba. Poniżej kilka tipów, które uczyniły moje życie trochę lepszym. Z przeogromną wdzięcznością poczytam w komentarzach kolejne sugestie dotyczące dalszych uproszczeń. 1. git-tfs https://github.com/git-tfs/git-tfs Ten projekcik zdecydowanie na pierwszym miejscu. Ale ostatnio o nim się osobno rozpisałem. 2. Telerik TFS Work Item Manager http://www.telerik.com/agile-project-management-tools/tfs.aspx Narzędzie mające ...
[More]
Jak da się zauważyć - mam teraz na tapecie TFSa. I jeśli z całego tego zamieszania wyniknie choć jedna skonwertowana na gita osoba - z radości urządzę sobie kąpiel w kozim mleku i szampanie. Kilkukrotnie już wspominałem, że życie z TFS wcale nie musi oznaczać życia bez Gita. Wręcz przeciwnie - życie z TFS powinno "implicitly" kojarzyć się z wykorzystaniem Gita w celu obejścia największej porażki TFSa, czyli komponentu zajmującego się kontrolą wersji. Można to zrobić bardzo prosto. A ...
[More]
[ uwaga: w tym poście piszę o aspekcie kontroli wersji w TFS, a nie o TFS jako całym kombajnie do zarządzania projektem; powinno to być oczywiste, ale mimo wszystko zaznaczam żeby nie było zażaleń ] Programiści znający oba rozwiązania, zobaczywszy tytuł posta, mogą się tylko uśmiechnąć i mruknąć: "a o czym tu w ogóle pisać? we wszystkim!". Jednak osoby znające TYLKO TFSa nie chcą, złośliwcy, wierzyć na słowo dopóki nie zobaczą. No cóż, nie będą błogosławieni, ich strata. Postaram się...
[More]
Tak jak wspominałem w swoim rocznym podsumowaniu - wraz ze zmianą cyferek w kalendarzu znacznej zmianie uległa moja sytuacja zawodowa. Co za tym idzie - musiałem przeprosić się ze znienawidzonym TFSem. Właśnie minął mój pierwszy tydzień z tym narzędziem i postanowiłem zebrać swoje dotychczasowe wrażenia. Kontekst Nie jest to moje pierwsze TFSowe randewu. Wcześniej korzystałem z niego dwukrotnie - zawsze babrając się jako programista tylko w kontroli wersji, bez łorkajtemów, uzerstoris etc. Efe...
[More]
Rozpoczyna się właśnie piąty rok życia niniejszego bloga i mojego online'owego, porządnego, kulturalnego i podobno bardzo sztucznego;) wcielenia. Przy tej okazji, jak zwykle (2009, 2010, 2011) - pora na rzut jednym okiem w przeszłość, a drugim w przyszłość. Efekty takiego makabrycznego zeza co rok sobie czytam i jest to lektura zwykle dość miła, więc i tym razem nie będzie inaczej. GO! 2011 Prywatnie: zdecydowanie najważniejszym faktem minionego roku było żonywzięcie, które to wydarzeni...
[More]
[ten post jest częścią mojego minicyklu o testach, pełna lista postów: tutaj] Przeglądając kod wielu projektów, zarówno komercyjnych jak i open source, można spotkać całą masę konwencji nazewniczych stosowanych do klas i metod testujących. Dzisiaj przedstawię kilka moich zasad w tej materii wraz z uzasadnieniem. Wychodzę z założenia, że bardziej niż konwencja, standard czy "przyjęta dobra praktyka" liczy się czytelność pisanego kodu i łatwość powrotu do niego nawet po kilku miesiącach...
[More]
Na dzień dzisiejszy wybierając "mocking framework" stawiam właśnie na fakeiteasy. Ma ona jeden ciemny zakamar, w którym można nieźle pobłądzić... a jest to testowanie wywołania settera. Załóżmy, że mamy jakiś interfejs wymuszający na implementacjach posiadanie właściwości Age: 1: public interface IHaveAge
2: {
3: int Age { get; set; }
4: }
I test "jakiejś klasy" przetwarzającej implementacje tego interfejsu, mającej ustawić wartość wspomnianej wł...
[More]
Niedawno po raz pierwszy w życiu musiałem mockować implementację interfejsu IEnumerable<T>. Chodziło o jakieś dziwne struktury używane wewnętrznie przez FIM. Problem polegał na tym, że obiekt mockowanego przeze mnie typu zwracał kolekcję innych obiektów. Ta kolekcja była właśnie IEnumerable<X>... ale nie mogłem stworzyć jej instancji, ponieważ wspomniana klasa XCollection była abstrakcyjna, a jej implementacja siedziała zaszyta gdzieś wewnątrz jakichś dllek. Jednocześnie chciałem prz...
[More]