Przeglądając [blog Jarka Zgody](http://zgoda.jogger.pl/#e132130) trafiłem na ten tekst:
"Istota ludzka powinna umieć zmieniać pieluchy, zaplanować inwazję, ubić wieprza, zbudować statek, zaprojektować dom, napisać sonet, poprowadzić księgę rachunkową, zbudować mur, nastawić złamanie, pocieszać umierających, wydawać rozkazy, przyjmować rozkazy, działać w grupie, działać samemu, rozwiązywać równania, analizować nowe problemy, roztrząsać nawóz, zaprogramować komputer, ugotować smaczny posiłek, walczyć skutecznie i umrzeć chwalebnie. Specjalizacja jest dla insektów." – Heinlein, "The Notebook of Lazarus Long"
Świetne. Przy okazji szukania źródła trafiłem na to:
"Programista powinien umieć znaleźć błąd, sprzedać aplikację, przebudować prowizorkę, poprowadzić zespół, zaprojektować aplikację, zaplanować projekt, zbudować bazę danych, skonfigurować sieć, zaimplementować opowieści użytkowników, przeanalizować opowieści użytkowników, pracować w zespole, pracować samemu, używać wzorców, tworzyć nowe rozwiązania, pisać dokumentację, mieć prawdziwe życie, stworzyć fajny serwis www, pisać listy wydajnie, rezygnować z wdziękiem. Specjalizacja jest dla werbowników." – Peter Merel ([podobno](http://no-smok.net/nsmk/SpecializationIsForInsects))
Zgadzam się. Nie wymagałbym wielkich umiejętności marketingowych i handlowych, ale należy mieć przynajmniej cień świadomości na temat tego jak myślą i czego oczekują od oprogramowania użytkownicy. Manie prawdziwego życia w tym bardzo pomaga.
Nie chodzi też o to, żeby programista faktycznie zajmował się administracją sieci. Powinien jednak wiedzieć, jak działa, czego się spodziewać, a w razie problemów – jak szukać ich przyczyn.
Więcej na ten temat napisał dwa lata temu [Eric Sink](http://notalegend.com), w tekście ["Potrzebujecie programistów, nie koderów"](http://software.ericsink.com/No_Programmers.html). Oj, tak.