Wie entwickelt man sich zu einem guten Programmierer und welche Voraussetzungen sollte man mitbringen, um in dieser Tätigkeit erfolgreich zu sein?
Sei neugierig, wenn Du dauerhaft erfolgreich sein willst. Ich entwickle seit 30 Jahren Software und lerne regelmäßig dazu.
Leider lernt man anfangs nicht einfach so. Gerade der Anfang ist recht frustrierend, wenn Dinge nicht klappen. Aber mit der Zeit lernt man, dass man trotz des Frustes weiter kommt. Frust wird irgendwann als Teil des Weges zum Erfolg akzeptiert. Er gehört oft dazu. Aber am Anfang hat man diese Erfahrung eben noch nicht. Damit muss man klarkommen. Man darf also nicht einfach aufgeben, nur weil es nicht auf Anhieb klappt. Und bei mir sind wochenlange Phasen dabei, bei denen nichts klappte und ich nicht verstand weshalb.
Also wie wird man zu einem guten Programmierer? Im Idealfall versteht man, was man da tut. Dafür ist es ratsam die Maschine zu verstehen, die man programmiert. Es reicht nicht eine Sprache zu lernen, man muss auch die Fähigkeiten der Maschine sich angucken: Was kann man damit machen?
Beim Lernen der Sprachen geht es nicht nur darum, die Sprache zu lernen, sondern auch damit zu spielen. Wie ein Dichter probiert man aus, wie man etwas ausdrücken kann. Wie es besser klingt oder schneller läuft. Wie es optisch gut aussieht oder schneller läuft. Wie es weniger Speicher benötigt oder schneller läuft.
Man schaut sich an, wie andere Leute programmieren. Es finden sich Standardlösungen (Design Patterns) oder wiederkehrende Idiome. Es gibt Standardalgorithmen, die häufig verwendet werden. Wie lässt sich das ganze kombinieren, ohne dass man es laufend neu schreibt?
Und trotzdem sollte man vieles auch mal selbst geschrieben haben, damit man versteht wie die Standardlösungen funktionieren. Und wenn etwas nicht funktioniert, woran es liegen kann.
Viel Arbeit… es kann aber auch nach 30 Jahren noch Spaß machen.