Ob WhatsApp, Final Fantasy 15 oder Google Maps – hinter der Software, die wir nutzen und lieben, stecken Menschen, die sie gebaut haben. Wie wird man selbst Programmierer und was muss man für den Beruf drauf haben?
Das Berufsfeld Softwareentwicklung ist spannend und vielfältig: Eine Spiele-App fürs Smartphone ist eine ganz andere Aufgabe, als etwa der Checkout-Prozess eines Onlineshops – aber gibt es da Gemeinsamkeiten, was die Anforderungen an die Programmierer angeht?
Wir haben einige Fragen an den Chef einer deutschen Softwarefirma gerichtet: Andreas Haufler ist Chefentwickler und Mitgründer der scireum GmbH, seit seiner Jugend ist Programmieren seine Leidenschaft.
1. Ich bin zwar mit dem Smartphone aufgewachsen, aber ein echter Technikexperte bin ich leider nicht. Muss ich mich mit Computern auskennen, um Programmierer zu werden?
Haufler: Im Prinzip ist das wie beim Autofahren: Man muss nicht Mechaniker sein, um es zu lernen – ein bisschen Neugier schadet aber nie. Ein Weg das Programmieren zu lernen, ist sich anzuschauen, wie es andere machen – dank Internet und der Open-Source-Bewegung kann man heute sehr tief unter die „Motorhaube“ schauen, egal ob bei Betriebssystemen, Datenbanken oder Game-Engines.
2. Brauche ich gute Noten in Mathematik und müssen Programmierer viel rechnen? Muss ich gut in Sprachen sein?
Haufler: An Schulnoten kann man das schwer festmachen. Ich muss nicht jedes Verb perfekt im Plusquamperfekt konjugieren können, aber wenn ich einen englischsprachigen Text lesen kann und grob verstehe was drin steht, dann hilft das ungemein – schließlich sind ein großer Teil der Infos und Tutorials auf Englisch. Man kann sogar sein Englisch aufbessern, wenn man anfängt, englische Texte zu lesen oder YouTube-Videos zu schauen. Bei Mathe ist es fast genau so – Grundverständnis reicht für vieles aus. Zum Schluss kommt es eher darauf an, Neugier, Lernbereitschaft und Disziplin mitzubringen. Der Rest kommt dann von allein.
3. Muss ich studieren oder reicht eine Ausbildung? Oder kann ich auch einfach so anfangen, ganz ohne Abschluss?
Haufler: Beim Programmieren gilt meiner Meinung nach das Prinzip „Learning by Doing“. Weder eine Uni-Vorlesung noch Schulstunden bringen einem das wirklich bei. Klar braucht man erstmal ein paar Grundlagen, aber dafür gibt es auch unzählige Tutorials im Netz, da kann also eigentlich jeder sofort loslegen. Dann sucht man sich am besten kleine Aufgaben und versucht, dafür etwas Eigenes zu basteln.
4. Worauf achten Personalverantwortliche bei Bewerbungen?
Haufler: Gerade bei Berufseinsteigern ist es sehr von Vorteil, wenn schon praktische Erfahrungen vorhanden sind. Egal ob es sich um eine Website, eine kleine Smartphone-App oder eine Game-Mod handelt.
5. Welche Programmiersprache soll ich lernen?
Haufler: Da scheiden sich die Geister – diese Frage hat ähnlich viel Zündstoff wie die nach dem besten Fußballverein oder der besten Automarke. Ich würde mit einer Script-Sprache anfangen. Ein bisschen hängt es auch davon ab, was ich machen will. Zum Basteln von Webseiten kann man mit JavaScript und PHP anfangen. Viele Spiele kann man mit Lua scripten und erweitern. Ansonsten lohnt es sich, immer mal einen Blick auf die verbreiteten Sprachen zu werfen: Java, C, C++, Python – diese können zwar sehr viel, man braucht aber auch einen längeren Atem, weil man am Anfang da ein bisschen überrannt wird von den vielen Möglichkeiten und Problemchen.
Sehr von Vorteil ist, dass viele Programmiersprachen die gleichen Begriffe und Konzepte verwenden, also kann man am Anfang eigentlich fast nichts falsch machen bei der Sprachauswahl. Im Prinzip sind Sprachen wie Werkzeuge: Manchmal braucht man einen Hammer und manchmal einen Schraubendreher – je nachdem, woran man arbeitet.
6. Wo finde ich gute Anleitungen, die mir zum Einstieg weiterhelfen?
Haufler: Im Internet sind richtig gute Tutorials zu finden. Je nach Sprache gibt es da super Anleitungen auf YouTube oder auf Blogs und anderen Webseiten. Empfehlen kann ich unter anderem CodersGuide, den YouTube-Kanal von Neil Rowe und den Kanal LearnCode.academy.
Stackoverflow.com ist eine hervorragende Webseite bei allerlei Problemen und Fragen – hier bekommt man eigentlich immer eine Antwort. Auch spannend ist github.com – hier kann man nicht nur kostenlos eigene Projekte ablegen, man kann auch bei vielen großen und bekannten Programmen (beispielsweise Linux) direkt in den Quelltext schauen und so viel darüber lernen, wie es andere machen.
Andreas, vielen Dank für das Interview!
Unterm Strich bleibt für uns die Erkenntnis, dass Leidenschaft und Erfahrung fast alles sind. Keinen unnötigen Respekt vor der Aufgabe haben – einfach loslegen, Probleme erkennen und selbst recherchieren, wie man diese löst. Das bringt nicht nur Freude am eigenen fertig programmierten Werk, sondern auch Erfahrungen, die dir später nützlich sein werden. Wichtig ist, Freude am Programmieren zu haben, der Rest kommt dann ganz von alleine, je länger du am Ball bleibst.