Poruszając się w potocznym znaczeniu słów "Programista" to pojęcie szerokie niemal jak "informatyk". Przecież dla rodziny jesteśmy informatykami a nie programistami czyli naprawiamy komputery umiemy zainstalować u cioci na tablecie Skype'a i zrobić Internet. Zawężając się jednak do podzbioru "informatyków" czyli samych programistów nadal pozostajemy w ogromnym zbiorze stanowisk, zakresów kompetencji czy zwyczajnie różnych charakterów i osobowości.
Pośród tych wszystkich "normalnych" i "dziwaków" są programiści, których praca jest ważna, bardzo odpowiedzialna są wartościowi dla dużej grupy ludzi a czasem nawet dla całego społeczeństwa. Są też tacy, których istnienie uzasadnione jest jedynie zrealizowaniem nieznaczącego drobnego zlecenia, poza którym właściwie nie musieli by istnieć. Nawet gdyby zniknęli jak czarownik zamieniając się w parę to nikt by tego nie zauważył... Może osoba siedząca obok widząc to powiedziałaby Wow! Co z tego wynika a no nic - są różni programiści i tyle.
Sama inteligencja to nie jest magiczna moc pozwalająca robić rzeczy, których mniej inteligentni nie potrafią. Inteligencja nie jest synonimem mądrości, głupoty, doświadczenia ani posiadania wiedzy. Praktyka pokazuje, że podczas pracy programisty najważniejszą rolę odgrywają właśnie cechy t.j. (subiektywnie w kolejności od najważniejszej): wiedza, doświadczenie, mądrość ... Dodałbym jeszcze mało docenianą wśród umysłów ścisłych komunikatywność. Inteligencja to ostatnia rzecz, która jest nam potrzebna. Ta jednak bywa świetnym spoiwem między wymienionymi cechami jeśli posiadamy je już na wyższym niż przeciętny poziomie. To daje nam większe szanse na sukces, niestety osiągnięcie go nadal wymaga ogromnego nakładu pracy.
Inteligencja idzie trochę w parze z intuicją i to jest moim zdaniem istota rzeczy. To taki łącznik między sposobem i skutkiem podejmowanych decyzji odrobinę rozróżniający osoby inteligentne od tych mniej inteligentnych. Ci pierwsi rzadziej się mylą a ich decyzje podejmowane na szybko lub w stresie[1] także w mniejszej ilości przypadków kończą się porażką. To przekłada się na lepszą skuteczność w działaniu i oszczędność czasu a to już bardzo dużo jeśli poprzeczkę stawiamy wysoko. Jeśli jednak nie planujemy kariery "od zera do milionera" to inteligencja może nam pomóc np. w tym, żeby w pracy mniej się męczyć albo wyrwać ładniejszego partnera/partnerkę (zawsze coś)... Generalnie cudów, laserów, matrixa i statków kosmicznych nie ma w żadnym przypadku:-)
Nawet mało inteligentna osoba może programować. Będzie jej trudniej - prawdopodobnie będzie lubić zadania bardziej żmudne niż wymagające umiejętności dalekosiężnego projektowania i przewidywania zachowania systemu. Nadrobi to jednak skrupulatnością, czytelnością kodu być może będzie dobrze testować a to przyczyni się to tego, że program wychodzący spod jej ręki będzie dla użytkownika równie dobry jak ten napisany przez geniusza. Oczywiście jak ktoś jest leniwy, wyjątkowo tępy lub nie chce się uczyć to szans nie ma to jednak zasada w każdym zawodzie nie tylko programisty.
@Spearhead napisał, że Ludzie z wysokim IQ zostają naukowcami lub milionerami, a nie programistami.
... Mogą ale nie muszą. Tak samo jak tępy, który też może zostać milionerem wykorzystując takie cechy jak komunikatywność, spostrzegawczość, pracowitość i upór w dążeniu do celu. Odnoszę zresztą wrażenie, że tak właśnie jest w większości przypadków. Bo do bogactwa prowadzi konsekwentność i pracowitość a nie inteligencja. Tych błyskotliwych inteligentnych co zrobili karierę znamy z amerykańskich filmów ale w rzeczywistości to są jednostki.
Inteligencja może pomóc zostać najlepszym, może pomóc w zdobyciu wysokich zarobków niższym nakładem pracy niż u mniej inteligentnych ale nigdy nie zastąpi pozostałych niezbędnych do pracy w zawodzie cech i umiejętności.
[1] - nie chcę tu wnikać w analizę odporności na stres więc załóżmy, że chodzi o osoby o podobnej odporności.