fbpx
devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
5 minut

“Nauka przez fun”


23.03.2010

Pod jednym z moich ostatnich postów pojawił się komentarz zawierający m.in. taką treść:

"Chyba potrzebuję mentora, który mógłby rzucić temat, a następnie sprawdzić jego realizację. Czy znajdzie się jakiś chętny?
(…) nauka przez fun tworzenia. Ale czy to aby dobra droga?
"

Za mentora się bynajmniej nie uważam, ale pomyślałem – co tam, może być ciekawe doświadczenie. Kilka miesięcy temu podobny tekst wyczytałem na forum CodeGuru – wówczas też zgłosiłem się na ochotnika do takiej roli. Ale temat umarł po dwóch mailach.

Tym razem na szczęście tak się nie skończyło .Wysłałem maila do Darka… i zaczęliśmy działać:).

Po więcej szczegółów odsyłam na blog, na którym Darek na bieżąco opisuje swoje zmagania: http://szmergiell.blogspot.com/.

Założenia:

Darek – programista realizujący zlecenie wybrednego momentami klienta. Musi przetworzyć (czasami dość chaotyczne i nie do końca precyzyjne) wymagania na działający kod.

Ja – "wybredny momentami klient", a gdy trzeba – służący radą kolega po fachu. Jako że ma to być w miarę realistyczna symulacja prawdziwego zlecenia, mogę sobie pozwolić na głupie wymagania. Albo na ich zmianę w trakcie. Albo na spóźnioną odpowiedź. I tak dalej… Wszystko to nie z powodu olewania czy ignorancji, ale w celu nadania pewnego realizmu całej sytuacji:).

Cel – prosta w obsłudze aplikacja do zarządzania domowym budżetem.

Unfuddle.com – hosting repozytorium i proste narzędzie do zarządzania projektami, które jest głównym kanałem naszej komunikacji.

Co w tym dla mnie?

  • ponowne zetknięcie z "zarządzaniem" – chodzi nie tyle o faktyczne zarządzanie i wymuszanie przestrzegania terminów (które są u nas całkowicie umowne), co raczej o szlifowanie umiejętności podziału większego zadania na pojedyncze tickety, o zapoznanie z Unfuddle, o zdanie sobie sprawy jak to wygląda "po drugiej stronie kodu"
  • ciekawe doświadczenie Windows-Linux – Darek programuje na Linuxie, którego ja nigdy nie używałem; wspólna praca nad aplikacją .NET może być bardzo interesująca… czy wieloplatformowość .NETa okaże się wystarczająca w naszym scenariuszu?
  • weryfikacja pewnych planów… dość enigmatycznie to brzmi, ale jeśli nasz eksperyment zakończy się sukcesem to może warto będzie takie coś pociągnąć dalej? może większy projekt, może więcej członków zespołu? o podobnych aktywnościach myślałem już od dobrych kilkunastu miesięcy, ale jakoś obawiałem się je rozpocząć; zobaczymy co z tego wyjdzie, a z tego co wiem to chętnych do takiego udzielenia się nie brakuje
  • potencjalnie aplikacja gotowa do użytku – paradoksalnie nie jest to absolutnie priorytetem w całym tym zamieszaniu, ale jeśli Darkowi w trakcie nie znudzi się ta zabawa to na koniec powinienem mieć aplikację, która zastąpi aktualnie używane przeze mnie, i dość nielubiane, arkusze Excela

Co w tym dla Darka?

  • doświadczenie w programowaniu – nie oszukujmy się, pisanie programów dla siebie, według własnej wizji i bez żadnych zobowiązań na pewno niesie za sobą jakieś edukacyjne wartości, ale dopiero udział w weryfikowanym na zewnątrz projekcie daje prawdziwego kopa parametrom dev-skills
  • doświadczenie w pracy z klientem – prawdziwym klientem ciężko mnie nazwać i historii znanych z doświadczenia odstawiać nie będę, ale kluczowa kwestia pozostaje niezmienna: zrozumieć i zaimplementować czyjeś oczekiwania względem aplikacji
  • doświadczenie w pracy zdalnej – czyli zdalne repozytorium, system zarządzania zadaniami, realizacja zadań bez kontaktu face-2-face
  • doświadczenie z repozytorium kodu – w naszym przypadku Git – Darek nie miał wcześniej z Gitem do czynienia i będzie miał okazję zobaczyć z czym to się je; pierwsze zadanie brzmiało "sklonuj repozytorium Git i dodaj do niego swoje zmiany", a do zadania dołączony był jedynie adres repozytorium; Darek sam musiał zainstalować Gita, wygenerować klucze, skonfigurować sobie dostęp do repozytorium i tak dalej… do tego dojdą zadania związane z gałęziami, z tagami i co mi tam jeszcze do głowy przyjdzie – w każdym razie planuję wyjść poza najprostszy model pull-commit-push, więc powinno być ciekawie
  • doświadczenie w pracy po angielsku – nie wiem jak Darek stoi z angielskim, jednak moim zdaniem cała praca nad kodem powinna odbywać się właśnie w tym języku; wszystkie przydzielane zadania jak również commit messages piszę po angielsku, więc może to być dodatkowe ćwiczenie
  • doświadczenie z ekosystemem .NET – póki co mamy po prostu projekt dll i projekt exe, ale dojdą do tego testy jednostkowe, dojdzie kontakt z bazą, dojdzie jakiś ORMapper… wszystko to może być teraz nowością, ale za kilka tygodni już nią nie będzie:)

Tak więc zainteresowanych odsyłam do śledzenia opisywanych przez Darka poczynań (czyż nie świetny pomysł na bloga?). Jeśli pojawi się zainteresowanie to pewnie pomyślimy nad udostępnieniem repozytorium kodu, aby każdy adept sztuki dotnetowej mógł wraz z Darkiem podążać ścieżką – jak to sam określił – Od zera do kodera :). Zapraszamy.

Nie przegap kolejnych postów!

Dołącz do ponad 9000 programistów w devstyle newsletter!

Zapisując się na newsletter zgadzasz się na przetwarzanie Twoich danych osobowych w celu wysyłania na wskazany przez Ciebie adres e-mail informacji handlowych o nowościach, promocjach, produktach i usługach związanych z serwisem devstyle.pl. Będzie to marketing bezpośredni, do realizacji którego wykorzystam Twoje telekomunikacyjne urządzenia końcowe. Administratorem Twoich danych osobowych będzie Maciej Aniserowicz prowadzący działalność gospodarczą w Białymstoku (15-215) przy ul. Konopnickiej 14/8, NIP 5422824401. Przysługuje Tobie prawo do cofnięcia zgody, żądania wglądu do Twoich danych, wniesienia sprzeciwu co do ich przetwarzania, sprostowania, usunięcia i ograniczenia przetwarzania. Więcej informacji o tym jak przetwarzam Twoje dane znajdziesz na devstyle.pl/RODO. Powered by ConvertKit
Notify of
szmergiell

Nie spodziewałem się, że tak szybko opiszesz całą sprawę ;) Skoro jednak wpis się już pojawił, to zachęcam do śledzenia moich poczynań. Zapewne nie raz i nie dwa trafię na problemy, przez co może być lekka obsuwa — jednak tak jak napisał Maciej: terminy są umowne;)
Od siebie jeszcze dodam: postaram się doprowadzić projekt do jakiegoś sensownego rozwiązania oraz regularnie pisać o tym, co się dzieje.

Dedloo

Kurcze fajnie że powstało coś takiego :) Pamiętam jak sam potrzebowałem takiego "mentora" za czasów liceum. Na szczęście na studiach znalazły się odpowiednie osoby a wraz z nimi projekty :) Powodzenia w zmaganiach :)

reVis
reVis

Muszę przyznać, że świetny pomysł. Raz, że zupełnie inna motywacja do nauki. Dwa, jednak mniej stresu na sam początek. Pierwsze poważne zlecenia jednak zostaje w głowie ślad na długi czas ;) Życzę powodzenia i będę śledził postępy.

matiit

O, też tak chcę (;

Artur
Artur

@Procent
bardzo zacne działanie. Chylę czoło.

Życzę powodzenia obu stronom :) Zaraz przejrzę blog Darka, bo nasuwa mi się parę pytań, a może znajdę tam odpowiedź.
Ciekaw jestem też Waszej opinii o Unfuddle, bo naturalnym miejscem na projekt .NET OS, wydawał mi się codeplex (jestem za centralnym miejscem na takie projekty – łatwiej coś znakeźć).

Grzegorz K
Grzegorz K

Dlaczego wybraliście aplikacje okienkową?

W dzisiejszych czasach internetu aż prosi się o wykonanie tego w technologii webowej.
Zwłaszcza że każdy używa innego OSu etc…

Czy robiliście taką analizę?

procent

@matiit:
Nie jesteś pierwszy, nawet po Darku:). Jeśli będę planował coś podobnego w przyszłości to na pewno ogłoszę to w bardziej zorganizowany sposób. Szczerze mówiąc nie liczyłbym specjalnie na takie coś przynajmniej w ciągu kolejnych kilku miesięcy, ale kto wie…:)

procent

@Artur: Szczerze mówiąc ode mnie nie wymaga to zbyt wiele czasu – akurat tyle ile mogę poświęcić. Już na samym początku okazało się, że Darek się porządnie zaangażował i sam rozwiązuje problemy. Co do Unfuddle… to mój wybór, po doświadczeniach z OnTime chciałem zobaczyć jak to się sprawuje w praktyce. Jak na razie wniosek mam jeden: w projekcie choć trochę większy niż ten (czyli praktycznie w każdym) abonament niższy niż 49$ miesięcznie nie ma szans się sprawdzić z prostego powodu – feature Time Tracking dostępny jest dopiero od tego planu. Nie wiem jak działa, więc nie wiem też czy warto… Read more »

procent

@Grzegorz K:
Aplikacja okienkowa to moje główne wymaganie. Chcę być w stanie dodać nową pozycję kilkoma stuknięciami w klawisze, zupełnie bez użycia myszki. Poza tym chcę uzywać tej aplikacji gdziekolwiek z wbudowaną bazą, nie szukając hostingu czy nie stawiając jej u siebie lokalnie.

Grzegorz K
Grzegorz K

@procent:
A czy nie rozważałeś udostępniania pewnych danych dla Klientów?
Aplikacje www tez można obsługiwać bez myszki.
No i co najważniejsza – aplikacja www może być dostępna w każdym miejscu na każdym PC bez instalowania.

procent

@Grzegorz K: Ale jak to dla klientów? Moje wydatki? To tylko prosta aplikacja która będzie umożliwiała robienie tego, co teraz z bólem osiągam za pomocą Excela. NIC więcej. Jest masa softu który robi milion rzeczy naraz, ale właśnie dlatego go nie używam – bo potrzebuję jedynie 5% ich możliwości. Moje wydatki, moje zarobki, podsumowania wg moich kryteriów. Uruchamiana tylko na moim komputerze, dopasowana do moich prywatnych potrzeb. Obsługa www bez myszki nie jest tak prosta, jak prosta będzie (mam nadzieję) obsługa tej aplikacji. W przeglądarce nie podefiniujesz dowolnych skrótów klawiszowych. Instalacja także nie będzie potrzebna – exe + baza +… Read more »

Paweł Trojanowski
Paweł Trojanowski

[quote]Jeśli pojawi się zainteresowanie to pewnie pomyślimy nad udostępnieniem repozytorium kodu[/quote]

Bardzo fajnie by było gdybyście udostępnili. Pozdrawiam

procent

@Paweł Trojanowski:
Cała sprawa jest na razie wstrzymana i w sumie nie ma nawet kodu którym można by się podzielić – powody podał Darek na podlinkowanym blogu.

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Facebook

Książka

Zobacz również