Szczególna cecha umysłu
Czy istnieją superprogramiści? Opinie na ten temat wśród przedstawicieli firm zajmujących się tworzeniem oprogramowania są podzielone.
Czy istnieją superprogramiści? Opinie na ten temat wśród przedstawicieli firm zajmujących się tworzeniem oprogramowania są podzielone.
Superprogramistów można również nazwać 10xprogramistami, bowiem efekty ich pracy są o rząd wielkości - nie zaś kilkanaście czy kilkadziesiąt procent - lepsze od pozostałych osób parających się tym zawodem. O tym zdumiewającym zjawisku napisał niedawno w jednym z amerykańskich pism informatycznych John Parkinson, szef ds. technologii w firmie konsultingowej Cap Gemini Ernst & Young. Jego doświadczenia wskazują (przez wiele lat kierował pracami kilkudziesięcioosobowych lub większych zespołów programistów), że średnio 75% finalnego kodu jest dziełem zaledwie 5% programistów biorących udział w projekcie, a co więcej z ich rąk (czy też raczej umysłów) pochodzi praktycznie cały "soft" doskonałej jakości (tj. nie tylko bardzo efektywny, ale przede wszystkim od początku charakteryzujący się małą liczbą błędów). Na ocenę pracy programisty składają się zarówno szybkość pisania kodu, jak i liczba tworzonych błędów (a tak naprawdę iloraz tych dwóch wielkości), czyli umiejętność dochodzenia do szukanego rozwiązania. Jego warsztat zawodowy tworzy umiejętność wysławiania się w danym języku programowania.
Tajemnica osiągnięć superprogramisty nie tkwi w wykorzystaniu wyrafinowanych narzędzi czy metodologii. Nie jest również efektem heroicznych wysiłków i pracy ponad siły (chociaż superprogramiści charakteryzują się zazwyczaj silnie zindywidualizowanym trybem pracy i przyzwyczajeniami, które dla innych mogą się wydawać osobliwe). "To całkiem zwyczajna, choć tak rzadka umiejętność znajdowania najprostszego rozwiązania danego problemu. Przeciętny programista tworzy kod z grubsza dwa razy większy niż potrzeba i w dodatku trzy razy wolniejszy niż powinien, traci bowiem z oczu podstawowe cele, jakie powinny przyświecać jego pracy. Woli bawić się klockami, tyle że wirtualnymi " - mówi Tomasz Kunicki, prezes AdRem Software.
Programowanie jest procesem, który w dużej mierze odbywa się w podświadomości. Dobry kod powstaje w sytuacji, w której programista w tak dużym stopniu jest skupiony na swojej pracy, że pewne rzeczy po prostu "płyną" z jego głowy. "Programowanie jest kwestią wyobraźni. Dobry programista potrafi sprawnie poruszać się po wielowymiarowych przestrzeniach, które tworzy w swojej głowie. Taki wirtualny model, tak ja sen, czasem jest uchwytny tylko w pewnych stanach umysłu" - uważa Piotr Nowak, senior project manager w Przedsiębiorstwie Usługowo-Produkcyjnym SPIN. Gdy tymczasem programista musi nagle zmieniać zupełnie kontekst swojego myślenia, odpowiadać na pytania nie związane z zadaniem wykonywanym w danej chwili, ten przepływ myśli zostaje zakłócony i powrót do właściwego stanu umysłu zajmuje kilka, kilkanaście czy nawet kilkadziesiąt minut. "Programy robi się całym sobą, w trakcie tego procesu nie może istnieć nic poza tym. Nie chodzi tu tylko o kodowanie - w tworzeniu dobrego oprogramowania nie ma ścisłej hierarchii i podziału ról. Każdy dobry programista musi być po części projektantem" - uważa Andrzej Odyniec. Potwierdza to Tomasz Kunicki. "Superprogramiści potrafią być jednocześnie budowniczymi i architektami, płynnie przechodząc różne poziomy abstrakcji, podczas gdy typowy programista zazwyczaj pozostaje na tym najniższym - procesie kodowania" - twierdzi Tomasz Kunicki.
Oczywiście czynnik skupienia jest istotny w każdej pracy umysłowej, ale w przypadku programowania odgrywa on kluczową rolę. Zatem o zbyt niskiej wydajności programistów często decydują zła organizacja ich pracy i lekceważenie krytyczności czynnika koncentracji, a więc także często podyktowana pozorną oszczędnością niesprzyjająca tejże koncentracji aranżacja miejsca pracy ( "Jeśli nie potrafisz wydobyć ze swoich programistów tego co najlepsze, to w jaki sposób zamierzasz tworzyć dobre programy?" - pyta Bryan Dollery).
Idąc tropem tez Dollery'ego, można by zauważyć, że superprogramiści to ludzie odporniejsi na działanie tych czynników zewnętrznych, bardziej od nich niezależni. Wyrwani ze stanu koncentracji umysłu potrafią doń błyskawicznie powrócić, zaś same fizyczne warunki miejsca ich pracy nie mają dla nich większego znaczenia. Oczywiście, jeśli tylko spełni się ich, czasem dziwaczne, zachcianki i wymagania.
Oceń artykuł
Komentarze (0)
Najpopularniejsze
- Ministerstwo Cyfryzacji ma już swoją...
- Microsoft: Kinect dla Windows jeszcze w tym...
- Jakie skutki będzie miało wprowadzenie ACTA
- 5 zmian, które mogą zaważyć na...
- Boni powołał członków Rady Informatyzacji
- Koniec ery nieograniczonego dostępu do...
- Kolejne aresztowania w związku z aferą w...
- ATCA zostało wdrożone w sieci 3G Polkomtela...
- Rejestr Usług Medycznych, czyli największa...
- Nokia w trzy miesiące straciła miliard euro
Rekomendacje
Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88





