Wissensbedarf

Warum mache ich mir eigentlich so viele Gedanken darüber wie alles funktioniert? Gedanken über Motivation, Gedanken darüber wie man herrangeht oder weitermacht.

Weil wir Programmierer einfach wissen müssen wie die Dinge funktionieren? Das wäre vermutlich doch etwas zu einfach. Sicher, wer Programmierer verstehen will, muss verstehen wie sie ticken. Und ich vermute das es eben ein bestimmter Schlag ist, der überhaupt zu Programmierern wird. Leute die wissen wollen wie die Dinge funktionieren.

Früher waren es vielleicht die Leute die jedes Gerät auseinander bauen wollten. In jeden Motor reinschauen wollten. Jede Technik verstehen wollten. Sie waren die Geeks bevor das Wort überhaupt in Mode kam. Sie verbrachten ihre Zeit mit Werkzeug, Geräten und Motoren, in Kellern, Garagen und Hallen, und träumten von größeren Hebebühnen und mehr Platz.

Dann kam der Computer. Das mit Abstand komplexeste technische Gerät das wir (Menschen) bisher hervorgebracht haben. Mit dem größten Potential die unterschiedlichsten Aufgaben zu bewältigen das je eine Maschine hatte.

Mit dem Computer kamen Menschen die ihm etwas beibringen mussten. Das ist viel schwieriger als die meisten Leute denken. Denn der Computer weiß nichts, und er kann nichts, und ich meine wirklich absolut nichts! Aber die Menschen die ihn benutzen wollen, möchten gern möglichst so damit arbeiten, als wenn der Computer genau wüßte was sie eigentlich von ihm wollen!

Die Programmierer sitzen genau zwischen diesen beiden Polen, und müssen die Differenz irgendwie überbrücken. Die Differenz zwischen einer Seite, die nichts kann und nichts versteht, und der anderen Seite, die gerne möchte das alles einfach irgendwie geht, aber es meist auch nicht so recht erklären kann was sie da möchte (schon gar nicht dem Computer), schon allein weil sie das so noch nie mussten, jedenfalls nicht jemandem der nichts versteht (und ich meine wirklich absolut garnichts versteht)! Und weil die meisten Menschen für gewöhnlich gar nicht explizit darüber nachdenken müssen was sie eigentlich wollen, fällt ihnen der Großteil dessen was sie als selbstverständlich hingenommen haben, aber was sie ja eigentlich auch oder natürlich gerade wollen, dann sowieso erst hinterher ein.

Glauben wir nicht? Versuchen wir mal jeden einzelnen Schritt eines einzigen Tages zu beschreiben. Und zwar jeden, wirklich jede einzelne Bewegung, jeden Armschwenk, jede Beinbewegung, jedes Gelenk des Körpers inklusive der Angabe um wie viel Grad es schwenken soll, also wirklich jeden kleinen Schritt. Da wird schon mal einiges zusammenkommen.

Wir können das zu Prozeduren zusammenfassen, na klar, einen Schritt vorwärts muss man nicht zwanzig mal beschreiben, man beschreibt ihn ein mal und sagt dann „20 Schritte vorwärts“. Schon viel einfacher. Dann bauen wir kleine Prozeduren zu größeren Prozeduren zusammen. Noch besser.

Aber der Punkt dabei ist: es muss vorher ein mal beschrieben sein. Wenn nicht beschrieben wird wie ein Schritt vorwärts funktioniert, kann man die zwanzig Schritte so oft anfordern wie man möchte, es passiert nichts, „unknown function“.

Wenn wir das versuchen, werden wir schnell merken an wie viele kleine Sachen wir vorher nicht gedacht haben. Und selbst dabei werden wir Dinge vergessen. Wenn wir die aufgeschriebenen Punkte in einen Roboter kippen würden, würde mit Sicherheit reichlich schief gehen, weil wir eben doch noch etwas übersehen haben. Und was? Genau, eben jene Dinge sind es, die eigentlich selbstverständlich sind. Genau die übersehen wir. Der Teufel ist ein Eichhörnchen!

Nun ist so ein Tagesablauf aber auch, so unterschiedlich er auch sein mag, doch vielen gleichermaßen bekannt. Wie man läuft wissen wir alle. Da würde es nicht allzu viele Missverständnisse geben, da würden sich zwei Menschen schnell auf einen Ablauf einigen können. Kaffee kochen kennt auch fast jeder. Da wird es aber schon mehr Unterschiede geben. Wenn wir uns alle mal über unser Kaffee-Kochkunst unterhalten, wird manch einer vielleicht noch ganz neue Methoden kennenlernen. Der Teufel steckt auch hier im Detail. Trotzdem werden wir uns auch hier noch irgendwie einigen, am Ende soll ja nur Kaffee rauskommen, das kriegen wir schon hin, irgendwie.

Anders sieht es aus wenn wir an unsere Jobs denken. Jeder hat seinen Job. Jeder kennt sich in seinem Job aus. Nun braucht einer für seinen Job eine Software, und die soll natürlich in seinen Tagesablauf im Büro passen, möglicht optimal. Doch hier gibt es auch wieder so viele selbstverständliche Dinge für denjenigen der den Job kennt, wogegen die Dinge für den Softwareentwickler komplettes Neuland sind. Der Entwickler hat keine Ahnung wie ein Finanzbeamter wirklich jeden Tag im Detail und Schritt für Schritt arbeitet. Er kennt nicht jede einzelne kleine Bewegung dieses Jobs. Und er kennt schon gar nicht all die kleinen Kniffe und Tricks die den Ablauf erst so richtig möglich machen, weil man sonst für alles Ewigkeiten brauchen würde. Dennoch muss er sie alle kennen und viele davon bechreiben, damit die Software sich am Ende gut einfügen kann in die Arbeitswelt des Finanzbeamten.

Wenn die Software sich nämlich nicht richtig gut einfügt, dann werden die alten Abläufe erst mal nur neu aufgerollt, weil man ja mit der neuen Software arbeiten muss. Das bringt schon mal die erste Unruhe, weil es ungewohnt und nicht eingespielt ist, und erst mal dauert alles länger. Dann werden durch die neuen Vorgaben und Abläufe und Notwendigkeiten die alten Tricks und Kniffe blockiert oder erschwert.  Das bringt wieder Unruhe, plötzlich dauert alles noch länger als ohnehin schon befürchtet. Man muss neue Wege finden um die geplanten Abläufe so zu umgehen das man selber wieder halbwegs arbeiten kann. Der persönlichen Empfindung nach wird es sowieso nie wieder so schön wie vorher. Vorher war ja eigentlich alles Mist, aber rückblickend war es vorher doch viel schöner, oder immerhin noch besser als jetzt.

Sowas nenne ich einen Management-Fail. Nichts gegen Veränderungen, keinesfalls, man muss nicht mit schlechten Dingen leben nur um die Gewohnheiten nicht zu stören. Aber wenn man etwas ändert, dann doch bitte zum besseren. Ich finde jede Veränderung muss mit einem klaren Vorteil für jeden Beteiligten begründet sein. Ist es nicht für alle von Vorteil, gut, auch das ist manchmal nötig, aber dann soll man sich doch bitte im klaren darüber sein das man eine Partei in einen Nachteil stürzt. Und wenn es auch noch die eigenen Leute sind, wie wäre es dann mit einer Entschädigung? Oder wenn auch das nicht geht, zumindest mit einer Entschuldigung? Nun, meiner Erfahrung nach sind die meisten Veränderungen nur von einer Seite beleuchtet worden, gefällt von Leuten die sich mit den Details nicht auskenne, und eine Vorteilsliste ist meist gar nicht erst vorhanden. Aber ich schweife vom Thema ab. Wir wollen eigentlich wissen warum wir so viel wissen müssen oder?

Nun, damit muss der Entwickler also die Welt kennen in der sein Produkt funktionieren soll, damit sie auch so funktioniert wie die Leute es brauchen die damit arbeiten. Und dann muss er noch die Welt des Computers kennen. Denn am Ende soll der nichts-könnende Computer in der Welt des Finanzbeamten so funktionieren, als wenn der Computer genau wüsste was der Finanzbeamte braucht.

Um diese Brücke schlagen zu können, und einem Objekt das nichts weiß und nichts kann beizubringen was es zu tun hat, muss man genau wissen was man da tut, und wie die Dinge funktionieren. Der Bedarf an Wissen über seine Umgebung, das ist es was den Programmierer hinter jede Maske schauen lässt, und die vorhandene Neugier lässt Menschen vermutlich erst zu Programmierern werden.  Für mich sind Programmierer die Handwerker und Bastler des 21. Jahrhunderts. Und auch die gibt es in jeder Abstufung. Vom Heimbastler bis zum Ingenieur. Die Neugier und den Wunsch etwas zu erschaffen und zu verbessern, den teilen sie alle (oder zumindest viele?).

Und zu der Umgebung des Programmierers, gehört er auch selbst. So wie seine Mitmenschen, und alles andere in seiner Umgebung. Irgendwann beginnt dieser Wissensbedarf sich auf den Rest des Lebens auszuweiten. Man fängt an zu denken: Ich muss wissen wie die Kollegen um mich herrum funktionieren, dann kann ich besser mit ihnen arbeiten. Ich muss wissen wie die Behörden funktionieren, dann kann ich meine Anträge besser abgeben und dem Fluss helfen. Ich muss wissen wie die Psychologie der Menschen tickt, damit ich mich besser zwischen ihnen bewegen und auf sie einstellen kann. Ich muss verstehen wie die Gesellschaft funktioniert, sonst kann ich nicht verstehen warum sie so ist wie sie ist. Ich muss die Welt verstehen, und zwar alles, die ganze verdammte Welt!

Oh, und dann müssen wir sie natürlich verbessern. Nicht alles, aber irgendwo gibt es immer was zu drehen, das einfach gedreht werden muss. Schließlich sehen wir doch da diese eine kleine Schwachstelle, über die sich alle aufregen, die immer alle aufhält, da läuft der Motor noch nicht rund, da können wir doch bestimmt was verbessern, mit ein paar Einstellunge, müssen wir nur mal analysieren und dann schauen wir mal rein wie das wirklich läuft, das finden wir schon. Ist doch logisch, müssen nur mal suchen, oder?

Und deswegen werden manche von uns nie so ganz zufrieden sein.   😉

MfG


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert