Side-projekty, wypalanie i takie tam

2

Wczoraj kodziłem od rana do wieczora. O dziwo, pomimo upału. Ot wymyśliłem sobie coś i dalej ogień.

Dzisiaj na spokojnie, ale teraz obawiam się, że się wszystko wypaliło i nie będzie mi się już chciało rozwijać dalej projektu.

Jak dostajecie czasem zajawkę na jakiś temat to jak sobie radzicie z utrzymaniem zapału?

6

Załatw sobie osoby z którymi będziesz chciał to rozwijać, wtedy będziesz miał zobowiązania względem nich i trudniej będzie ci zaniedbywać, a później porzucać projekt :P

Już nawet nie wspominam o innych zaletach projektu zespołowego.

4
tsz napisał(a):

Jak dostajecie czasem zajawkę na jakiś temat to jak sobie radzicie z utrzymaniem zapału?

Dobieram projekt do swoich umiejętności.
Dlatego celem moich prywatnych projektów zazwyczaj jest wypicie piwa.

8

Ja zanim zacznę jakiś projekt, czekam aż kompletnie stracę motywację. To się wydaje śmieszne, ale tylko podejście do tematu „na zimno” jest w stanie dawać długofalowe efekty bez wypalania.
Druga sprawa to po przeczekaniu tego okresu buum na to jaki super projekt się wymyśliło, wychodzą wszystkie „przeciw” oraz nierozsądne decyzje. Jeżeli po przeczekaniu projekt dalej w moich oczach jest ok to zaczynam, jak nie to najwidoczniej sam pomysł był słaby i zaoszczędziłem czas na coś co i tak poszłoby do kosza.

Wcześniej cierpiałem na coś co się nazywa „shiny object syndrome”, bo do szuflady spakowałem dziesiątki zaczętych i nieskończonych projektów. Teraz tak nie mam ,bo robię tylko te, które warto kończyć i motywacja jest już mi niepotrzebna. Zamiast tego, pojawia się cel.

4

Jak dostajecie czasem zajawkę na jakiś temat to jak sobie radzicie z utrzymaniem zapału?

To są punkty, które u mnie się sprawdzają przy pracy nad projektami, które nie uważam za jakieś szczególnie ciekawe.

  • Nie trać głupio pędu. Jak w projekcie pierwotnie szło Ci OK, to czasem problemem są słodkie gazowane napoje, słodycze, alkohole rzeczy, które spowalniają metabolizm, i po czymś takim trudniej jest utrzymać pęd czy też wrzucić na wyższy bieg. Ja się umawiam ze sobą, że świętuje po projekcie. Kiedyś myślałem, że alkohol rozluźnia pomaga wymyślec fajne rzeczy, ale długofalowo takie podejście się nie sprawdza, potem to człowiek ma bardziej wyj,bane. Warto pójść o krok dalej czyli postawić na zdrowe odżywianie, normalne spanie, ruch i wtedy jest moc do działania, i to bez żadnych kaw, żeńszeni czy energetyków.
  • Jak ciężko jest się zabrać za projekt, bo sytuacja przerasta to poprawiaj drobne rzeczy, bo to poprawiaja nie tylko projekt, ale i też morale.
  • Na dzień dobry miej przygotowane zadanie, które umożliwia wejście w projekt. Problemem jest start, potem praca sama wciąga.
  • Gdy jest jałowo, zaglądaj do pojektów, które Ci imponują, kradnij z nich pomysły i stosuj w ramach swoich prac.
  • Jak i tak idzie słabo, nie trać czasu; ogarnij pozostałe obowiązki, zwiększasz szanse że jeszcze coś z tego dnia będzie. Czasem warto wyluzować, zająć się czymś innym, by koncentracja mogła wrócić. Czasem wielki powrót zaliczam wieczorami, ale nie miałbym ich gdybym wcześniej nie ogarnął pozostałych obowiązków.
  • Oddziel pisanie kodu od myślenia. Przy komputerze słabo wymyśla się pomysły, komputer to dobra rzecz do ich obróbki, natomiast kombinować lepiej jest poza komputerem, np. pisząc na papierze czy tablicy.
3
tsz napisał(a):

Jak dostajecie czasem zajawkę na jakiś temat to jak sobie radzicie z utrzymaniem zapału?

Ja mam tak, że najtrudniej jest mi zacząć. Podchodzę do projektu jak pies do jeża. Ale jak już zacznę to mnie nie ma. I dwie rzeczy powodują, że dalej "ciągnę" za sobą projekt:

  • widzę w nim jakiś potencjał zarobkowy, lub ma mi pomóc w życiu codziennym,
  • dorzucam do projektu technologię której nie znam albo znam bardzo słabo.

I wtedy jak na nim nic nie zarobię i stracę tylko czas, to przynajmniej mam satysfakcję z tego, że czegoś nowego się nauczyłem i się rozwinąłem.

1

Jak się wkopiesz w side project odpowiednio głęboko, to tylko będziesz robić wszystko byle to wypaliło, bo nowy projekt to kolejne miesiące/lata gramolenia się z tym...

0
tsz napisał(a):

Jak dostajecie czasem zajawkę na jakiś temat to jak sobie radzicie z utrzymaniem zapału?

Dużo pomaga, jeśli pracuje się z ludźmi, którzy też mają zajawki, w ogóle to jest super, jak się pracuje z ludźmi, którzy po pracy robią jakieś swoje rzeczy - czy dla siebie, czy komercyjnie, niestety tego na rozmowie wstępnej o pracę nie da się wybadać.

4

Przede wszystkim w wolnym czasie robie to na co mam ochote. W przeszlosci spedzilem kilka lat kodujac w pracy, a potem uczac sie po pracy - narzucilem sobie cele, dyscypline. Z perspektywy czasu oceniam, ze niewarto bylo sie tak wysilac, a przynajmniej nie nad tym.

Zycie jest naprawde za krotkie, zeby sie w nim ciagle do czegos zmuszac. Lepiej zrobic 10 projektow do polowy i miec z tego radosc niz meczyc sie w jednym, bo "musze skonczyc co zaczalem". Jesli zapal sie wypala to zadalbym sobie pytanie "co dalej?", a nie szukalbym magicznej sztuczki, zeby dalej inwestowac czas i energie w cos, w co przestalem wierzyc / czego przestalem chciec.

Ciekawie opisywal to R. Feynmann, kiedy doszedl do momentu w swojej karierze, gdy mial cala liste rzeczy, ktorymi "musi/powinien" sie zajac, ale jedyne na co mial ochote to nie robic nic. Dopiero, gdy calkowicie odpuscil i zaczal robic rzeczy, ktore chcial - zaczal ponownie zyc swoim zyciem. W mojej ocenie pojsc za glosem serca, dokadkolwiek Cie to nie zaprowadzi, bez wzgledu na to czy bedziesz osiagal sukcesy czy nie, to jest najbardziej brawurowy styl zycia na jaki czlowiek moze sie zdobyc, a jednoczesnie niesamowice satysfakcjonujacy i dajacy poczucie sensu.
Lepiej przed "jak?" zawsze najpierw zapytac siebie "dlaczego?".

1

Jedyne side projekty jakie udało mi się skończyć to rzeczy, które z jakiegoś powodu były potrzebne mi lub komuś innemu. Jak piszę coś czego nikt nie będzie używał to tracę motywację. Teraz na przykład chciałbym się trochę poduczyć JS/REACT/NODE itp a nie mam z tym styczności w pracy, więc wymyśliłem sobie projekt, który pozwoli rozwiązać problem, który trapi mnie od lat - jak przechowywać zdjęcia rodzinne, żeby to było w miarę bezpieczne ale nie kosztował 50zł/msc + żeby to było jakoś użyteczne (wyszukiwanie/galerie itp). itp. Wymyśliłem sobie apkę, która będzie przechowywać filmiki i zdjęcia w S3 Glacier w oryginale + robiła miniaturki do szybkiego przeglądania i je utrzymywała w zwykłym S3. Do tego chce skorzystać z kilku usług typu analiza twarzy zdjęć rodziny, aby mi tagowało kto jest na zdjęciu + co jest np. morze/plaża/łąką/miasto itp. Do tego jakaś baza nosql do przechowywania tego i może kiedyś dodatkowo apka na telefon.
Projekt ciekawy, w wielkości którą można faktycznie ogarnąć po godzinach, relatywnie dla mnie ciekawy + faktycznie przynajmniej dla mnie będzie użyteczny i rozwiąże jakiś problem.

2

Olej projekt i zacznij nowy, serio. 100% moich side-projektow zostalo porzuconych i uwazam, ze to bardzo dobrze, tj optymalnie wzgledem rozwoju. Dochodzisz do takiego momentu, ze juz wiesz jak wszystko poukladac zeby dzialalo, pozostaje tylko implementacja - i to jest ten moment, w ktorym porzucamy projekt bo nie dostajemy zadnego orderu za dokonczone projekty, a samo klepanie w klawiature nic nie daje. Wiec ja osobiscie nie odbieram tego, jako cos zlego - ciesze sie ze rozkminilem kolejny problem i siadam do kolejnego side-projektu i juz w tym momencie wiem, ze go porzuce - im szybciej tym w zasadzie lepiej :)

1

Ja side projekty robię tylko dla celów rekrutacyjnych, gdy wymagają xd zazwyczaj życie takiego projektu trwa kilka dni.

5

Moje podejście jest takie:

  • Nie siedzę do oporu bo mi się znudzi. Za to 1h tu, 1h tam, z browarkiem lub bez, rano lub wieczorem jak mam ochotę. Idzie bardzo powoli w tym tempie ale idzie.
  • Piszę dla fanu, więc jak mam ochotę nazywać commity "cxuj1 cxuj2 cxuj3" to nazywam. Jak nie chce pisać testów to nie piszę (choć mnie to czasami w tyłek potem ugryzie). Ja mam ochotę nazywać klasę Dupa to tak robię. Chodzi o to żeby nie czuć się przytłoczonym koniecznością pisania dobrego kodu albo testów. Piszesz dla fanu/nauki/exploracji jak coś nie jest fajne to omijasz.
  • Generalnie olewam obsługę błędów i dziwnych sytuacji, jak piszę platformówkę to chcę jak najszybciej mieć biegającego banana po planszy. Generalnie chodzi o to zeby jak najszybciej miec działający happy-path zanim zabraknie pary :P
  • Czasami człowiek chce użyć jakiej biblioteki i potem marnuje na to 2 dni czasu (np. log4j). W przypadku logowania często wystarczy printf, nie ma co się szarpać z konfiguracją biblioteki. Nie każda biblioteka jest warta użycia na side projekcie.
  • To samo dotyczy języka. Jeżeli bawisz się czymś nowym to weź sobie generator szablonu aplikacji lub jakieś gotowe todo list. Nie ma sensu szarpać się z buildem czy inną konfiguracją.
  • Niektóre projekty wchodzą w faze 90% skończone i teraz mogę podjąć decyzję czy szlifuję kod i wystawiam publicznie, czy nie szlifuję i wystawiam czy po prostu chowam do szuflady. Wystawiony projekt daje trochę satysfakcji...
1

Nie każda biblioteka jest warta użycia na side projekcie.

Ale z drugiej strony są szanse, że podczas zabawy z taką biblioteką nauczysz się czegoś, co będzie mogło się przydać w przeszłości podczas realnej pracy.

To samo dotyczy języka. Jeżeli bawisz się czymś nowym to weź sobie generator

Jeżeli piszesz sobie prywatnie (np. wspomnianego platformersa ze skaczącym bananem) i chcesz mieć efekt, to raczej piszesz w czymś, co znasz. A jeśli piszesz w czymś nowym po to, żeby się nauczyć/poznać coś innego, to takie podejście po łebkach powoduje, że już na starcie w pełni nie rozumiesz co się dzieje i możesz sobie wyrobić zle nawyki.

0

Taki rozwój gdzie się przerywa tam gdzie temat się nudzi to moim zdaniem jest nawet szkodliwy, bo jak ktoś tylko coś liźnie to widzi tylko dobre strony danego rozwiązania. To ciężko bez przyziemnych problemów dostrzec ograniczenie oraz mrok wybranej technologii :D Dlatego taka nauka nie jest kompletna, nie da się tak wypracowąć balansu, a tym bardziej zrozumiec wybranego narzędzia.

U mnie etap nauki clojure wygladał tak, że używałem blisko 80-90% tego co było możliwe, a po roku sposób pisania się zmienił tak, że używam 10-20% tego co możliwe. W ten sposób uzyskuje szybkość, która jest potrzebna jeśli pracujesz sam i prostotę, która ułatwia utrzymanie rozwiązań.

Druga rzecz na jaka warto zwrócić uwagę, to takie wewnętrzne pretensje. Ogólnie jak mija kilka lat to fajnie jest mieć chociaż jeden ukończony projekt, który byłby odpowiedzią na własne potrzeby / pragnienia. Jeśli wszystko co robiłeś służy tylko by podbudować własną ocenę "bo ja się uczę i rozwijam" to taka rzecz czasem niewystarczy. Mi tu strasznie imponuje furious programming niekoniecznie programami bo nie gram w tetrisa, ale samym podejściem bo odpowiada na swoje pomysły konsekwentnym działaniem.

6

Warto od czasu do czasu zrobić sobie przerwę w programowaniu. Rok, dwa, trzy, pięć, osiem, trzynaście, dwadzieścia jeden lat. W zależności od potrzeb.

1

Ja robię tak:
Generalnie mam swój taki jakby grafik dnia, w wersji elektronicznej, w necie, dostępny na wszystkich moich urządzeniach. Są w nim zarówno stałe codzienne punkty zaplanowane do wykonania, jak też dopisuję tam czynności periodyczne, wymagające załatwienia w możliwie najbliższym czasie.
Każdy mój cel/projekt ma osobny swój plik, w którym jest on w miarę możliwości rozbity na mniejszej części składowe, a jeśli nie można wszystkiego z góry zaplanować, na najbliższe czynności do wykonania w tym projekcie. Mam też dodatkowy folder, na projekty które zamierzam zrealizować w przyszłości.
Kiedy biorę się za dany projekt, przenoszę pierwsze czynności do wykonania z pliku projektu do mojego grafiku.
Grafik staram się wykonywać punkt po punkcie. Jeśli czegoś nie zdążę wykonać w zaplanowanym czasie, zadanie zostaje po prostu na kolejny dzień, i tak aż do zakończenia danego etapu.
U mnie się to sprawdza stosunkowo dobrze. Oczywiście czasami wystąpią jakieś nieprzewidziane okoliczności i wtedy trzeba się dostosować do nich na nowo, ale mnie taka organizacja pomaga.

1 użytkowników online, w tym zalogowanych: 0, gości: 1