Przejdź do treści

Stanisław Matczak

Hello, world!

W wielu różnych kursach programowania, pierwszym przykładowym programem jest program „Hello world”. Celem tego programu jest po prostu wyświetlenie tekstu na ekranie. Na tej stronie można znaleźć „Hello world” napisane w ponad 400 różnych językach programowania, wliczając w to Brainfuck oraz Whitespace… Ale tak naprawdę to, jak napiszemy ten program, zależy nie tylko od języka programowania – zależy to również od osoby, która go pisze. W praktyce wiele osób podchodzi do pisania „Hello world” – a także do pisania wielu innych, bardziej poważnych programów… – na wiele, kompletnie od siebie różnych, sposobów.

Zobaczmy, jak to tej pracy zabiera się kilka różnych osób…Czytaj dalej »Hello, world!

Jak mierzyć efektywność IT?

EfektywnoscEfektywność – to takie ładne słowo… Wszyscy chcieliby, żeby praca – zarówno ich osobista praca, jak i działanie całej firmy czy organizacji – była efektywna. Wysoka efektywność z reguły związana jest z sprawnym działaniem, brakiem marnowania czasu na niepotrzebne aktywności, skupieniem się na tym co najważniejsze, dostarczaniem właściwych rezultatów czy produktów, wysoką motywacją do pracy, oraz – last but not least – dochodowością przedsiębiorstwa.

To wszystko brzmi pięknie – natomiast kiedy próbujemy odpowiedzieć na pytanie, czy praca naszych działów czy zespołów wytwarzających oprogramowanie jest efektywna, to z reguły pojawia się problem. A jeszcze większy problem pojawia się w momencie, kiedy chcemy tą efektywność jakoś zmierzyć…

Czytaj dalej »Jak mierzyć efektywność IT?

Błąd czy zmiana?

Z reguły w umowach, które firmy IT zawierają ze swoimi klientami, często znajduje się zapis, że za zmiany w systemie klient płaci, natomiast błędy usuwane są za darmo w ramach gwarancji czy maintenance’u.

Wydaje się to proste i zrozumiałe. Ale w praktyce bardzo często zdarzają się sytuacje, w których dyskusje „czy to jest błąd, czy to jest zmiana” pochłaniają bardzo dużo czasu oraz energii. Dlaczego tak się dzieje?Czytaj dalej »Błąd czy zmiana?

Historia pewnego błędu

AwariaW pewien poniedziałkowy poranek użytkownicy i monitoring naszego systemu zaraportowali incydent – system działał poprawnie, ale bardzo wolno.

Zabraliśmy się do roboty – jest incydent, trzeba reagować. W ruch poszły standardowe sprawdzenia: kolejki requestów na serwerach, komunikacja z innymi systemami, obciążenie maszyn, czasy odpowiedzi z bazy danych… Ale im dłużej sprawdzaliśmy, tym szerzej otwierały nam się oczy ze zdumienia. Czytaj dalej »Historia pewnego błędu

Jest już prawie gotowe

PuzzleCo to znaczy, że projekt jest gotowy? W praktyce może oznaczać to bardzo różne rzeczy…

Pewnego dnia wezwał mnie mój kierownik i powiedział: „Jest taki nowo napisany system SmerfMaruda, tam wszystko jest już gotowe i wdrożone, brakuje tylko funkcjonalności MarudzeniaSpecjalnego. Dopisz tę funkcję, nie powinno ci to zająć więcej niż dwa dni”.

Ponieważ nie znałem tego systemu, przeszedłem się do kolegów, którzy go napisali. Po kilku rozmowach okazało się, że „system jest prawie gotowy”. A to małe słowo „prawie” oznaczało następujące kwestie:Czytaj dalej »Jest już prawie gotowe

Automatyczny strażnik commit’ów

You shall not passJesteśmy ludźmi – lubimy porządek, ale nie lubimy sami sprzątać. Dlatego też dobrze jest jeżeli niektóre rzeczy same dbają o porządek.

Codzienną czynnością programistów jest oddawanie (operacja commit) kodu do repozytorium kodu źródłowego. Przy tej operacji można wpisać komentarz opisujący jakie zmiany funkcjonalne są oddawane, np. „dodana możliwość usuwania kontrahentów” czy „poprawienie błędu przy definiowaniu nowej operacji”. Wszyscy wiedzą, że opisywanie tych zmian jest bardzo ważne – ale też bardzo często w repozytorium lądują zmiany bez żadnych opisów. A sprawdzenie listy zmienionych obiektów oraz zmian w ich w celu określenia co się zmieniło jest bardzo pracochłonne…

Co wtedy robimy?Czytaj dalej »Automatyczny strażnik commit’ów

Szacowania, szacowania…

Rzecz o estymacjach – czyli czym się różni prowadzenie projektu IT
od urządzania kuchni

Kiedyś wydawało mi się, że w pracy informatyka najtrudniejsze jest samo wykonanie pracy – to znaczy projektowanie lub implementowanie jakiejś nowej funkcjonalności. Myliłem się. Bo od wykonania samej pracy dużo trudniejsze jest wcześniejsze oszacowanie jej pracochłonności…Czytaj dalej »Szacowania, szacowania…