Programmieren können

Posted on Tue 20 August 2013 in german

"Ich kann programmieren". So schnell und unbedarft kann jemand eine These in den Raum stellen. Ist natürlich völliger Quatsch, denn jeder anständige Programmierer würde dazu noch eine genaue Differenzierung abgeben, in welchen Programmiersprachen er fit ist und wie er programmieren überhaupt definiert.

Aber wie ist programmieren denn genau? Ist es Codezeilen aneinanderlegen, solange bis das Ergebnis raus kommt, das man erreichen will? Für mich nicht. Diese Definition wäre vielleicht coden aka "ich kann dem Computer anweisen, was er tun soll".
Programmieren ist für mich mehr als nur die Summe der Kenntnisse in verschiedenen Programmiersprachen. Es reicht nicht einfach nur Python zu können und sich hinzustellen mit der oben getätigten Aussage. Damit ist noch nicht gesagt, ob die Prinzipien der Objektorientierung oder der funktionalen Programmierung so verinnerlicht wurden, dass man diese anwenden kann - an jeder universitären Einrichtung findet man Leute, die zwar die Themen beschreiben können, aber das Gelernte anwenden ist noch ein weiter Weg!

Ich habe einmal gelesen, wie ein langjähriger Programmierer seine Erfahrungen mit C++ beschrieben hat: "Nachdem ich als Einsteiger in C++ die grundlegenden Dinge beherrschte, dachte ich, dass ich die Sprache jetzt kann. Nach etwa 3 Jahren hatte ich dann wieder das Gefühl, sagen zu können, dass ich C++ kann. Schlussendlich stand ich nach 7 Jahren da und musste mich bei meinen alten Programmen fragen, was ich geschrieben hattee." Gerade bei hardwarenahen und funktionalen Programmiersprachen - also nicht die, die man gerade im Studium kennen lernt - hört die Lernkurve also nie auf.

Ein Programmierer sollte in meinen Augen nicht nur Erfahrung in C und C++ mitbringen, um sich selbst Programmierer nennen zu können. Dazu kommen sollte noch Erfahrung in Assembler und einer funktionalen Programmiersprache. Was dazu nicht fehlen darf ist natürlich das Wissen um mögliche Sicherheitlücken.
Wenn er dann noch die Erfahrung hat, ein Problem zu lösen, danach das Ganze sauber strukturiert und ihm zum Schluss hin noch 2 Möglichkeiten einfallen, wie er das Problem effizienter oder schöner lösen kann, dann bin ich der Meinung, dass sich die Person wirklich Programmierer titulieren darf!

Und jetzt sammelt gefälligst Erfahrung und hackt etwas! Nennt euch in 10 Jahren Programmierer, wenn ihr ein Betriebssystem mit eigenem Scheduler und Dateisystem geschrieben habt!