Historia jednej znajomości…

8

… czyli ile można zrobić w dwa tygodnie.

Przedstawię krótką historię, która prawdopodobnie niczego nie wniesie do niczyjego życia. Ale do mojego wniosła całkiem sporo. Dzięki niej dość często zastanawiam się “co ja właściwie robię?” kiedy instalacja Windowsa zajmuje mi cały weekend, konfiguracja SQL Servera cały dzień albo czekanie na deploy aplikacji na środowisku developerskim trwa 4h po to abym mógł kliknąć guzik i sprawdzić czy działa (chociaż te ostatnie czasy już na szczęście za mną).

Nieco ponad dwa lata temu dostałem maila z GoldenLine z pytaniem czy nie byłbym zainteresowany byciem “mentorem” marketingowca pragnącego nauczyć się programować od zera. W 90% przypadków bym takiego maila zignorował, ale akurat musiałem mieć jakiś dobry nastrój, bo odpowiedziałem. Od słowa do słowa, od maila do maila… współpraca doszła do skutku. Miałem sporo obaw, ale proponowane wynagrodzenie dość mocno przebijało moją ówczesną stawkę godzinową w “pracy dziennej”, a na pół roku przed narodzinami dziecka, zmianą samochodu etc każdy grosz się liczy. Tym bardziej, że nie były to grosze. I tak chciwy Procent został Mentorem.

W skrócie: zostałem opłacony za 80h z góry i mieliśmy w ciągu 2-3 następnych miesięcy wykorzystać ten czas na lekcje .NETa. Teraz, dwa lata później, jestem świeżo po zakończeniu współpracy. Te 80h ciągnęło się przez dwa lata. Czyli: tydzień rocznie! Wyobrażacie sobie projekt, nad którym pracujecie tydzień rocznie?

Można by myśleć, że przez tyle godzin, szczególnie rozciągniętych na tak długi czas, da się zrobić dokładnie zero. Sam bym tak myślał, ale… nic bardziej mylnego!

Wiecie przez ile technologii, rozwiązań i różnych aspektów pracy programisty przeszliśmy? Patrzcie:

  • przeszkolenie z Gita i BitBucket tak, aby to był jedyny sposób wymiany kodu między nami
  • początki z C#: Windows Forms (aplikacja napisana przeze mnie ze “słownym” opisem każdej linijki kodu w formie tutoriala w PDF, a później “kopiowana” / pisana od zera przez mojego ucznia)
  • research Amazon (AWS): setup maszyny Linux, połączenie przez SSH
  • Amazon EMR: Hadoop
  • skrypty w Pythonie wykonywane przez Hadoop
  • AWS OpsWorks
  • Hadoop na Cloudera
  • wykorzystanie API Foursquare ze skryptów Pythona
  • deploy Django na Amazon
  • deploy Django na Azure
  • podstawy HTML / “best practices”
  • research i review rozwiązania Apprenda
  • … a w trakcie niezliczone “calle na skajpie”, które również były traktowane jako “czas opłacony”

Rozstrzał jest bardzo duży, bo i wymagania względem mojej osoby często się zmieniały. Z nauki .NET przeszliśmy do Pythona, Big Data, chmury, liżąc po drodze kilka pomniejszych tematów, a kończąc na zapoznaniu się z “prywatnym Azure” czyli Apprenda.

To była niełatwa, ale interesująca podróż. Nie w każdym punktów zdałem moim zdaniem egzamin, ale klient jest bardzo zadowolony. Na tyle, że być może w przyszłości ponownie nawiążemy współpracę, chociaż tym razem pewnie już w bardziej zorganizowany i wyspecyfikowany sposób…

Ale całe to uzewnętrznienie się może służyć jako podstawa do jednego pytania: czy byłbym w stanie zrobić tyle w normalnej pracy, mając po prostu do dyspozycji pełne dwa tygodnie? Wydaje mi się, że nie bardzo. Tutaj dosłownie każda minuta prowadziła do wymiernych efektów (co dobrze o mnie świadczy, nie?;) ). I jak tu nie wściekać się na software i hardware, który niejednokrotnie powoduje utratę całych DNI pracy, jeśli każdy z tych dni może być naprawdę zaskakująco bogaty w rezultaty w innych okolicznościach?

Share.

About Author

Programista, trener, prelegent, pasjonat, blogger. Autor podcasta programistycznego: DevTalk.pl. Jeden z liderów Białostockiej Grupy .NET i współorganizator konferencji Programistok. Od 2008 Microsoft MVP w kategorii .NET.Więcej informacji znajdziesz na stronie O autorze.Napisz do mnie ze strony Kontakt. Dodatkowo: Twitter, Facebook, YouTube.

8 Comments

  1. siararadek on

    Pythona ogarniasz tak normalnie, czy jak klient chciał z tego się podszkolić, to Ty się najpierw podszkoliłeś? Bo wygląda to tak, jakbyś pół internetu ogarniał :D

  2. siararadek,
    Prawie wszystkiego (oprócz .net i git) musiałem się sam nauczyć od zera żeby cokolwiek przekazać dalej.

  3. Bardzo ciekawa historia. Tak z ciekawosci, czy opisany “marketingowiec” uczyl sie u Ciebie zeby sie przebranzowic, czy zeby lepiej zrozumiec branze w ktorej pracuje ?

    Nie do konca sie z toba zgodze na temat produktywnosci w tym przypadku. Jasne, ze jezeli uczysz sie nowej technologii od zera, to wydaje sie ze robisz milowe kroki, natomiast kiedy zajmujesz sie juz bardziej wyspecjaizowanymi zadaniami, to masz wrazenie ze po godzine/dniu/miesiacu ruszyles sie o milimetr. Jest to jednak wedlug mnie dosyc zludne.

    Chodzi mi o to, ze jezeli jestes na poczatku nauki technologii, to efekt jest latwo mierzalny. Przed tygodniem nie umiales nic, a teraz juz potrafisz postawic prosta stronke, napisac appke, etc. Im dalej idziemy jednak w las, tym czesciej problemy nad ktorymi spredzami najwiecej czasu to warunki brzegowe jakiejs technologii, uproszczenie czegos, etc.

  4. Kociub,
    Elo :). Long time no see…
    Marketingowiec chciał zrozumieć co sprzedaje… być jednym z bardzo niewielu, którzy choć trochę wiedzą o czym mówią. To się na pewno udało.

  5. Hej,

    Long time no see, ale ja tutaj pieczolowicie sledze wasze poczynania tawarisz :) Bardzo fajny blog w kazdym razie (no moze poza szata graficzna :P O co chodzi ze smokami po bokach?).

    No to wielki szacun dla niego, ze nie zamnkal sie w stereotypie “muppety z IT zajmuja sie szamanstwem niezrozumialym dla normalnych ludzi, lepiej wiec nawet nie probowac tego zglebiac” :)

    Pozdro :)

  6. Przyznam szczerze że też kiedyś miałem takiego pana któremu wkładałem wiedzę na temat programowania i baz danych do głowy w trakcie “korepetycji” przez prawie 2,5 roku. Idea była taka że ów człowiek został trochę (albo nawet bardzo) z przypadku dyrektorem działu IT w jednej z warszawskich korporacji i musiał walczyć ze swoimi podwładnymi. Krwiożerczy programiści robili go w bambuko na miliony sposobów, począwszy od wmawiania, że zmiana wyświetlanego (poprawa literówki) tekstu w menu aplikacji to dzień roboty, a skończywszy na tym że czegoś nie da się zrobić w terminie xxx i oni muszą brać nadgodziny. Na samym początku oprócz wprowadzenia do programowania więcej czasu poświęcałem na opiniowanie (na ile są trudne i czasochłonne) bieżących zadań do wykonania niż na naukę programowania w C#, ale po pół roku było już całkiem nieźle. Efekt był taki że pan dyrektor zyskał całkiem nową pasję, szacunek podwładnych po tym jak im kilka razy udowodnił że wygadują głupoty, a na końcu awans i teraz zarządza IT w całej europie środkowo wschodniej w tymże korpo. Nadal nie raz wypijamy browarka, a wszystko zaczęło się od tego że pan podsłuchał rozmowę moją i kolegi w trakcie pijaństwa i obżarstwa w Szwejku :) i postanowił nas zaczepić i wylać swoje gorzkie żale jak to mu jest źle na nowej posadzie :P

  7. Kociub,
    No to spoko :) Szata graficzna jest dobra, a smoki przezajebiste i koniec :) o nic z nimi nie chodzi i to jest w nich chyba najlepsze