Du hast dich entschieden, Coden zu lernen. Ein exzellenter Entschluss, der dir ein umfassenderes Verständnis neuer Technologien verschafft, deinen Wert in deinem Job steigert und dir neue Perspektiven eröffnet. Der erste Schritt ist getan, der Entschluss. Der zweite Schritt ist das Erlernen selber. Wie und wo? Welche Möglichkeiten gibt es, das Programmieren zu lernen? Wir stellen 4 unterschiedliche Wege vor und was es bei jedem von ihnen zu beachten gilt.
Tutorials
Gerade wenn du erstmal nur reinschnuppern möchtest, was es tatsächlich heißt, zu coden, eignen sich Tutorials recht gut. Es gibt eine Hülle und Fülle von kurzen bis längeren Anleitungen und Videos online, die sich schnell durch einfaches Googlen finden lassen.
Ein Vorteil liegt auf der Hand: Tutorials sind unverbindlich, jederzeit verfügbar und für gewöhnlich kostenlos. Sie eignen sich daher gut, um einen wenig zeitintensiven Einblick zu bekommen. Oft ist das ein “Hello-World”-Programm in der neuen Sprache, manchmal aber auch der komplette Weg von null zum fertigen Produkt. Viele Autoren geben gute Tutorials für das erste Beispiel, die erste Android- oder iOS App oder die erste Webseite.
Auch für erfahrene Entwickler sind Online-Tutorials die Standardquelle um sich in neuen Technologien fortzubilden. Technik und Standards ändern sich stetig. Technologien kommen auf oder verschwinden wieder und werden von Neuen, Besseren ersetzt. Wenn Entwickler einen schnellen Einstieg in ein neues Thema suchen, greifen sie gerne auf Tutorials zurück. Für die Benutzung neuer Tools oder Bibliotheken stellen die Entwickler der entsprechenden Software oft ein gutes Einstiegstutorial zur Verfügung.
Solltest du dich daran machen, dir Online-Tutorials zum Einstieg zu suchen, seien dir hier ein paar Tipps mit auf den Weg gegeben:
-
Die besten Tutorials findest du in der englischsprachigen Community. Es ist wie es ist: Software wird auf Englisch geschrieben, und jede Dokumentation, jede Anleitung und auch jedes gute Tutorial wird auf Englisch veröffentlicht. Da die meisten Fachausdrücke ohnehin englischen Ursprungs sind, fällt es meistens auch nicht schwer, englischen Tutorials zu folgen. Gute Quellen sind zum Beispiel Medium und Dev.to.
-
Achte darauf, dass das Tutorial aktuell ist. Dabei kommt es weniger darauf an, zu welchem Datum es geschrieben wurde, sondern dass die darin verwendeten Technologien und deren Versionen nicht veraltet sind.
-
Tutorials erfordern Eigeninitiative. Du musst dir deine Tutorials mehr oder weniger selber zusammensuchen. Auch etwaige aufkommende Fehler musst du selber lösen. Das braucht Geduld und Hartnäckigkeit.
-
Solltest du jedoch einmal an einen Punkt gelangen, an dem du nicht mehr weiter kommst, mach dir bewusst, dass es nicht deine Schuld ist. Die Codebeispiele eines guten Tutorials sollten vollständig und lauffähig sein, und der Begleittext zum Verständnis beitragen. Die Qualität siehst du dem Tutorial nicht sofort an, aber wenn du in einem stecken bleibst und erkennst, dass du damit nicht gut arbeiten kannst, heißt es: keine Zeit verschwenden und ein Besseres suchen.
-
Der wichtigste Tipp zum Schluss: Versuche, dem Tutorial so gut es geht Schritt für Schritt zu folgen. Das mag jetzt vielleicht banal klingen, wird aber schnell missachtet und führt zu Frustration und Resignation. Das heißt, mach wirklich alles genauso wie es vorgemacht wird, ohne Schritte zu überspringen, ohne Versionen von Bibliotheken zu erhöhen oder schon deine eigene Idee umzusetzen. Wenn du dann erfolgreich am Ende angekommen bist, kannst du anfangen, deine eigenen Anpassungen vorzunehmen. Andernfalls kann es schnell passieren, dass du irgendwo hängen bleibst und es dadurch nicht mehr funktioniert und du den Fehler selber nicht findest. Wenn dein Code trotz besten Bemühens nicht läuft, ist StackOverflow immer ein guter Ort, um ihn zu posten und um Hilfe zu fragen.
Online-Kurse
In Kursen erlernt man das Handwerk des Programmierens viel umfassender und grundlegender als in Tutorien. Kurse eignen sich, wenn man tiefer ins Detail einsteigen und mehr als nur eine kleine App oder Webseite für sich selber basteln will, zum Beispiel, wenn man aus dem Programmieren einen Beruf machen möchte. Auch für diverse andere Berufsfelder ist es mehr als sinnvoll, im Bereich Programmierung auf dem neuesten Stand zu sein.
Kurse sind nicht nur rein anwendungsorientiert, sondern gehen auch ein wenig auf die Theorie der Materie ein. Wer sein Wissen zu eher akademischen Themen wie mathematischen Grundlagen, Algorithmen und Datenstrukturen, oder auch Machine Learning erweitern möchte, ist weitaus besser in Kursen als in Tutorien aufgehoben. Kurse folgen auch anders als Tutorien einer didaktisch überlegten Reihenfolge. Das Angebot an Kursen ist vielfältig. Dabei lässt sich zwischen Online-Kursen und Offline-Kursen unterscheiden.
Das Praktische an Online-Kursen ist die allseitige Verfügbarkeit. Morgens vor dem eigentlichen Arbeitsbeginn, in der Mittagspause, abends nach Feierabend oder am Wochenende, der Kurs wartet geduldig auf seinen Schüler. Dafür muss man noch nicht einmal eine noch so kurze Anfahrt in Kauf nehmen. Man kann bequem von zu Hause oder dem Büro aus die nächste Sitzung des Kurses durcharbeiten.
Allerdings erfordert diese Flexibilität auch ein kräftiges Maß an Disziplin und Eigeninitiative, um sich regelmäßig dem Kurs zu verschreiben und den Ablenkungen zu Hause zu widerstehen. “Ich kann ja immer noch später weiter machen.” Wem kommt das nicht auf die ein oder andere Art bekannt vor? Zudem ist dem Ablauf des Online-Kurses Folge zu leisten. Abweichungen vom vorgefertigten Programm nach den Bedürfnissen des Lernenden gibt es nicht und so wirklich ist auch niemand da, dem man zeitnah Fragen stellen kann.
Bei Online-Kursen gibt es sowohl kostenlose als auch bezahlte Programme. Generell kann man Online-Kurse in zwei Kategorien unterteilen: MOOC, das steht für Massive Open Online Course, und spezialisierte Online-Kurse beziehungsweise Online-Bootcamps. MOOCs sind in der Regel Programme von akademischen Institutionen wie Universitäten und meistens kostengünstig. MOOCs findet man auf allgemeinen Online-Kursplattformen wie Coursera oder Udemy. Wie das häufig so ist, sind die Kurse, die etwas teurer sind, oft jedoch besser. Empfehlenswerte Anbieter spezialisierter Online-Kurse zum Programmieren Lernen sind unter anderem Treehouse und SuperHi.
Offline-Kurse
Nicht wenige haben jedoch so ihre Probleme mit den Online-Kursen. Es fällt ihnen schwer, die notwendige Disziplin aufzubringen, sich jeden oder jeden zweiten Tag an den Kurs zu setzen. Auch fehlt ein direkter Ansprechpartner, um Fragen oder Schwierigkeiten ad-hoc zu klären, oder sogar Kommilitonen zum gemeinsamen Lernen.
Wem das Online-Lernen zu einsam oder schwerfällig ist, für den sind Offline-Kurse, auch genannt Präsenzkurse, die bessere Wahl. Ja, auch in der sonst meist digitalen Welt gibt es noch so etwas wie das Klassenzimmer. Lernen IRL (in real life) also. Im Präsenzunterricht kommt man regelmäßig mit einem Lehrer und anderen Lernenden zu einem festen Termin an einem festen Ort zusammen. Die Terminierung verpflichtet zum Erscheinen. Dadurch gibt man sich den äußeren Druck, den viele von uns brauchen, um am Ball zu bleiben. Nicht nur das Erscheinen zu einem Termin fällt leichter als sich eigenständig zu Hause ans Lernen zu setzen, man ist auch konzentrierter bei der Sache, da im Kursraum nichts vom Coden ablenkt.
Der Lehrer beziehungsweise Dozent bereitet die Materie in verständlicher Form auf und schneidet seine Erklärungen auf seine Schülerschaft zu. Hat man eine Sache nicht gleich verstanden, können Fragen direkt geklärt werden. Der Dozent kann auch weiterführende und speziellere Fragen beantworten, als dies in einem standardisierten Online-Kurs möglich wäre.
Ein elementarer Teil der Mehrzahl an Kursen ist die Vertiefung des Gelernten durch Übungsaufgaben. In einem persönlichen Kurs sind das nicht nur Standardaufgaben, sondern von den eigenen Projekten inspirierte Problemstellungen. So wendet man das gelernte Wissen sofort konkret in relevanten Bereichen an. Durch Gruppenarbeit entwickeln die Lernenden für den späteren Job wichtige Kommunikationskompetenz.
Für einen guten Präsenzkurs müsst ihr neben Zeit auch Geld investieren, da die Zeit des Dozenten eine wertvolle Ressource ist und nicht wie bei Online-Kursen unendlich skaliert werden kann. Zum Einstieg finden sich kostenlose oder sehr günstige Workshops in Form von beispielsweise Meetups wie die der Open Tech School zu allgemeinen Themen. Ein spezialisiertes und intensives Kursangebot haben dagegen Schulungsunternehmen, die sich an Entwickler - meist im Angestelltenverhältnis - richten. Da davon auszugehen ist, dass deren Arbeitgeber die Schulung bezahlt, sind die Preise dieser Kurse hoch. 500 bis 700 € pro Tag sind normal.
Um aber überhaupt auf diesen Stand zu kommen, dass der Arbeitgeber die Fortbildung zahlt, benötigt man natürlich zunächst eine solide Grundausbildung. Bereit für den Arbeitsmarkt gemacht, oder wie es im Fachjargon heißt, career ready, werdet ihr in Komplettkursen. Ein Trend aus den USA sind Bootcamps wie das von Spiced Academy. Hier wird man über zwölf Wochen in Vollzeit coding-fit gemacht. Wem das zu viel auf einmal ist beziehungsweise wer tagsüber weiter in seinem gewohnten Job arbeiten möchte, für den sind berufsbegleitende Abendkurse wie etwa an unserer Hamburg Coding School eine gute Alternative. Die Preise der Bootcamps und berufsbegleitenden Abendkurse liegen meistens im 4-stelligen Bereich, sind im Preis-Leistungsverhältnis aber meistens immer noch günstiger als Kurse zu spezialisierten Themen.
Studium
Auch wenn du schon länger im Berufsleben steckst, möchten wir das Studium als den traditionellen Bildungsweg nicht vorenthalten. In drei Jahren kannst du zum Bachelor und weiteren zwei Jahren zum Master of Science in Informatik beziehungsweise Computer Science gelangen.
Ein Vorteil zumindest in Deutschland liegt klar auf der Hand: das Erststudium ist kostenlos. Informatik wird in den meisten Städten an Unis und FHs angeboten. Ein Studium ist immer noch der beste Weg, um einen grundlegenden Einblick in eine umfassende Thematik zu bekommen. Schwerpunkte im Studium werden vor allem auf mathematische Grundlagen, Algorithmen und Datenstrukturen, Netzwerke und Internet, sowie Signaltechnik gelegt. Um später in akademisch wissenschaftliche Richtungen wie Data Science, Machine Learning, Digital Signal Processing oder Robotik arbeiten zu können, sind diese Grundlagen unabdingbar. Auch in vielen Interviews bei großen Firmen wie Google oder Facebook werden diese Grundlagen vorausgesetzt und abgefragt.
Doch wer schon mal studiert hat weiß, dass die Lehre mehr theoretischer Natur ist und tendenziell veraltet ist. Das Vorlesungsformat eignet sich nicht wirklich zum Erlernen des Programmierhandwerks. Man muss sich einen Großteil der Skills, die eigentlich die Wichtigeren für einen Job als Softwareentwickler sind, den man danach vielleicht antreten möchte, selbst beibringen. Außerdem sind fünf Jahre Regelstudienzeit, die viele oft nicht einmal schaffen, bis zum Masterabschluss eine ganz schön lange Zeit.
Möchte man dennoch über den Studienweg zum Softwareentwickler gelangen, so sollte man auf mindestens eines von drei Kriterien achten. Beinhaltet der Studiengang einen umfassenden praktischen Teil? Medieninformatik an der Bauhaus-Universität Weimar führt zum Beispiel zwei große Projekte im Studienplan. Hat die Hochschule einen guten Ruf? Die RWTH Aachen ist renommiert. Oder drittens, versucht die Hochschule eine zeitgemäße Ausbildung anzubieten? Die CODE University of Applied Science Berlin macht das sehr gut. Als Faustregel gilt, das Studium an Fachhochschulen ist praktischer angelegt als das der Universitäten.
Wer jedoch als Mobile- oder Webentwickler arbeiten möchte, braucht das Studium ehrlich gesagt nicht unbedingt. Es gibt viele kleine oder mittelständische Firmen, wo man leicht einen Job bekommt, und auch als Bootcamp-, Abendkursabsolvent oder Autodidakt anfangen kann. Interesse? Wir informieren dich gerne über den nächsten Abendkurs an der Hamburg Coding School.