sobota, 17 lipca 2010

Przemyślenia praktykanta #2

Witam!

Od mojego ostatniego postu minęło raptem cztery dni, ale nawet w tak krótkim czasie pojawiło się kilka przemyśleń, olśnień, a także postanowień. To jest dla mnie kwintesencja praktyk - zmuszają nie tylko do działania (w moim przypadku kodowania), ale w większym stopniu do myślenia, stawiania czoła problemom i otwieraniu się na nowe (choć z pewną dozą zdrowej podejrzliwości).

7) Nie zabieraj pracy do domu! - przez pierwsze dni była to moja zmora. Siedziałem w firmie po 9 godzin, a po przyjściu do domu zamiast się zrelaksować, siadałem nad problemem by do późnych godzin tak naprawdę niewiele posunąć się do przodu. Dlaczego tak było? Ponieważ nie miałem w koło siebie grupy fachowców w każdej chwili gotowej mi pomóc, ponieważ nie zapewniłem sobie należytego relaksu. Po kilku dniach i lekturze Rework (znów ten Rework :)) uświadomiłem sobie, że jeżeli wszystkie zmartwienia i problemy związane z praktykami będę zostawiał w firmie, po pracy będę w stanie naładować swoje akumulatorki, aby następnego dnia stawić czoła wyzwaniu/przeciwności z pełnią sił i determinacji. Robiąc inaczej tylko podcinamy sobie skrzydła i w naprawdę krótkim czasie skazujemy siebie samych na wypalenie, po którym z odpowiedniego "chce" zrobi się śmiercionośne "muszę". Od kiedy wprowadziłem do życia tę zasadę osiągam więcej i szybciej, a najlepsze jest to, że robię to z przyjemnością!

8) Nawet najmniejszy unit test może rozjaśnić Twój dzień - dwa dni straciłem nad pewnym zagadnieniem numerycznym. Męczyłem się z doborem odpowiedniej biblioteki, potem z jej integracją, by na końcu zawsze okazywało się, że nie spełnia ona naszych wymagań. Zamiast iść do przodu, stałem w miejscu i przestawało mi się chcieć. Trzeciego dnia zmagań poszedłem do Sławka i namówił mnie do napisania swojego rozwiązania, ale z możliwie najmniejszą funkcjonalnością. Po jakiejś pół godzinie, gdy uruchomiłem pierwszy test i zobaczyłem wiadomość "Failure: 0" od razu się uśmiechnąłem i nabrałem chęci do pracy. Tak napędzony przez kolejne kilka godzin pracowałem dodając nowe testy i przez większość czasu uśmiechając się do siebie samego, nawet wtedy gdy nie wiedziałem jak mam to, czy tamto poprawić. Starałem się nie wprowadzać zbyt wielu modyfikacji naraz, aby móc dobrze przetestować całość. Efekt? Pod koniec dnia przyszedłem do Sławka z gotowym rozwiązaniem, pokrytym testami i spełniającym wszystkie nasze wymagania. Od tej pory staram się wyszukiwać nawet najmniejsze rzeczy, które wiem, że uda mi się zrobić szybko i poprawnie, co doda mi sił i motywacji do pracy - to naprawdę działa :)

9) Utrzymuj rzeczy możliwie najprostszymi - jednym z problemów, który miałem przy zagadnieniu, o którym pisałem wcześniej było to, że zbytnio chciałem je rozbudowywać i to od samego początku. Brało się to z nauki, którą wpaja się na uczelniach wyższych (a przynajmniej na obu kierunkach, na których byłem - mam nadzieję, że gdzieś jest inaczej) - od samego początku myśl i projektuj i koduj z myślą o pełnej funkcjonalności systemu. Ten prosty problem pokazał mi, że oczywiście należy przewidywać możliwą rozbudowę systemu, ale nie należy jej wprowadzać od pierwszych chwil jego życia. Kiedy mój opiekun wskazał mi kluczowe zagadnienia, którymi musi zając się moja biblioteka sprawa nagle stała się kilkakrotnie prostsza i możliwa do zaimplementowania w ciągu jednego dnia. Dzięki temu mam gotowy szkielet, który w niedługiej przyszłości mam zamiar rozwijać, ale na dzień dzisiejszy jest już działający i jest wykorzystywany. Gdybym zabrał się za pełną (lub choćby połowiczną) potencjalną funkcjonalność od pierwszych chwil nie miałbym tego gotowego przed końcem roku, a co dopiero końcem praktyk.

Na dzisiaj to tyle. Czas się wyspać, jutro też jest dzień (może na napisanie kolejnego postu? :)).
Pozdrawiam i do następnego razu!

5 komentarzy:

  1. Widzę potencjał na książkę "Rework praktykanta" :-) Wpisy genialne. Czyta się je lekko i płynnie. Bajka!

    OdpowiedzUsuń
  2. @Jacek - czytać takie komentarze to czysta przyjemność :) Aż chce się chodzić na praktyki choćby tylko po to, żeby mieć o czym pisać ;)

    OdpowiedzUsuń
  3. Ja sie takze dolaczam. Lukasz- siwetne posty. Jedyny problem dla mnie - za dlugie :) Gdyby kazdy z punktow byl jednym wpisem, publikowanym w kolejne dni... to by bylo tez niezle...

    P.S. Pozdrow Slawka i Wojtka ode mnie. Chlopaki maja glowe na karku, wiec jeszcze pewnie wiele sie od nich nauczysz podczas praktyk. Gratulacje za doskonaly wybor...

    OdpowiedzUsuń
  4. @Grzegorz - pozdrowię na pewno :) Problem ze skróceniem postów polegał na tym, że miałem ogromny przypływ myśli i potrzebowałem gdzieś to umieścić/wypowiedzieć/itp. Ale będę mieć to na przyszłość na uwadze. Jeszcze raz wielkie dzięki!

    OdpowiedzUsuń
  5. Czasem moze i lepiej taka wieksza "pigula".

    OdpowiedzUsuń