Fred Brooks sagte: "Was ein Programmierer in einem Monat kann, können zwei Programmierer in zwei Monaten." Was meinte er damit?
Recht einfach und die meisten Antworten hier haben den Punkt getroffen, fehlt aber noch etwas.
Du hast immer overhead in einem Team, also Kommunikationsrauschen. Wie unten dargestellt nimmt dieses Rauschen in quadratischer Weise zu nach
Rauschen=
n⋅(n−1)
2
Und wenn zwei Leute an einer Aufgabe sitzen, ist das Grundrauschen so hoch, dass die Leistung des einzelnen auf jeweils ein Viertel herunter geht, etwas übertrieben ausgedrückt aber durchaus nicht unrealistisch. Die kleinste Störung im Programmierprozess kann ganze Gedankengänge abbrechen, die sich aufgebaut haben und wenn man an einem komplexen Problem arbeitet, hat man am Tag vielleicht nur einen Versuch, vielleicht zwei, vielleicht vier. Aber nicht mehr.
Stört man den Programmier in diesem Prozess, ist der Tag unproduktiv und verloren. Setzt man die typischen Meetings auf den Vormittag, also in die Haupt-Crunch-Phase, ist der Tag ebenfalls komplett verloren für alle Beteiligten. Danach kann etwas verwaltet und dokumentiert werden, das ist es, was ich an Meeting-Tagen danach noch gemacht habe. Ich hasse Meetings. Totale Zeitverschwendung und ist noch nie irgendwas bei rausgekommen.
Dazu kommt dann aber noch das Kompetenz-Problem beziehungsweise den Intellekt-Flaschenhals. Ab IQ 115 (~16% der Bevölkerung)
> luajit -e 'rand=require"lgsl.randist" for i=0,4 do local p=rand.gaussian_ 
Q(i,1) print(string.format("IQ-%3d %.5f %6.3f%% %6.2f%%%%", 100+i*15,p,p*100,p*1 
000)) end'   
IQ-100 0.50000 50.000% 500.00%%  
IQ-115 0.15866 15.866% 158.66%%  
IQ-130 0.02275  2.275%  22.75%%  
IQ-145 0.00135  0.135%  1.35%%  
IQ-160 0.00003  0.003%  0.03%% 
…wenn ich das mal kurz mit Lua durchrechnen darf. Also das IQ Problem ist folgendes: es gibt bestimmte Dinge, die jemand nicht mehr machen kann. Egal wie sehr er es versucht. Ein IQ Level (+15 bzw. Sigma +1) läßt sich manchmal noch mit extremen Zeitaufwand ausgleichen, aber Sigma +2 ist nicht möglich.
Am Gymnasium wurden früher die typischen 15/16% IQ-115 ausgebildet, heute sind es 50% der Bevölkerung. Das heißt das Niveau muss sinken und es sinkt. Und während die Leute, die auf die höhere Bildungslaufbahn gehören und später an der Universität ausgebildet werden sollen an den Universitäten dann nicht die Aufnahmebedingungen schaffen, werden die Lehrer einfach nicht mehr die Art Unterricht machen können, der dafür notwendig wäre.
Weil zwei Drittel der Klasse nur noch in die Ferne starrt.
Dafür können die Lehrer natürlich nichts. Das ist Schuld der Politik, die einfach nicht einsehen will, dass Menschen genauso mit unterschiedlichen geistigen Gaben geboren werden wie mit körperlichen.
Dass ich mit kurzen Beinen eine Chance im Sprinten gegen einen Äthiopier hätte, kann mir auch keiner weismachen, nach dem Motto: musst du einfach mal wollen! Oder dass ich mit meinen 45 kg, die ich damals gewogen habe im Kugelstoß die selben Leistungen bringe, wie die muskelbepackten Schwergewichte im Jahrgang, die 80 kg wogen.
Das ist Blödsinn und marxistische Gleichmacherei, wirklichkeitsfremdes Wunschdenken und fröhliche Verblendung. Jeder soll eine Chance kriegen, aber das ist nun mal so, dass wir nicht alle zu Kugelstoßern werden oder und uns dafür eigenen.
Wir eigenen uns auch nicht alle als Dichter und Schriftsteller oder als Musiker. Das ist dann nicht nur Begabung und körperliche Voraussetzung, sondern auch Neigung und harte Arbeit an sich selbst, Liebe und Hingabe an die Sache. Das kann man nicht erzwingen und nicht erwollen.
Und genauso verhält sich das mit dem Intellekt. Das läßt sich nicht erzwingen, man kann nur gut beobachten, auswählen, Chancen geben, fördern. Aber ich kann aus einem Hänfling wie ich einer war mit 15 keinen verdammten Kugelstoßer machen.
Das geht einfach nicht.
So. Zurück zu Programmierern. Die untersten Programmierleistungen bringt man, unter Anleitung, so ungefähr ab IQ115. Mit viel viel Mühe kann man das mit IQ100 erreichen, wie gesagt, ein Sigma geht immer durch Willen und Fleiß.
Selbstständiges Programmieren ab 130. Neue Dinge, eigene richtige Projekte, Sachen, die noch nicht da waren vorher, ab 145, weltverändernde Software, Unternehmensgründer ab 160.
Für AI Programmierung eigenen sich nur 145er und das sind dann grad noch knapp über ein Promille der Bevölkerung, vorausgesetzt alle 1 Promiller gehen in die Software. Was sie nicht tun. Nur ein extrem kleiner Teil davon ist ein Codeweber. Code weben ist etwa mit Dichtung zu vergleichen, ich bin ziemlich sicher, dass die Schriftsteller aus alten Tagen diese IQ Klasse angezogen hat.
Hat man jetzt also in der Firma das Glück, einen 145er zu haben und man setzt ihm einen 130er zur Seite, dann verliert er komplett durch den Overhead alle Fähigkeit ungestört an der Lösung zu arbeiten und der 130er kann ihm dabei nichtmal helfen. Versucht er es, dauert das vier oder fünfmal so lange oder noch länger.
Ich hab' mal das Programm von einem Freund debuggen sollen, damals in C, daran hat er volle sechs Wochen geschrieben, zweiter Bildungsweg, irgendwo im IQ115 Minimum bis 130 würde ich sagen. Ich komme also vorbei, schau mir das an, mache einen unbegeisterten Kommentar, nachdem er mir erklärt, was der Schund tun soll, lösche es, sage ihm, er soll mir immer Whiskey nachschenken, sobald das Glas leer ist und eine Flasche Glen später, mitten in der selben Nacht war das Programm fertig, mit zusätzlichen Optionen und Features, mein Rad kannte den Weg nach Hause.
Er hat seinen Berufsweg geändert, ist im IT geblieben, aber von der Programmierung dann ins Management. Und das läuft super. Der ist ja nicht auf den Kopf gefallen der Mann, aber das, was ich ihm voraus habe, kann er nicht aufholen und das hat er mir erklärt, als ich versucht habe, ihn verzweifelt am Code zu halten, weil er guten Code geschrieben hat normalerweise. Aber dieser Abend war ein Moment der Klarheit für ihn. Dass Kugelstoßen nichts ist für ihn.
Also in einer Firma sind jetzt wieder Normalverteilt Programmierer angestellt. Ein richtig guter Mann kann dann Arbeiten erledigen in einer Woche, an der ein Team von zehn Mann zwei Jahre arbeitet. Das ist nicht nur eine Frage des massiven Overheads durch Kommunikation, sondern auch das garantierte Ausschalten von den wirklich guten Leuten durch solche Kommunikation für den produktiven Prozess. Und dann gibt es das Paretoprinzip
. Und das heißt eben nicht, dass 20% der Programmierer 80% der Arbeit machen, nein, das ist leider nur ein spezieller Fall. Das wäre vereinfacht. Es ist viel schlimmer. Das Verhältnis steigt exponentiell: Pareto-Verteilung
.
Durchschnittlich ist das eine 2.31 Verteilung also etwas mehr als quadratisch, Wenn ein einzelner die Arbeit macht, braucht man mehr als zwei derselben Qualität, um die Leistung zu verdoppeln. Eine Vervielfachung des Teams schafft im Wurzelverhältnis mehr Leistung. Bläht man das Team auf 100 auf, hätte man 10x mehr Kapazität, aber nur 10% der Leute im Team machen dann 90% der Arbeit und werden durch die Kommunikation und den Tohuwabohu in der Firma völlig verschlissen dabei. Bei 10k Leuten machen 100 dann 90% der Arbeit und es findet eine Beschleunigung des Prozesses um Faktor 100 statt. Der Massenansatz ist nicht die Lösung, Masse bringt nichts, Klasse ist gefragt statt dessen. Kein chinesisches Massenkonzept kann das lösen.
Und dann verliert man seine besten.
Und das kann man nicht mit Geld reparieren. Statt dessen sollte man mit diesen wertvollen Ressourcen sorgsam und nachhaltig umgehen. 2/3 der Leute mit Informatik-Abschluss können nicht programmieren und werden es nie können. Denn außer Intellekt ist eben mehr nötig dafür.
Weltweit haben wir etwa 30k Leute, die (produktiv) AI programmieren können (>IQ145), die Abschätzungen, dass wir 18 Millionen Programmierer haben weltweit, ist lächerlich. Wenn man die Github und sonstigen Veröffentlichungen ansieht, dann kommen wir gerade mal auf 1.8 Millionen, ohne dabei Rücksicht zu nehmen, dass die meisten einfach Forks sind. Am Linux Kernel direkt haben weltweit etwa 3300 Leute mitgearbeitet. 550 Menschen waren im Weltraum.
So. Die Moral aus der Geschichte ist, dass wir völlig schwachsinnig mit den Ressourcen umgehen, an denen die Zukunft der Menschheit hängt. Wir lassen sie verheizen in sinnlosen Team-Konglomeraten, wir belästigen sie damit, Leute mitzuschleifen, die niemals ihre Arbeit übernehmen können oder werden und alles aus dem Grund, dass wir einfach nicht einsehen, dass es Leute gibt, die geistig mehr leisten können als andere.
Das macht sie nicht zu besseren Menschen. Aber definitiv ist nicht jeder ein Programmierer oder zum Programmierer geboren, genauso wenig wie jeder als Dichter oder Musiker geboren wurde. Und du kannst sie nicht machen. Du kannst sie sich entwickeln lassen und sie fördern, aber dann die wenigen Genies, die wir haben zu verheizen in wenigen Jahren, wie es Douglas Coupland in "Microserfs"
beschrieben hat, das wird sich gesellschaftlich bitter rächen.
Wir verheizen da nicht nur die Genies, die den nächsten Fortschritt einleiten, wir verheizen das Potential, um die 7 oder bald 9 Milliarden zu ernähren, durchzubringen und eine Zukunft jenseits von Siechtum, Pestilenz und Hungertod zu geben.
Das läßt sich nur durch Rationalisierung erledigen und das heißt Wissenschaft und Automatisierung, das heißt heute Computerisierung und Software. Ansonsten folgt der Tod schneller und härter als unter Stalins Lysenko (20 Mio Tote), Maos großem Sprung (60 Mio Tote) und Pol Pots Ökotopia, der Deindustrialisierung von Kambodscha und der Massenmord and zwei Dritteln der Bevölkerung, jeden, der durch Lesen und Schreiben können auffiel oder dem irren Wahn einer solchen Dystopie nicht entsprach.
Und da sind wir leider wieder, liebe Greta, lieber Kevin, mit eurer Deindustrialisierung und CO2-Energie-Technokratie. Na vielen Dank auch, das kennen wir eigentlich schon, bloß die Menschen haben es schon wieder vergessen, nur weil es grade 50 Jahre her ist, wenn es denn je aufgehört hat.
Wir müssen unsere Arbeit also besser organisieren und den Hochbegabten eine fruchtbare ungestörte Umgebung schaffen, die ihnen auch nachhaltig ein gutes Arbeiten und Motivation erhält. Und da rede ich nicht von Überhäufen mit Geld, das ist eher schädlich und ablenkend.
Ich rede davon, dass wir unsere Ideologie der Mittelmäßigkeit beenden müssen und das nicht funktionierende kommunistische Geschwafel, dass alles zu erreichen ist, mit Masse allein ohne Rücksicht auf Klasse. Von diesem sozialistischen Wahn auch unter Hitler hat sich Deutschland nur mühsam erholt und das einzige Zukunftsmodell, das wir haben ist das der Freiheit und der Chancengleichheit.
Nicht dem Wahnwitz der Gleichheit des Ergebnisses, wie durch Quotenregelungen etwa. In die Richtung freut sich der Tod. Und wir hier in Europa werden nicht die ersten sein, die der Schnitter holt. Die Zeche bezahlen andere Völker vor uns.
Wir gehen dann mit unter, aber ganz am Schluss.
"Störe meine Kreise nicht", hat schon Archimedes gesagt: "Noli turbare circulos meos!"
Und so sollten wir unsere wenigen nicht stören dabei, was sie am besten können mit unserer Gier und dem Verschleißdenken und zu glauben, wir hätten davon genügend.
Von den 80 Millionen Deutschen sind etwa die Hälfte arbeitsfähig, großzügig gemessen. Auf die Zahlen oben genommen sind das:
> luajit -e 'rand=require"lgsl.randist" for i=0,4 do local p=rand.gaussian_ 
Q(i,1) print(string.format("IQ-%3d %.5f %6.3f%% %6.2f%%%% %8.0f Arbeiter von Deu 
tschland", 100+i*15,p,p*100,p*1000, p*40e6)) end'  
IQ-100 0.50000 50.000% 500.00%% 20000000 Arbeiter von Deutschland  
IQ-115 0.15866 15.866% 158.66%%  6346210 Arbeiter von Deutschland  
IQ-130 0.02275  2.275%  22.75%%  910005 Arbeiter von Deutschland  
IQ-145 0.00135  0.135%  1.35%%  53996 Arbeiter von Deutschland  
IQ-160 0.00003  0.003%  0.03%%  1267 Arbeiter von Deutschland  
Davon landen etwa 1% in der Software-Industrie.