Du möchtest programmieren lernen? Das freut mich! Du weißt nicht, wo du anfangen sollst? Das kenne ich! Die gute Nachricht ist: Es gibt wirklich gute Wege, Schritt für Schritt programmieren zu lernen. Mit dieser Artikelreihe möchte ich dir dabei helfen, einen guten Einstieg zu finden. Ich werde dir Möglichkeiten zeigen, wie du anfangen kannst und dir erzählen, was für mich selbst super funktioniert hat. Im ersten Teil geht es darum, den richtigen Weg für den Einstieg zu finden.
Du musst nicht großartig sein, um anzufangen. Aber du musst anfangen, um großartig zu werden.
Erst einmal: Glückwunsch! Ich freue mich über deine Neugier und darüber, dass du mit dem Gedanken spielst, programmieren zu lernen!
Aus meiner eigenen Erfahrung weiß ich, dass das meistens keine Entscheidung ist, die auf der Hand liegt. Vermutlich gab es irgendeinen Trigger, der dein Interesse geweckt hat. In meiner Wunschwelt müsste es diese Trigger überhaupt nicht geben. Da wäre es selbstverständlich, die Basics der Softwareentwicklung bereits in der Schule zu lernen. Und zwar so, dass man es auch versteht. Da wäre es selbstverständlich, dass wir diese Basics bei unserer Studien- oder Jobwahl genauso einbeziehen wie die aus Biologie, Kunst oder Mathe.
Leider ist das aber momentan noch meine Wunschwelt und daher freue ich mich umso mehr über deinen Trigger! Das Gute daran ist, dass du dich aktiv von selbst dazu entschieden hast, dich damit zu beschäftigen. Und das macht dich natürlich um einiges motivierter. Da Motivation die absolute Grundvoraussetzung ist, wenn du programmieren lernen möchtest, bist du schon auf dem besten Weg!
Was ist dein Ziel?
Meiner Meinung nach ist es mit am wichtigsten, sich vorher Gedanken über das Ziel des Ganzen zu machen. Denn ohne Ziel verlässt dich die Motivation meistens recht schnell. Wenn du dein Ziel kennst, kannst du außerdem viel besser entscheiden, wie viel Zeit und Geld du in dein Vorhaben investieren möchtest.
- Vielleicht hattest du bisher überhaupt nichts mit Programmieren zu tun und möchtest dir erst einmal aus Interesse die Grundlagen anschauen. Auch das ist ein Ziel und der erste Schritt, um eventuell zu entdecken, dass du mehr davon lernen möchtest. Wenn du dich also einfach mal ein wenig ausprobieren möchtest, wirst du vermutlich nicht so viel Zeit dafür aufwenden können. Wahrscheinlich bist du auch weniger bereit, Geld für Programmierkurse oder ähnliches auszugeben.
- Vielleicht bist du bereits mit Softwareentwicklung oder Code in Berührung gekommen und hast dich dazu entschieden, ernsthaft programmieren zu lernen. Am besten funktioniert das meiner Erfahrung nach, wenn du ein Projekt im Kopf hast, an dem du deine neuen Skills direkt anwenden kannst. Dann ist dein Ziel so etwas wie dein Garant für Neugier und die nötige Ausdauer, nach kreativen Lösungen zu suchen. Und vermutlich setzt du auch gerne mehr Zeit und eventuell Geld ein, um dein Ziel zu erreichen.
Fazit: Wie du am besten anfängst, hängt von deinem Ziel ab. Und selbstverständlich macht es Sinn, erst einmal ein Gefühl für das Programmieren zu bekommen, bevor man beginnt, wirklich auf einen Job hinzuarbeiten. Lass uns einfach für beide Fälle anschauen, wie du deinem Ziel näherkommen und das Ganze anpacken kannst. Wenn du bereits sicher bist, professionell Programmieren lernen zu wollen, schau direkt auf den dritten Teil unserer Artikelreihe. Dieser Artikel richtet sich an alle, die bisher noch nie etwas mit Software zu tun hatten.
1. Lass dich nicht von all den Informationen entmutigen
Die Welt der Software-Entwicklung kann ziemlich überwältigend wirken, wenn man bisher nie damit zu tun hatte. All diese Begriffe und Programmiersprachen und die unzähligen Quellen im Internet, die oft wie einzelne, zusammenhanglose Schnipsel wirken… Wenn du dich überfordert damit fühlst, ist das absolut nachvollziehbar.
Das Gute ist: Wenn du einmal ein wenig Licht ins Dunkle gebracht und dir einen groben Überblick verschafft hast, ist es gar nicht mehr so schlimm. Dann lassen sich die einzelnen Begriffe, Programmiersprachen und Technologien wunderbar in ein großes Bild einordnen.
Jetzt fragst du dich vermutlich: “Und wie bringe ich Licht ins Dunkle?” Meiner Meinung nach ist einer der besten Wege ein guter Onlinekurs. Aber dazu gleich mehr. Vorher möchte ich dir noch kurz ein paar grundlegende Informationen geben. Vielleicht kann ich dir damit schon einmal dabei helfen, einen groben Überblick zu erlangen.
Frontend und Backend
Wenn du Software bzw. Webapplikationen entwickeln möchtest, gibt es grundsätzlich zwei Richtungen bzw. “Schichten”: das Frontend und das Backend.
Das Frontend ist alles, was du als Nutzer:in siehst. Stelle dir vor, du bist auf LinkedIn unterwegs. Alles, was du hier sehen kannst – dein Newsfeed, dein Profil, deine Inbox usw. gehört zum Frontend.
Nun kannst du bei LinkedIn ein Profil anlegen, in dem deine Nutzerdaten gespeichert sind. Außerdem kannst du mit anderen Nutzer:innen interagieren, Beiträge hinterlassen, Nachrichten schreiben und vieles mehr. Alles, was du bei LinkedIn hinterlässt, muss irgendwie gespeichert und verarbeitet werden. Zum Beispiel müssen Informationen in einer Datenbank abgelegt und aus dieser hervorgeholt werden, wenn du oder ein:e andere Nutzer:in sie aufruft. Und genau das passiert im Backend. Das ist natürlich nicht alles, was ein Backend kann. Häufig müssen auch komplexe, logische Zusammenhänge hergestellt und Berechnungen vorgenommen werden. Google Maps muss zum Beispiel irgendwie deine Route und deren Dauer berechnen, wenn du von A nach B kommen willst.
Um ein Frontend oder ein Backend zu programmieren benötigst du verschiedene Sprachen. Die Basics für ein Frontend sind in der Regel erst einmal HTML, CSS und JavaScript.
HTML und CSS sind keine richtigen Programmiersprachen.
HTML ist eine sogenannte Markup-Sprache und meiner Meinung nach ein guter Startpunkt. Markup-Sprachen sind Sprachen, bei denen du Textelemente “markieren” bzw. kennzeichnen und diesen bestimmte Eigenschaften zuweisen kannst.
CSS ist eine Stylesheet-Sprache, die dazu dient, die HTML-Elemente zu gestalten. Sie sind beide recht einfach, du machst dich langsam mit Code vertraut und erhältst direkt ein visuelles Ergebnis. Mit HTML schreibst du also den Inhalt deines Frontends und mit CSS gestaltest du diesen optisch.
JavaScript dagegen ist eine richtige Programmiersprache und sehr weit verbreitet. Hier findest du eine Umfrage zu beliebten Programmiersprachen von Stack Overflow. Mit JavaScript kannst du dein Frontend interaktiv machen. Du greifst quasi auf die einzelnen Elemente zu und bestimmst, was passiert, wenn ein:e Nutzer:in darauf klickt.
Für das Backend gibt es einige verschiedene Programmiersprachen und jede:r Entwickler:in wird dir vermutlich seine/ihre persönlichen Lieblingssprachen empfehlen. Beliebte Backend-Sprachen für den Einstieg sind zum Beispiel Python oder Ruby. Diese beiden sind recht klar und intuitiv. Erfahrene Entwickler:innen haben mir gesagt, dass es nicht so wichtig ist, welche der gängigen Sprachen man sich aussucht, sondern dass man diese wirklich versteht und beherrscht. Wenn du das geschafft hat, ist es recht einfach, auf eine der anderen Sprachen umzusteigen. Sie sind alle recht ähnlich aufgebaut.
Frameworks
Wenn du über Begriffe wir React, Vue, Angular, Django, Rales etc. stolperst, handelt es sich dabei übrigens nicht um Programmiersprachen, sondern sogenannte Frameworks. Das sind Sammlungen von bereits geschriebenen Programmen, die du dafür nutzen kannst, deinen Code effizienter zu schreiben. Sie bieten dir also fertige Lösungsbausteine für bestimmte Probleme, die du sonst von Grund auf selbst programmieren müsstest.
Natürlich kann man nicht nur Webapplikationen programmieren, sondern auch mobile Apps, Computerspiele usw. Dafür benötigst du zum Teil wieder andere Sprachen und Technologien. Für iOS-Apps musst du zum Beispiel die Programmiersprache Swift lernen.
2. Such dir einen geeigneten Onlinekurs
Natürlich gibt es viele Bücher und Nachschlagewerke für den Einstieg ins Programmieren. Grundsätzlich ist Nachschlagen, Recherchieren und Lesen für jede:n Entwickler:in auch überlebensnotwendig. Allerdings bin ich davon überzeugt, dass dir der Einstieg leichter fällt, wenn du dir (auch) einen passenden Online-Kurs aussuchst. Online-Kurse sind interaktiver als Bücher, “natürlicher” und, von guten Lehrer:innen gehalten, auch sehr motivierend. Außerdem bist du auf jeden Fall am Computer und kannst das Gelernte direkt umsetzen.
Inzwischen gibt es einige wirklich gute Plattformen, auf denen Programmierkurse für alle Erfahrungslevel angeboten werden. In einem guten Einsteigerkurs führen dich die Tutor:innen Schritt für Schritt ans Programmieren heran. Vor allem erfährst du auch, weshalb der Code so geschrieben wird und was im Hintergrund passiert.
Wie ich es oben bereits erwähnt habe, eignen sich HTML, CSS, JavaScript und eine Backend-Sprache meiner Meinung nach sehr gut, um sich mit Code und Softwareentwicklung vertraut zu machen. So hast du die Möglichkeit, herauszufinden, ob dir Frontend- oder Backend-Programmierung mehr Spaß macht, falls du dich weiter vertiefen möchtest.
Ich kann dir nur empfehlen, für den Anfang eine Mischung aus Grundlagenkursen auszusuchen, die diese Themen abdecken. Es gibt einige Kurse, die direkt eine Kombination aus HTML, CSS und JavaScript behandeln. Oder Kurse, die als allgemeine Einführung ins Programmieren auch eine Backend-Sprache mit einschließen. Achte dabei unbedingt auf die Qualität! Ein schlecht gemachter Einstiegskurs, kann dir im schlimmsten Fall die Lust am Programmieren verderben und das wäre schade!
Udacity
Aus meiner persönlichen Erfahrung kann ich Udacity sehr empfehlen. Auf Udacity findest du neben den kostenpflichtigen und nicht ganz günstigen Kursen (Nanodegrees) auch kostenlose. Die kostenlosen Kurse sind kürzer, aber qualitativ nicht schlechter. Häufig bestehen Teilmodule der kostenpflichtigen Kurse sogar aus den kostenlosen. Der Unterschied ist neben dem Umfang vor allem, dass du bei den kostenlosen Kursen keine Pflichtprojekte hast, die du einreichen musst. Außerdem erhält man am Ende eines Nanodegrees ein Zertifikat (sofern man alle Pflichtprojekte erfolgreich eingereicht hat).
Ein guter, kostenloser Grundlagen-Kurs für HTML und CSS wäre zum Beispiel dieser: Intro to HTML and CSS.
Zu jedem Kurs ist ein Level angegeben. Suche dir für den Anfang also am besten Kurse mit dem Level “Beginner” aus.
Ich selbst mag das Format wirklich gerne, weil man die Instructors in den Videos sieht und ihre Stimme hört. Das fühlt sich für mich persönlicher an, als ein Kurs, in dem vorwiegend Text und Übungen zur Verfügung stehen. Das ist aber sicherlich Geschmackssache. Passend zu den Videos gibt es dann auch schriftliche Erläuterungen, Übungsaufgaben und Quizze.
Noch ein wichtiger Hinweis: Die Kurse auf Udacity werden auf Englisch gehalten.
Codecademy
Codecademy bietet eine riesige Auswahl an Kursen zu allen Themen, die es im Bereich Softwareentwicklung momentan so gibt. Die Kurse, die ich getestet habe, waren qualitativ wirklich gut.
Auch bei Codecademy findest du kostenlose und kostenpflichtige Kurse. Die kostenpflichtigen Kurse kaufst du hier nicht einzeln, sondern schließt ein Pro-Abo für aktuell 18€ im Monat ab. Über dieses Abo kannst du auf alle kostenpflichtigen Kurse zugreifen. Das ist vergleichsweise günstig und kommt daher vielleicht auch für dich in Frage, wenn du einfach nur mal ein wenig herumprobieren und eine größere Auswahl haben möchtest.
Das Konzept ist ein wenig anders als das von Udacity. Bei Codecademy erhältst du in den Kursen schriftliches Lernmaterial mit Erklärungen und Übungen. Die Übungen kannst du dann direkt in einem Online-Editor ausprobieren und validieren. Mir selbst hat nach den Udacity-Kursen ein wenig der persönliche Bezug zum Instructor gefehlt. Der hat mich immer zusätzlich motiviert. Wie gesagt ist das aber Geschmackssache.
Udemy
Neben Udacity und Codecademy habe ich noch Udemy ausprobiert. Auf Udemy gibt es mittlerweile alles mögliche an Kursen, die weit über Programmieren und Softwareentwicklung hinausgehen.
Die Kurse auf Udemy sind kostenpflichtig, allerdings gibt es ständig Aktionen, über die du sie sehr günstig (oft für nur 10-20€ pro Kurs) erhältst.
Hier ein wichtiger Hinweis: Schau dir am besten die Bewertungen, die Vorschau-Videos und das letzte Aktualisierungsdatum an. Es gibt einige Kurse, die nicht mehr so wirklich auf dem neuesten Stand oder nicht so gut bewertet sind.
Durch die große Auswahl kannst du aber recht gute Grundlagenkurse finden. Sollte dir ein Kurs übrigens nicht gefallen, gibt es eine 30-Tage-Geld-zurück-Garantie. Die habe ich auch schon genutzt und das hat problemlos funktioniert.
Wenn du ein wenig recherchierst, wirst du noch viele weitere Plattformen finden. Mir sind zum Beispiel noch die folgenden bekannt: Freecodecamp, Coursera und Treehouse. Leider habe ich mit diesen bisher keine persönlichen Erfahrungen gemacht. Du findest online aber sicherlich genügend Erfahrungsberichte.
Online-Games
Wenn du jemand bist, der lieber spielerisch lernt, gibt es übrigens auch dafür einige Möglichkeiten. So ein Spiel ersetzt natürlich keinen ganzen Kurs. Es kann dir aber dabei helfen, überhaupt ein Gefühl für Code zu bekommen oder deine Skills zu festigen. Ideen kannst du zum Beispiel im folgenden Artikel von Futurezone finden: Spielerisch zum Programmierer: 15 Online-Games, mit denen ihr coden lernt. Oder falls dich iPhone-Apps interessieren: Apple bietet die kostenlose App Swift Playgrounds an, auf der du spielerisch Swift lernen kannst.
Der wichtigste Schritt ist gemacht: Du hast die richtige Plattform zum Programmieren lernen gefunden. Im nächsten Teil dieser Artikelreihe gehen wir darauf ein, welche Tricks es gibt, um möglichst effektiv Programmieren zu lernen. Wenn du noch unsicher bist, schau dir unsere 10 Gründe Programmieren zu lernen an.