A ty jesteś już cool ?


Ciekawy i przerażająco ortodoksyjny jest świat ludzi związanych z IT, szczególnie patrząc z boku. Zastanawiałem sie ostatnio będąc na uczelni jak wygląda "świat" deweloperów skupionych wokół Ruby okiem innych programistów. Dla przeciętnego polskiego programisty pracującego w korporacji programując w delphi bądź php, to banda kolesi uważających, że są cool chodząc wszędzie ze swoimi macbookami i iphonami na których są skaczące gadżety. Ulubionym ich hobby jest rozmowa na temat tego jak można zrobić bloga w 15 minut. Ci goście spotykają się później ma konferencji z ludzmi równie cool jak i oni, a podstawową sprawą jest umówienie technik Agile polegających na zrobieniu chaosu i uniknięciu rzetelnego programowania. Ten dramatycznie kolorowy obraz "światka rubiego" tu wygląda śmiesznie, ale w głowach większości z szanującch się powaznych polskich programistów jest on jak najbardziej realny.



Ten "niszowy, egzotyczny i dziwny język" - słowa jednego z profesorów z mojej byłej uczelni, zrobił ostatnio niezłe zamieszanie głównie za sprawą Dhh który z niego ulepił niezły framework RubyOnRails. Dobrze ! bo im wieksze zamieszanie tym ciekawsze rzeczy z niego powstać mogą.
Wracając do tematu, faktycznie świat Agile Methodologies (scrum, xp), połączonym z dającym taką produktywność językiem Ruby, może wyglądać dla takiego kogoś zbyt "cool". Nie wiem dlaczego, ale to bycie cool (w odpowiednim tego słowa znaczeniu) w tej cześci świata jest jakiś dużym problemem. Mówiąc to widze od razu kogoś ubranego w schludny garniturek mówiącego "nie, to jest dziedzinne, ja pracuje w segmencie enterprise, potrzebuje rzetelnych rozwiązań ide programować w Javie". Wiem, że to temat poruszany setki razy ale tak zabawny, że musze to mówić.
Główny jednak problem polega na tym - młody programisto szukający właściwej dla siebie technologii - że ten obraz faceta w fancy koszulce programującego w cool języku jest błędny.



Po pierwsze język ruby to nie ipod, różnica jest taka:

- ipod wygląda pięknie, żeby wykorzystac jego potencjał nie trzeba wielkiej wiedzy, jest prosty, czytaj: po prostu nie da sie tego spieprzyć.
- ruby wygląda pięknie i prosto, ale żeby wykorzystać jego potencjał trzeba naprawde sporej wiedzy i doświadczenia,
czytaj: jeśli jedyne co robisz to pisanie trzy-klasowych frameworków php o sporych mozliwościach, ruby Ci nie pomoze, ani ty nie pomożesz rubiemu, kup książki i się ucz.

Odnośnie tego ostatniego można zauważyć coś jakby spadek średniego "poziomu wiedzy" commmunity. Ale to naturalne i dobre, chodzi tu o fakt otworzenia się tego świata na ludzi - reklama. Kiedy na ircu było ze mna całe 8 osób, które nie mają przyjaciół, nie oglądają słońca, tylko siedza przy komputerze z zainstalowanym Textmate i Rubym, wiadomo, że poziom rozmowy staje się inny niż gdy przychodza młode rządne wiedzy, chcące poznać fajną nową technologie istotny. Ale zwiekszenie community to zwiększenie liczby możliwych pomysłów - czyli funkcja poziomu wiedzy wśród community ciągle faluje.

Ten abstrakcyjny wykres miał z założenia ilustrować, jak zmienia się w czasie średni poziom zadawanych pytań na ircu w zależności od liczby przybywających osób - nie wiem czy to wyszło ale nadaj się napewno na coś w stylu pracy doktorskiej :P

Co do Agile Methodologies to dość skomplikowana sprawa, po pierwsze nie jest tak naprawdę cool (może jest cool ale nie jest łatwe). Po co to wymyślono ? No po to, żeby wyciśnąć z ludzia co sie da i zarobić więcej kasy, być bardziej produktywnym, nie oszukujmy sie takie są realia rynku. O dziwo im coś jest trudniejsze tym z boku wygląda tu na prostsze. Agile wygląda cool, bo tak naprawde wiele firm mówi o sobie "pracuje w Agile", a nic nie ma to z tym wspólnego.

"People look at agile methods as a chinese menu of practices, choose the few that look cool, and ditch the rest. Unfortunately, the parts they leave out are the parts that make Agile work."

*Polecam przeczytać artykuł z którego to pochodzi: 


Generalnie rzecz biorąc, ktoś kto poszedł na scrum master course i myśli że jest dobrym project managerem, bo przesiedział na krzesełku 10 godzin. Jest tak wiarygodny jak ktoś kto myśli, że będzie lepszym progamistą bo przeszedł z pisania hello world w php do rubiego.
Bycie Agile nie jest łatwe, każda godzina twojego czasu i minuta jest zagospodarowana, przejście na TDD/BDD jest także trudne, większość ludzi trafia szlag i nie dociera do czegoś co naprawde te metody czyni efektywnymi.

Kończąc ten krótki tekst w którym chciałem sie na wszystkich wyżyć. Myślę, że głównym problemem ludzi, którzy krytykują rubiego i nowe "cool" technologie jest fakt, że boją sie je poznać albo po prostu nie maja wystarczającej wiedzy. Jestem raczej przeciwny propagowaniu Rubiego jako czegoś co jest już szybsze od PHP w połączeniu z miliardem różnych benchmarków. Ktoś to jest na tyle ograniczony, że główne kryterium wyboru technologi to wydajność w "teście hello world" powinien w swojej macierzystej technologii pozostać.

Nie przekonuje nikogo do niczego, wybieram technologie, które gwarantują mi produktywność w tym co robie, no i kase kase kase....
Czasem patrząc na ludzi umęczających sie w jakimś dziwnym phpowym frameworku wymyślonym przez ich szefa zastanawiam sie, dlaczego wybierają wciąganie krowy przez tylną klatkę schodową zamiast po prostu kupić karton mleka.

Do czego wszystko sie sprowadza ? Do tego, że trzeba się ciągle uczyć -  oczywiste. Nieakceptowalne po prostu powinno być narzekanie i krytykowanie rzeczy, których się nie zna, ale za pięknie by prawdopodobnie to było. 

Komentarze


  • Facebook
  • Twitter
  • Digg
  • Delicious
  • Google Buzz