Kiedy wielcy myśliciele analizują problemy

Oryginalny post: Don’t Let Architecture Astronauts Scare You

Autor: Joel Spolsky

Kiedy wielcy myśliciele analizują problemy, zaczynają dostrzegać wzory. Spoglądają na problem ludzi wysyłających sobie pliki edytora tekstów, potem patrzą na problem osób wysyłających do siebie arkusze kalkulacyjne i zdają sobie sprawę, że jest do tego przypisany ogólny wzór – wysyłanie plików. To już jest jeden poziom abstrakcji. Potem przenoszą się o jeden poziom wyżej: ludzie wysyłają pliki, ale przeglądarki internetowe również „wysyłają” zapotrzebowanie na strony www. I kiedy się nad tym zastanowisz, wywołanie metody na obiekcie jest niczym wysyłanie wiadomości do obiektu! To znowu jest to samo. Wszystko to są operacje wysyłania, więc nasz mądry myśliciel wynajduje nową, wyższą, szerszą abstrakcję zwaną wiadomościami, ale teraz zaczyna się to robić naprawdę niejasne i nikt tak naprawdę już nie wie o czym mowa. Eh.

Kiedy wzniesiesz się za wysoko, abstrakcyjnie myśląc, w końcu zabraknie ci tlenu. Czasem mądrzy myśliciele po prostu nie wiedzą kiedy przestać, i tworzą te absurdalne, w pełni wyczerpujące problem, wysokopoziomowe obrazy świata, które są wszystkie poprawne i trudno im coś zarzucić, ale tak naprawdę w rzeczywistości niczego nie zmieniają, nic nie znaczą.

Takich właśnie ludzi nazywam Astronautami Platform. Bardzo ciężko zmusić ich do napisania kodu lub projektowania programów, ponieważ nie potrafią przestać myśleć o systemie. Są astronautami, ponieważ unoszą się wysoko, powyżej poziomu tlenu, sam nie mam pojęcia czym oddychają. Mają zwyczaj pracować dla naprawdę dużych firm, które mogą sobie pozwolić na zatrudnianie całej masy bezproduktywnych ludzi mających naprawdę wysokie wykształcenie, którzy nie mają kontaktu z rzeczywistością.

Ilustruje to ostatni przykład. Typowy Astronauta Platform zaakceptuje fakt, że “Napster jest usługą peer-to-peer do pobierania muzyki” i zignoruje wszystko poza kwestią modelu komunikacji, myśląc, że jedyne co jest tu interesujące to model P2P. Kompletnie pominą przy tym samo sedno, czyli że jest to interesujący program, ponieważ umożliwia wpisanie nazwy utworu muzycznego i przesłuchanie go od zaraz.

Wszystko, o czym będą rozmawiać, to działanie metody P2P tu, tam i w innych rzeczach. Nagle mamy konferencje poświęcone peer-to-peer, przedsiębiorstwa peer-to-peer i nawet peer-to-peer z głupimi dziennikarzami biznesowymi skaczącymi z radości kiedy kopiują między sobą teksty: ”Peer to peer jest martwe!”.

Astronauci Platform będą powtarzali rzeczy w stylu: ”Czy możesz sobie wyobrazić taki program jak Napster, w którym możesz pobrać cokolwiek, a nie tylko muzykę?”. Potem stworzą aplikacje w stylu Groove, które według nich będą bardziej ogólne niż Napster, ale które wydają się zaniedbywać tę małą, lecz istotną funkcję, która pozwala wpisać nazwę piosenki i jej wysłuchać – funkcję, na której przecież zależy nam najbardziej. Chodzi o zatracenie sensu. Jeżeli Napster nie byłby programem peer-to-peer, ale umożliwiałby wpisanie nazwy utworu i odsłuchanie go, byłby równie popularny.

Inną powszechną rzeczą, którą Astronauci Platform lubią robić, jest tworzenie nowych platform i zarzekanie się, że coś rozwiązują. Java, XML, Soap, XmlRpc, Hailstorm, .NET, Jini, o Boże sam już za tym nie nadążam. I to tylko w ostatnim czasie.

Nie mówię, że jest coś nie tak z tymi platformami, oczywiście, że nie. Są całkiem niezłe. Co mnie męczy to zadziwiająca ilość hałasu, który im towarzyszy. Pamiętacie reklamę Microsoft Dot Net?

Następna generacja desktopowej platformy Windows, Windows.NET wspiera produktywność, kreatywność, zarządzanie, rozrywkę i wiele innych oraz jest tak zaprojektowana, by dać użytkownikom kontrolę nad ich cyfrowym życiem.

Dziewięć miesięcy później otrzymaliśmy platformę Microsoft Hailstorm. Reklama oznajmiała:

Ludzie nie mają kontroli nad technologią, która ich otacza. HailStorm sprawia, że technologia w twoim życiu pracuje dla Ciebie i jest pod twoją kontrolą.

No dobrze, więc teraz nowoczesna lampa halogenowa w moim mieszkaniu przestanie mrugać co jakiś czas.

Microsoft nie jest sam. Oto cytat z reklamy Sun Jini:

Te trzy fakty (jesteś nowym administratorem systemu, komputerów nie ma nigdzie, jest jeden komputer wszędzie) powinny się łączyć, by ulepszać świat przez korzystanie z komputerów jako komputerów, przez sprawianie, by granice dla komputerów zniknęły, by komputery były wszędzie i poprzez uczynienie szczegółów pracy z komputerami tak prostymi, jak wkładanie DVD do kieszeni kina domowego.

I nawet nie przypominaj mi tekstu, który George Gilder rozprzestrzenił o Javie:

Fundamentalny przełom w historii informatyki…

To jeden pewny sposób by poznać, że jesteś atakowany przez Astronautę Systemowego: niesamowita pompatyczność, heroiczna, utopijna chełpliwość w połączeniu z oderwaniem od rzeczywistości. A ludzie to kupują. Prasa biznesowa szaleje! Wyobraźcie sobie, jak w ten sposób reklamowałaby się - , Warszawa, Kraków są nareszcie w twoim zasięgu, nawet bez własnego samochodu. Nie ważne, że istnieje coś takiego, jak transport publiczny, autobusy, pociągi czy samoloty, a praktycznie każdy z nas posiada własny pojazd. Na ludzi to działa.

Czemu do licha tyle osób jest pod takim wrażeniem nowych nudnych platform, które często wnoszą niewiele więcej niż zmieniony format plików lub nową wirtualną maszynę? To mogą być dobre platformy, z pewnością przyniosą korzyści programistom, którzy będą z nich korzystali, ale nie są, powtarzam, nie są żadnym substytutem do nadejścia mesjasza, czy nastania pokoju na świecie. Nie, Microsoft, komputery nie zaczną nagle czytać w naszych myślach, ani robić to, co chcemy automatycznie. Nie, Sun, analiza danych sprzedażowych wielkiej korporacji nie będzie równie prosta jak „włożenie DVD do stacji kina domowego”.

Pamiętajcie, że ludzie od platform rozwiązują problemy, które wydaje im się, że mogą rozwiązać, nie problemy, które przyniosą korzyści po ich rozwiązaniu. Soap + WSDL może być Gorącą Nowością, ale tak naprawdę nie pozwoli ci zrobić nic, czego nie mógłbyś zrobić za pomocą innych środków – jeżeli miałbyś ku temu powód. Cała ta Nirwana Usług Rozproszonych, o której paplają Astronauci Platform, była nam obiecana w przeszłości, jeżeli używaliśmy DCOM, JavaBeans, OSF DCE czy CORBA.

To miło, że XML ma zastosowanie w sieci. Super. Ale to jest dla mnie równie interesujące jak informacja, że mój supermarket używa ciężarówek, żeby przywieźć rzeczy z magazynu. Ziewać się chce. To dopiero interesujące. Powiedzcie mi o czymś nowym, co mogę zrobić teraz, a nie mogłem wcześniej, o Astronauci, lub zostańcie tam w kosmosie i nie marnujcie więcej mojego czasu.

Data publikacji oryginału: 21 kwietnia 2001

Pamiętajcie, praca powinna być zabawą

Oryginalny post: Remember, This Stuff Is Supposed To Be Fun

Autor: Jeff Atwood

Dokładnie pamiętam problemy, z jakimi musiał zmierzyć się mój ojciec podczas swojej kariery. Pracował ciężko by zdobyć tytuł MBA w prestiżowej szkole biznesu. Otworzyło to przed nim wiele możliwości, ale nie sądzę, by kiedykolwiek znalazł dokładnie to, czego szukał. W czasie mojego dzieciństwa często się przeprowadzaliśmy, podróżując od pracy do pracy, nigdy nie zostając w jednym miejscu dłużej niż rok. Nie jestem pewny, czy do dzisiaj udało mu się znaleźć pracę, która dawała mu satysfakcję. Kopie poradnika dla szukających pracy Jakiego Koloru jest Twój Spadochron stale leżały w naszym domu.

Dojście do tego, czego oczekujesz od swojego życia zawodowego, może zająć dużo czasu.

Tak jak mój ojciec, ja też spędziłem wiele lat po studiach fruwając od pracy do pracy. Nie miałem na co narzekać. Prowadziłem świetne życie. Nigdy nie czekałem długo na nowe oferty. Lubiłem swoją pracę. Ale nie wybierałem ścieżki kariery. Pozwalałem, by przypadek wybrał kim byłem, i kim miałem zostać.

Nadchodzi jednak taki moment w karierze, kiedy trzeba przestać unosić się przez życie jak symboliczne piórko w filmie Forrest Gump.

Niestety, nie sądzę, by mój ojciec kiedykolwiek zorientował się, co kochał robić najbardziej. Nigdy nie określił koloru swojego spadochronu. Ale mi sie poszczęściło. Kilka lat temu zdałem sobie sprawę, że to co kocham robić, to co naprawdę kocham robić bardziej niż cokolwiek innego, to pisać programy i mieć do czynienia z komputerami. Wiem, że wydaje się to oczywiste, ale macie tę przewagę, że nie jesteście mną. Samoświadomość jest rzeczą szczególnie kłopotliwą, patrząc na siebie od wewnątrz.

Życie jest za krótkie, by marnować je w pracy, w której nie robisz rzeczy, które chcesz robić, z której nie czerpiesz przyjemności. Nie ważne, czy piszesz programy, uczysz w szkole, czy tworzysz . I tak oto ja, beznadziejnie zakochany w komputerach i programach, pracowałem w firmie, gdzie oprogramowanie było postrzegane jako produkt uboczny, źródło kosztów, konieczne zło:

Mój bliski przyjaciel pracuje w firmie, która doświadczyła masowej ucieczki programistów. Pierwsi odeszli najlepsi, pozostali poszli za nimi. Ci, którzy zostali, to ludzie, którzy siedzą za biurkiem od 9 do 17 dla wypłaty i nie mają żadnej satysfakcji z tego, co robią. Firma ma teraz to, o co prosiła: zespół niskopoziomowych programistów z przymusu. Ludzie z inicjatywą, energią i pasją odeszli.

Firmy, które postrzegają programistów jako “narzędzia i niskiej jakości rzemieślników” są skazane w najlepszym przypadku na przeciętnych pracowników.

Żeby być szczerym, nie było akurat wielu ofert pracy. Praca była ciekawa, ale było oczywiste, że oprogramowanie nie stanowiło siły napędowej tej organizacji. Outsourcing wisiał w powietrzu. Mimo, że moi współpracownicy byli kompetentni, nikt nie miał aż takiej obsesji na punkcie programowania, jak ja. Moja pasja w tym temacie i wszystkim z nim związanym, najwyraźniej nie była podzielana.

Wyruszyłem by to zmienić. Nie chciałem więcej być wybierany przez firmy z listy kandydatów. W zamian, to ja postanowiłem wybierać interesujące mnie firmy. Takie, do których miałem szacunek, które podzielały moją pasję do oprogramowania. Uzbrojony w trzydzieści lat doświadczenia, nie miałem zamiaru pozwalać, by losowe sploty okoliczności decydowały o mojej ścieżce zawodowej. Ja wybiorę, gdzie chcę pracować.

W swoim ostatnim artykule, Joel Spolsky opisuje główną filozofię swojej firmy programistycznej:

Szczerze mówiąc, głównym powodem, dla którego otworzyłem tę firmę była chęć czerpania przyjemności z pracy. Praca w Fog Creek jest celowo zaprojektowana tak, by być przyjemną. Uruchomiliśmy nasz biznes, ponieważ chcieliśmy świetnego miejsca do pracy, do spędzania naszych dziennych godzin. I mamy niepokojący zwyczaj, by robić wiele rzeczy samemu, szczególnie, jeśli ma temu towarzyszyć przyjemność i zabawa lub jeżeli uważamy, że możemy to zrobić lepiej. Zajmuje to trochę więcej czasu, ale zdałem sobie sprawę, że to odbyta podróż jest nagrodą.

Dokładnie dlatego ja wybrałem pracę w Vertigo Software. Dzielimy tę samą filozofię. W Vertigo jestem otoczony niezwykle utalentowanymi programistami, którzy wszyscy są pasjonatami oprogramowania. I do licha, dobrze się bawimy.

Jeżeli kochasz programowanie tak bardzo jak ja, zasługujesz na pracę w firmie, w której ludzie przychodzą do pracy nie po to, by odsiedzieć swoje, ale dlatego, że też kochają programowanie. Zasługujesz na firmę, gdzie inżynieria oprogramowania jest szanowana. Zasługujesz na pracę, w której pracownicy spotykają się, by czerpać przyjemność ze wspólnego tworzenia oprogramowania*.

Jesteśmy w środku wielkiego technologicznego ożywienia. Niektórzy mogą to nawet nazwać kolejną bańką. Możliwości jest mnóstwo.

Wybierajcie mądrze. I pamiętajcie, praca powinna być zabawą.

Data publikacji oryginału: 15 października 2007

Related Posts with Thumbnails