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

Nie będę kodował dla Polski. Ani dla świata.


17.02.2014

Hackaton – an event in which computer programmers and others involved in software development (…) collaborate intensively on software projects.

(za Wikipedią)

W przeciągu kilku ostatnich miesięcy zostałem niechcący “natknięty” na dwie inicjatywy związane z programowaniem dla “wyższych celów”. W głębi duszy dobry jestem człowiek, więc mnie samego zdziwiła moja reakcja. Reakcja powodująca szczery sprzeciw i zdumienie, że ktoś takie coś organizuje. Ryzykując utratę wizerunku takiego dobrego ludzia (heh, o ile takowy posiadam) podzielę się refleksjami, tak jak to już w paru rozmowach “offline” uczyniłem. Bardzo chętnie kontrargumenty poznam.

Celem tego posta nie jest zniechęcenie nikogo tych inicjatyw. Gdzieś tam pod spodem, u źródeł, dostrzegam bardzo szlachetne racje. Jednak rzeczywistość, moim zdaniem, dość brutalnie nakłada na nie swoje szare warstwy, drastycznie sprowadzające całość na ziemię. Postaram się przedstawić dlaczego JA bawić się w to nie zamierzam. A zakończę i tak pozytywnym akcentem, aby niesmaku nie pozostawiać.

Koduj dla Polski

Pierwsza ze wspomnianych akcji to “Koduj dla Polski“. We wrześniu otrzymałem od organizacji stojącej za KdP maila proponującego przyłączenie się do tego ruchu i promowanie go. Wtedy odpisałem że nie jestem zainteresowany i że pisać o tym nie będę. Ale jak widać nie tylko kobieta zmienną jest (gender w końcu, dammit!!!), więc… piszę.

Parę cytatów ze strony:

celem jest promocja “kodowania”, “programowania” i “bycia developerem” jako nowoczesnych form patriotyzmu

obywatele powinni uczestniczyć w życiu publicznym, dlatego chcemy zachęcić polskie społeczeństwo do korzystania z otwartych danych

celem Koduj dla Polski jest zaangażowanie innowacyjnego potencjału młodych deweloperów do stworzenia nowych rozwiązań służących w codziennych wyzwaniach w interakcji między obywatelami i rządem oraz do tworzenia aplikacji dla nowoczesnych usług publicznych

Wszystko spoko: zwykły obywatel definiuje problem, “ktoś” go filtruje i zleca programiście, a ten klepie rozwiązanie. Wszyscy są szczęśliwi. Dlaczego więc w ten cykl szczęśliwości nie chcę się włączyć? W tym przypadku powód jest bardzo prosty: jak czytam o kilkuset tysiącach złotych wydanych na stronę www dla prezydenta, jak słyszę o kilkudziesięciu milionach przeznaczonych na “dostosowanie ZUSu do nowych przepisów prawa”, jak spojrzę na rząd wielkości pieniędzy marnowanych przez głupotę tych, przez których miałbym wieczorami tyrać za friko, to… dzięki, obejrzę film i wypiję browara.

Z tego co się orientuję to powstające pod skrzydłami tej inicjatywy aplikacyjki to proste jedno- lub kilku-osobowe mini-projekty. Jak “mapa najbliższych koszy na zużyte baterie” (to się pojawiło jako przykład na białostockim spotkaniu GGC).

W tym kontekście tym bardziej moja niechęć wzrasta. Ile takich projektów można by zrealizować normalnie, to znaczy “płatnie”, gdyby uszczknąć choćby jakąś mikroskopijną część z kasy bezmyślnie wywalanej co roku na “konieczne do działania państwa” molochy? Sto? Tysiąc? To dlaczego, do cholery, tak się nie dzieje? Branie spraw w swoje ręce to jedno, ale dla mnie osobiście naprawianie problemów na tym poziomie kończy się na okazjonalnym wsparciu WOŚP.

Hack4good

Akcja numer dwa to Hack4good. O tym usłyszałem podczas jednego z krótkich wystąpień na HackKRK.NET, gdzie sam mówiłem o Nancy. Niestety piszę trochę za późno, bo event już się odbył, ale chodzi o samą ideę. Z tego co zrozumiałem to celem jest zebranie się i naklepanie w 48 godzin aplikacji, która “zrobi różnicę”. Wspomoże organizację charytatywną, pomoże rejestrować ruch uchodźców w Afryce, whateva.

Tutaj zastrzeżeń mam więcej. Większością z nich podzieliłem się od razu na miejscu z organizatorem.

Po pierwsze: dwa dni, choćby spędzone na kodowaniu non-stop, to moim zdaniem za mało na stworzenie czegoś nadającego się do wykorzystania produkcyjnego. Co jeśli pojawi się bug (a wiadomo, że się pojawi)? Kto go naprawi? Albo co ważniejsze nawet: kto weźmie za niego ODPOWIEDZIALNOŚĆ? Roztaczano przed nami wizję napisania czegoś “ważnego”. Załóżmy, że mój kod odpowiedzialny za “derejestrację” tego biednego uchodźcy powstaje w czterdziestej godzinie programowania, gdy nabuzowany redbullami nie odróżniam już true od false. Tak więc kolesia zarejestrowałem w Ugandzie, ale system nijak nie będzie w stanie zmienić tego stanu, i wedle wiedzy systemu po wsze czasy dany ziomek jest do Ugandy przypisany. Czy nie dostaniemy w ten sposób więcej szkody niż pożytku?

Poza tym, kto tego w ogóle będzie używał? Nie chce mi się wierzyć, że organizatorzy dysponują szczegółowymi specyfikacjami problemów do rozwiązania. A wiadomo: programista mający z daną dziedziną wspólnego tyle co nic, widzi problem zupełnie inaczej niż on faktycznie wygląda. Efekt: dostajemy kodowy zlepek nienadający się do niczego. A nawet gdyby taka specyfikacja istniała to wracamy do punktu pierwszego: czas.

Czy mamy tworzyć systemiki całkowicie oderwane od rzeczywistości, to znaczy od całego morza danych, jakimi prawdopodobnie wszystkie zainteresowane organizacje dysponują, i które są konieczne do tego aby zrobić cokolwiek przydatnego? Integracja bez specyfikacji systemów zewnętrznych i źródeł danych jest niemożliwa.

Wreszcie: środowisko docelowe! Niech nawet przyjdzie jakiś geniusz, niech faktycznie naklepie coś co jest idealne, działa tak jak powinno, cud-miód. To i tak… jaka jest szansa, że jego założenia co do fizycznego wdrożenia całości pokrywają się z rzeczywistością? Że to ma śmigać na takim a nie innym systemie operacyjnym? Że korzystać może z takiej a nie innej bazy danych? Że wreszcie ktoś u “klienta” w ogóle będzie wiedział jak to ugryźć?

To nie są złośliwości, tylko autentyczne wątpliwości jakie mi się momentalnie nasunęły podczas słuchania roztaczanej przed nami wizji. Bardzo chętnie poznam odpowiedź na choćby część z nich.

Pewnie, fajnie jest się spotkać, ochlać kawy, wspólnie pokodować, i rozejść do domów. Ale żeby zaraz zbawiać świat… trochę to jak dla mnie zbyt piękne. I zbyt naiwne.

Ale zaraz zaraz…

…czy jestem podłym, złym, zaślepionym mamoną, chciwym niegodziwcem? Czy uważam w takim razie, że programowanie to tylko sposób na wypełnienie wanny kasą w celu taplania się w niej jak SknerusMcKwacz?

Raczej nie, co na tym blogu w jakiś tam sposób czasami udowadniam. Jestem po prostu zdania, że jak coś robić, to z głową! I najchętniej bez podpinania pod to tak zeszmaconego w ostatnich latach przez naszą pseudo-klasę pseudo-polityczną “patriotyzmu”. Albo motywu ratowania świata, od którego po paru edycjach Imagine Cup robi mi się niedobrze.

Oczywiście że warto programować również poza “pracą”! Warto zrobić z tego hobby. Warto się pasjonować, rozwijać, zdobywać i szerzyć wiedzę. Próbować dzielić się mocą, jaką we współczesnym świecie posiadamy jako koderzy. Zresztą cały cykl – Devkalog – między innymi o tym swego czasu napisałem.

Można poświęcić swój czas na coś, co naprawdę może mieć fajne efekty. I nie czuć się przy tym… wykorzystanym i oszukanym. Mówię o akcji, jaką ostatnio zorganizowała szwedzka firma Tretton37. W skrócie: jeden dzień pracy poświęcili na dogłębne poznawanie i ulepszanie projektów open source, z których korzystają tworząc swoje projekty. Więcej można poczytać na blogu @thecodejunkie: “A full day of open-source at Tretton37” oraz “Open-source day aftermath“. Na Twitterze mignęła mi idea zorganizowania czegoś takiego przed kolejnym DevDay… TAK, TAK TAK!!!

A gdyby jednak…

…się okazało, że dzięki temu postowi ktoś po prostu DOWIE SIĘ o jednej bądź drugiej akcji… albo zobaczy że takie akcje się w ogóle zdarzają… i zrobi dalszy research na własną rękę… i pomyśli sobie “DO ROBOTY!”… i patrząc na mnie z wyższością zrobi coś fajnego… To jestem “more than happy”. Niech da znać.

I “rant” może mieć dobre strony;).

0 0 votes
Article Rating
7 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Łukasz
Łukasz
10 years ago

Zgadzam się w 100% ze wszystkim co wymieniłeś. Według mojej skromnej opinii czasy niewolniczej pracy za przysłowiową “miskę ryżu” się skończyły dawno temu. Jak ktoś chce się rozwijać i progamować jako hobby to spoko, ale niech robi to dla siebie i nie da się wykorzystywać ludziom żerującym na naiwności innych. Btw. Jak przeczytałem o tym, że NFZ wydał 60 tys. zł na zmianę loga to mnie krew zalała … jakby ktoś to przeoczył to odsyłam http://niezalezna.pl/51227-nie-ma-na-lekarstwa-jest-na-nowe-logo-i-strone-za-jedyne-60-tys-zl

MWW
MWW
10 years ago

Maciej – bardzo lubię Twojego bloga. Nie mogę się jednak zgodzić z poglądem że takie spotkania nie mają sensu. O ile Hack4Good może jest trochę pokręcone (nie wiem, nie znam), to Koduj dla Polski jest fajną inicjatywą. Po pierwsze mówi głośno o otwartości danych – skoro już płacimy jako obywatele za dane które urząd przetwarza elektronicznie, to niech te dane będą łatwo dostępne. Przykład ? Na podstawie map chyba Departamentu Rolnictwa powstało parę biznesów. Po drugie. Urzędnicy i pracownicy instytucji publicznych nie do końca wiedzą co można zrobić. W ciągu 48h można zrobić coś a’la Proof of Concept – ale to wystarczy aby np taka instytucja powiedziała – ok, robimy bo “próbna” wersja jest cool. Przykład – “Kulturalna Małopolska”. W końcu Koduj dla Polski opiera się o fundację która zrobiła masę dobrego pod względem dostępu obywateli do informacji publicznej (sejmometr). I z tego co rozmawiałem podczas Koduj dla Polski to jest masa pomysłów które można zrealizować. I nauczyć się nowego frameworku. Nowych testów. I to dla mnie jest sensowny patriotyzm połączony z profesjonalizmem.

A teraz wyobraź sobie że obok Koduj dla Polski są warsztaty dla np. licealistów którzy chcą się nauczyć kodować. Może nie kodują tak dobrze, jak Ty, ale są na początku drogi. I na przykład zrobisz wykład. O kodowaniu, o testach, o jakości. Pokażesz pasję. A wynikiem będzie fajny projekt np. kulturalny.

Patrząc z Krakowa, najbardziej zasyfionego miasta w PL i 3 w EU dostęp do danych jest kluczowy – akcja anty smogowa w Krakowie mogła działać właśnie bo ktoś napisał coś w stylu “Koduj dla Polski”, kolejny to zrobił lepiej i ruszyło bo ludzie się zorientowali że poziom powietrza jest fatalny (sam widziałem normę przekroczoną 19 razy!).

Więc są efekty. Pozdrawiam serdecznie z KRK,

Robin
Robin
10 years ago

“Spend so much time improving yourself that you have no time left to criticize others.” :)

Ja osobiście zgadzam się po części, jeśli chodzi o “wielkie” projekty tego typu. Uważam jednak że nader ważne jest angażowanie się w lokalne inicjatywy. Bliższa koszula ciału i większe korzyści odczuję kiedy pomogę lokalnej społeczności, swojemu miastu, dzielnicy, organizacji niż, jak zauważyłeś, “współstworzę” bardzo szlachetny i oderwany od świata rzeczywistego mega projekt. Uważam, że w przypadku małych, lokalnych projektów łatwiej jest potem o ich utrzymanie i rozwój. Pomysł z wykorzystaniem projektów OpenSource i “odpłacenie” się w postaci ich rozwoju – ql!

Kuba
Kuba
10 years ago

Państwo przepłaca za wszystkie projekty informatyczne właśnie dlatego, że jego obywatele zamiast organizować się i je kontrolować, oglądają filmy popijając piwko.

Krzysiek Madejski - Koordynator Koduj Dla Polski
Krzysiek Madejski - Koordynator Koduj Dla Polski
10 years ago

Krok po kroku idziemy naprzód. W ramach Koduj Dla Polski rozwijamy małe aplikacje każda poprawiająca jeden mały problem składający się na tą szarą rzeczywistość. Na tyle małe, żeby dość łatwo było doprowadzić finalny dopracowany produkt stosunkowo niedużym nakładem pracy.

Jasne, że lepiej gdyby Państwo finansowało takie inicjatywy. Ale wtedy powstaje problem przydziału środków na projekty i przerostu biurokracji. Z państwowych środków warto finansować duże inicjatywy, co zresztą będzie się działo. Strategia Polski Cyfrowej 2014-2020 przewiduje pieniądze dla wspólnych inicjatyw instytucji publicznych, biznesu i NGOsów, promujących otwarte dane i integrację usług. Jak to będzie wyglądać w praktyce – pewnie nie tak różowo – mam kilka anegdotek do opowiedzenia na priv.

Hackathon – spotkałem się z tymi zarzutami i się z nimi zgadzam. Jest to kwestia zdefiniowania celów tego wydarzenia. Hackathony są świetne na burzę mózgów pozwalającą na stworzenie porządnych pomysłów i projektów. Jeżeli czas pozwala to udaje się także stworzyć działający, choć dziurawy Proof-Of-Concept. Jeżeli ktoś oczekuje produktu off-the-shelf to go nie otrzyma. Za to przed organizacją hackathonu należy dobrze zaplanować w jaki sposób wszystkie wypracowane pomysły i POC będą rozwijane i utrzymywane.

Efekty widać – istniejące apki prezentujące poziom smogu w Krakowie przyczyniły się do wzrostu zainteresowania i mieszkańców i urzędników tym tematem, który technologicznie się cały czas rozwija. Z ciekawych pomysłów trzymam też gorąco kciuki za Cichego Bohatera: https://www.facebook.com/cichybohater, który będzie pozwalał zgłosić problem na Straży MIejskiej.

Co do ulepszania projektów open-source. Pomysł zacny jeżeli nie jest to jeden dzień w roku. Ale szczególnie w dużej korporacji zdarza się tak, że wiele osób oczekuje na przydzielenie projektu. Wtedy sensowne byłoby przydzielenie ich do ulepszania open-source zamiast grania w MarioBros. Ale taka decyzja musi wypłynąć od wyszczego szczebla.

Pozdrawiam serdecznie i zapraszam przy okazji na nasz najbliższy hackathon – ceehack.org. :)

Łukasz
10 years ago

Wydaje mi się %, że za bardzo koncentrujesz się na “produkcie”, który niosą te hackathony, co w sumie nie dziwi, bo tak reklamują je organizatorzy (i to jest głównym problemem IMO). Na tych eventach tak naprawdę najważniejszy jest networking – poznawanie nowych ludzi, wymiana wiedzy, poglądów, pomysłów. Co tam się stworzy to sprawa naprawdę drugorzędna. Ważne jest to (co było powiedziane gdzieś wyżej), że ktoś może zostanie zainspirowany, może stworzą się nowe przyjaźnie, z których powstanie coś fajnego itd. Wiem co mówię, bo byłem na 5 hackathonach z czego na 4 udało mi się być wyróżnionym czymś tam, przy czym np. udało mi się poznać wielu ciekawych ludzi, znalazłem nowych klientów dla mojego biznesu, zyskałem nowe pomysły. I moim zdaniem wniknęło z tego dużo dobra dla Polski, innych ludzi.. tylko uchodźców nie udało się jeszcze uratować :)

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Książka

Zobacz również