Beiträge

Headerbild für den Programmieren Lernen Ratgeber

Der Einstiegsratgeber zum Programmieren lernen

Headerbild für den Programmieren Lernen Ratgeber

Programmierung ist nicht nur ein modernes Trendthema sondern ein wichtiger Bestandteil unserer technologischen Zukunft. Wer Technologie beherrschen und gestalten möchte, sollte programmieren lernen. Dieser Artikel soll dir einen Rundumblick geben, wie du möglichst schnell einsteigen kannst. Egal ob du Onlinekurse, Bücher oder interaktive Tutorials bevorzugst und vielleicht noch gar nicht weißt was du eigentlich später programmieren willst. Hast du allerdings schon eine Idee oder bist einfach nur neugierig, wirst du einen Ansatzpunkt finden wie du von hier aus weitermachen kannst. Die Tatsache, dass du hier gelandet bist, bedeutet, dass du bereits Programmieren lernen möchtest und du damit auf dem richtigen Weg bist. Für dich soll dies der letzte Artikel zum Programmieren lernen sein, den du googeln musst. Außerdem bin ich neugierig zu erfahren, warum du programmieren lernen möchtest, also darfst du gerne einen Kommentar hinterlassen. Auch wenn du meinst, dass ich noch etwas ergänzen sollte, schreib einfach ein Kommentar.

Was du in diesem Artikel erfahren wirst:

  • Einen Computer programmieren
  • Die Sprachen der Computer verstehen
  • Wie man programmieren lernen kann
  • Programmieren lernen ist einfach?
  • Die besten Quellen und Ressourcen für den Anfang

Einen Computer programmieren

Wenn du diesen Ratgeber grade liest, benutzt du grad höchstwahrscheinlich einen Computer, richtig?  Ja, auch das Smartphone und dein Tablet sind Computer. Alle Computerteile, die man anfassen kann (und manchmal treten und werfen könnte), nennt man Hardware. Auf deinem Computer laufen Programme, die du benutzt. Du benutzt zum Beispiel grade einen Browser oder PDF-Reader. Diese Programme sind im Computer gespeichert und nennen sich deshalb Software. Software, weil man diese nicht anfassen kann. Auch wenn uns manchmal die Software dazu verleitet, die Hardware zu verfluchen. Du möchtest programmieren lernen, dass bedeutet du möchtest lernen, wie man irgendwann Software entwickelt. Wie das geht lernst du gleich noch, aber zuerst schauen wir uns an was eigentlich Programmieren ist und was ein Programmierer so den ganzen Tag lang macht.

Was ist Programmieren?

Jemand der programmieren kann und programmiert, gibt ganz allgemein gesprochen erstmal „nur“ Anweisungen an einen Computer. Diese Anweisungen sind allerdings so aufgebaut, dass der Computer diese eigenständig, also automatisiert und ohne Hilfe eines Menschen abarbeiten kann. Damit dies auch erfolgreich passieren kann, muss so ein Computerprogramm gründlich durchgeplant sein. Im Prinzip kannst du es dir vorstellen, wie die Planung einer großen Veranstaltung (zum Beispiel eine Party, Konferenz oder ein Fußballspiel). Du bist der Veranstalter der alles in der Hand hat und planen muss. Wenn deine Veranstaltung geplant ist, muss jeder Handgriff sitzen, ohne dass du da bist. Alles muss passen: Örtlichkeit, Verpflegung, Unterhaltung, usw. Deine Gäste sollten wissen, wann etwas passiert und deine Lieferanten müssen wissen, wann sie was wohin liefern sollen. Schlägt hier in der Planung etwas fehl, wirkt es sich auf deiner Veranstaltung aus und es kommt zum durcheinander. Wenn auf einer kleinen Party die Musik ausfällt wird sich niemand beschweren. Aber wie würden die Leute reagieren, wenn nach einem Fussballspiel im Stadion plötzlich alle Toiletten ausfallen? Das sind natürlich echte Probleme, aber diese sollen demonstrieren woran man beim Programmieren eigentlich alles beachten muss. Man muss dieser dummen Rechenmaschine beibringen, Dinge selbstständig und ohne Hilfe zu tun. Das dies nicht immer funktioniert, hast du vielleicht schon mal bemerkt, wenn eine App abstürzt oder du Grafikfehler in einem Videospiel siehst. Du fragst dich bestimmt, wie man aber nun dem Computer diese Befehle gibt. Dies passiert mit einer Programmiersprache. Diese Sprache kann von einem Programm in Maschinenbefehle übersetzt werden und damit kann der Computer die Anweisungen ausführen. Wenn du diese Sprache sprechen kannst, kannst du deinem Computer Befehle geben. Wie du aber im Beispiel der Party gesehen hast, ist die Programmiersprache allein nicht das wichtigste. Zuallererst muss man wissen, was der Computer überhaupt tun sollte, damit er deine Aufgabe automatisch und alleine lösen kann. Wie sieht das denn eigentlich aus? Hier ein Beispiel von einem Programmierer:

Der Alltag von Daniel, einem Programmierer

Daniel steht morgens auf und macht seine Sportübungen nach dem Frühstück. Während des Frühstücks schaut er kurz in seine E-Mails um sicherzugehen, dass seine Webseiten, durch einen eventuellen Ausfall, weiterhin online sind (das Smartphone ist von der Firma bezahlt). Außerdem gibt es eigentlich täglich neue Anfragen für Features oder auch Fehler, die er noch beheben muss. Nach seinem Sportprogramm setzt er sich mit einem Kaffee ins Home Office, denn er arbeitet heute Vormittag von zuhause aus. Die Hardware bekommt er von seinem Arbeitgeber, damit er quasi von überall aus arbeiten kann (er hat sich sogar schon mal einen kleine Reise gegönnt und von dort aus weitergearbeitet). Er beantwortet ein paar Mails an den Kunden und macht sich an die Programmierarbeit. Er schaut auf seine aktuelle Liste, die abarbeiten muss und prüft, was seine Kollegen gestern Abend schon fertig programmiert haben. „Das wird ein lockerer Tag“ sagt er und holt sich noch einen Kaffee. Dann macht er sich an die Programmierarbeit und legt los. Er überlegt sich wie er ein bestimmtes Feature umsetzen kann, indem er die Lösung auf Papier vorher durchgeht. Nun weiß er welche Programmbestandteile er bauen muss und welche er eventuell aus fertigen Programmen wiederverwenden kann. Damit sein Programm auch zuverlässig arbeitet, schreibt zunächst einen Test, der die Funktionalität bei späteren Änderungen immer wieder testen soll und damit sicherstellt, dass diese Funktion nicht kaputt gehen kann. Erst jetzt entwickelt er das Feature. Plötzlich ein Anruf vom Projektleiter. Der Kunde möchte, dass zuerst dieser neue Fehler behoben wird. Dafür braucht Daniel Hilfe von einem Kollegen. Er stimmt mit seinem Kollegen ab, sich am Mittag dazu in der Zentrale zu treffen und in der Zwischenzeit zu prüfen was bei dem Fehler eigentlich im Programm passiert ist. Beim Mittagessen erklärt er seinem Kollegen, was los ist und beide überlegen sich eine Lösungsstrategie um diesen Fehler ein für alle Mal aus der Welt zu schaffen. Ob die beiden es schaffen werden?

Der Beruf Programmierer / Softwareentwickler

So ungefähr kann man sich den Tag eines Software Entwicklers vorstellen. Man sitzt also nicht wirklich 8 Stunden nonstop am Bildschirm. Eigentlich sind es mindestens 10 Stunden 😉 Nein, Spaß beiseite.  Als Programmierer ist man verantwortlich für eine oder mehrere Applikationen. Das bedeutet man fühlt sich verantwortlich dafür, dass das Programm, welches man entwickelt und auch pflegt, immer und fehlerfrei funktioniert.  Allerdings gibt es kein Computerprogramm was immer fehlerfrei funktioniert. Es kann immer Fälle geben, bei denen ein Computerprogramm plötzlich nicht mehr das tut, wofür es geschrieben war.  Das bedeutet, dass ein Entwickler nicht nur programmieren können muss, sondern auch lernen muss, wie man Fehler in Programm analysiert und behebt. Das gehört zum Beruf dazu. Aber nicht jeder Software Entwickler und jedes Software Projekt ist gleich. Bei manchen Projekten hat man viel Kundenkontakt, bei anderen kümmert man sich eher um die Programmierung von neuen Features. Bei guten Arbeitgebern wird darauf geachtet, worauf man eigentlich Lust hat und was man gut kann und kann dementsprechend mitentscheiden an welchen Projekten man mitarbeiten kann. Programmierer sind also sehr kreative Menschen die ihre Kreativität in Form von Logik ausdrücken. Und da wir uns momentan im Zeitalter der Digitalisierung befinden suchen alle Unternehmen händeringend nach Programmierern. Da gute Softwareentwickler schwierig zu bekommen sind, machen sich die Unternehmen attraktiv für die Entwickler in dem sie Add-Ons zusätzlich zum guten Gehalt anbieten. Um mal ein paar davon aufzuzählen: Freigetränke, Kickertisch, Bezahlte Massage und Sportangebote, freie Auswahl bei Hardware, Essens- und Tankgutscheine, Arbeitszeit für eigene Projekte nutzen dürfen, Grill, Vertrauensarbeitszeit und Home Office. Und wir sprechen hier von nur einem Unternehmen! Sich also zum Programmierer weiter zu entwickeln kann sich also ziemlich lohnen. Aber was kann man denn eigentlich so Programmieren?

Was kann man alles Programmieren?

Früher hat man Videorekorder bedient oder konnte diese „programmieren“. Eigentlich hat man nur eine bestimmte Uhrzeit eingestellt, wann der Rekorder nun eine Fernsehsendung aufnehmen soll. Das Programmieren eines Computers ist dann schon etwas komplexer. Denn letztendlich bestimmt nur deine Phantasie und dein Technische Wissen die Grenze von dem was du Programmieren kannst. Die Phantasie kann von Anfang an sehr ausgeprägt sein, vielleicht wirst du schon mal an eine Idee für ein eigenes Computerprogramm gedacht haben. Welche Arten von Programmen es gibt, die auch von einem Programmieranfänger erstellt werden können, erfährst du jetzt:

Apps

Apps sind Computerprogramme, welche auf einem mobilen Computer also einem Smartphone oder einem Tablet ausgeführt werden können. Diese Programme kann man über einen AppStore installieren und dann immer wieder benutzen. Beim Programmieren gibt es die Besonderheit, dass der Benutzer über einen Touchscreen mit dem Programm interagieren muss. Wie man lernt Apps zu programmieren lernst du in diesem Artikel.

Webseiten/Webanwendungen

Das Internet. Unendliche WeitenInformationen. Wer heutzutage keine Internetseite hat, existiert praktisch nicht. Selbst mit Baukastensystemen lassen sich kleine Webseiten zaubern. Ich weiß nicht ob du es schon bemerkt hast, viele Programme und Apps benutzen wir eigentlich nur noch über den Browser. Man kann E-Mails im Browser abrufen und schreiben, Facebook ist ursprünglich nur über den Browser erreichbar gewesen. Wer Webseiten und Webanwendungen programmieren kann, kann alle Menschen erreichen, die einen modernen Browser auf ihrem Computern, Smartphones und Tablets haben. Meistens ist dafür sogar nur eine Programmiersprache notwendig, wie du in diesem Artikel lesen kannst.

Videospiele

Ohne Videospiele wären Computer nie so beliebt gewesen, wie heute und würden nun nicht in jedem Haushalt vertreten sein. Mittlerweile kann man sich die Zeit während der Busfahrt auf dem Smartphone mit Spielen vertreiben. Und zwar mit den Spielen, die dich interessieren. Egal ob Action- Knobel oder Kartenspiel. Alles was Spaß macht ist erlaubt und kann auch programmiert werden. Der neueste auf dem Markt sind Virtual Reality Spiele, aber um diese zu programmieren sollte man bereits eine Menge Programmiererfahrung gesammelt haben.

Desktopanwendungen

Hört sich langweilig an, ist aber nicht zu vernachlässigen. Jeder, der etwas am Computer für die Schule oder für die Arbeit machen musste, hat diese Programme schon benutzt. Ich wundere mich, ob du dich schon mal über so ein Programm geärgert hast. Nicht immer sind diese ganz intuitiv zu benutzen. Also verbirgt sich hier viel Potenzial Verbesserungen mit eigenen Computerprogrammen vorzunehmen.

Hardware/Einplatinen Computer

Richtig spannend wird es, wenn man mit dem eigenen Programm Dinge in der echten Welt beeinflussen kann. Lampen ein-/auschalten oder kleine Roboter bewegen. Eine eigene kleine Seifenblasenmaschine, die immer dann angeht, wenn dein Wecker klingelt wäre doch cool, oder? Mit Einplatinencomputern wie dem Raspberry Pi kann man solche Dinge bauen. Allerdings muss man sich hier zusätzlich mit Elektrotechnik auseinandersetzen. Vorsicht beim Experimentieren mit Strom!

Werkzeuge/Skripte

Wenn du bereits jetzt schon öfter am Computer arbeitest, hast vielleicht bemerkt, dass man doch bestimmt ein paar Arbeitsschritte vereinfachen könnte. Man kann sich kleine Werkzeuge bauen, die einem Fleiß- oder nervige Arbeiten abnehmen. Damit kannst du effektiver arbeiten und hast schneller Feierabend!

Sprich die Sprache deines Computers: Quelltexte und Programmiersprachen

Du hast nun gelernt, was man eigentlich beim Programmieren macht und was eigentlich alles programmieren kann und du fragst vielleicht, wie so eine Programmiersprache aussieht. Es ist so wie bei echten Sprachen, es gibt verschiedene davon, da jede aus einem bestimmten Grund entwickelt wurde. Welche Arten von Sprachen es gibt und welche du am Anfang lernen solltest erfährst du jetzt.

Welche Programmiersprachen gibt es?

Vielleicht hast du schon mal im Internet nach Programmiersprachen gesucht und wurdest verwirrt von vielen Meinungen anderer Programmierer. Klar, jeder denkt, die Sprache mit  der er gelernt hat, ist die beste Sprache. Merkwürdigerweise gilt das bei „echten“ Sprachen nicht, oder? Oder hat dir jemand schon mal gesagt, dass Deutsch die beste Sprache zum Sprechen lernen ist. Ziemlich unwahrscheinlich, richtig?

Javascript und höhere Programmiersprachen

Höhere Programmiersprachen wie Javascript, Java, C++, C, Python, usw. nutzen dieselben Grundelemente, haben aber auch ihre eigenen Spezialitäten. Das schöne ist, sobald du diese Grundelemente erlernt hast und im Schlaf verwenden kannst (und auch erst dann!), kannst du quasi mühelos auf eine andere Sprache umsteigen, sobald es notwendig wird. Entscheidest du dich am Anfang für eine Sprache, mit der man möglichst viele verschiedene Programmarte programmieren kann, musst du erst später eine weitere Programmiersprache erlernen. Aber irgendwann wirst du nicht drum herum kommen. Heutzutage lernen Anfänger eine höhere Programmiersprache für den Einstieg um die Grundlagen zu erlernen und erste Ergebnisse zu erzielen.

Beschreibungssprachen: HTML, CSS, JSON, XML

Während die höheren Programmiersprachen Logik und Abläufe enthalten, enthalten diese Sprachen lediglich Daten und Informationen. Sie gelten daher nicht als klassische Programmiersprachen aber ohne diese zu lernen kommt man in der Programmierung nicht weit. Mit HTML beschreibt man zum Beispiel die Inhalte einer Webseite, mit CSS kann man diese Inhalte designen also stylen. Mit JSON und XML kann Daten strukturiert festhalten und zum Beispiel in Dateien speichern und auch wieder laden. Sobald du also loslegst programmieren zu lernen werden dir diese Sprachen ebenfalls über den Weg laufen.

BASIC

Es gibt verschieden BASIC-Sprachen und diese sind quasi die „Vorfahren“, der höheren Programmiersprachen. BASIC steht für „Beginners All-purpose Symbolic Instruction Code“. Damals hat man mit diesen Sprachen Programmieranfängern das Programmieren beigebracht und dann tatsächlich damit programmiert. Heutzutage gibt es modernere Methoden und Programmiersprachen, aber auch Sprachen, die auf BASIC basieren, wie Visual Basic.

Assembler/Maschinencode

Diese Sprachen sind die Grundlage jeder Software und laufen immer im Hintergrund. Sie sind sehr komplex und schwierig zu verstehen, wenn man nicht weiß wie ein Computer und Prozessor intern arbeitet. Aber es sind Programmiersprachen die lange Zeit verwendet wurden und die Sprachen die erst die Weiterentwicklung der Computertechnologie ermöglicht haben.

Scratch und Lernsprachen

Es gibt eine Art von Sprachen, die wie BASIC, extra nur dafür entwickelt wurden Programmieranfängern das Programmieren beizubringen. Mit diesen Sprachen kann man oft gar nicht umfangreiche Anwendungen programmieren, da diese ausschließlich zum Lernen da sind. Der Vorteil ist ganz klar, man lernt mit eine Programmier-„lern“-sprache die Grundlagen und wechselt dann zu einer richtigen Sprache um das Wissen dann schneller anwenden zu können. Dies ist besonders empfehlenswert für die Menschen, die mit einer anderen Programmiersprache zunächst gescheitert sind. Scratch ist zum Beispiel eine Sprache mit der man spielerisch Programmieren lernt.

Für jeden Einsatzzweck eine andere Sprache

Vielleicht hast du schon bemerkt, dass die Arten von Programmiersprachen alle für einen anderen Zweck verwendet werden. Während Maschinencode auf der untersten technischen Ebene arbeitet können wir die höheren Programmiersprachen verwenden. Damit müssen wir uns nicht mehr darum kümmern welche Schaltung im Prozessor nun durchgeführt werden muss und die nächste Berechnung erfolgt. Diese höheren Sprachen haben also den Zweck zusätzliche Arbeit zu ersparen. Damit spart man nicht nur Programmierarbeit sondern auch Tätigkeiten wie Fehlersuche werden extrem vereinfacht.

Woher du weißt, was du programmieren musst.

Wenn du bereits eine Programmiersprache beherrscht wirst du dich vielleicht fragen, was du nun programmieren musst um deine Idee zu verwirklichen. Egal welche Programmiersprache du benutzt, hier ist das was für alle Programmiersprachen gilt: Du musst deine Idee zunächst selbst lösen können, bevor du die Lösung des Problems an deinen Computer weiterleitest. Der Weg ist folgender: Du erhälst eine Aufgabe, ein Problem oder eine Idee die später per Computerprogramm gelöst werden soll. Bevor du nun anfängst zu programmieren, überlegst du dir auf Papier, im Kopf oder Whiteboard, wie du das Problem SELBST und OHNE Programmierung lösen würdest. Diese Lösungsschritte musst du nun in mögliche Computerbefehle „übertragen“. Da dein Computer mit der Programmiersprache nur ein begrenztes Verständnis deiner Lösung hat, musst du deine Lösungsschritte herunterbrechen, bis diese mit der Programmiersprache programmierbar werden. Idealerweise überlegst du dir dann 2-3 Lösungswege, denn meistens funktioniert die erste Strategie im Programm dann doch nicht. Aber wirst du beim Programmieren ganz schnell merken. Immer dann, wenn du nicht weißt, wie du nun mit der Programmiersprache dein Problem lösen sollst, denk an diesen Artikel von lerneProgrammieren.de. Du hast dir dann nicht genug Gedanken über den möglichen Lösungsweg gemacht.

Was ist die beste und einfachste Programmiersprache für den Einstieg?

Ich werde dir nicht sagen, welches die beste und einfachste Programmiersprache ist, denn es gibt sie einfach nicht. Jeder Programmierer hat seine eigene Lieblingssprache und findet die am einfachsten mit der er selbst gelernt hat. Ich werde dir aber aus dem Grund nicht Javascript empfehlen. Sehen wir es mal andersrum: Im Vergleich der Sprachen werden die schwersten wohl Maschinencode und Assembler sein. Einfach aus dem Grund, dass man die internen Prozessorstrukturen kennen muss und sich auf der tiefsten technischen Ebene des Computers bewegt. Sehr schwer zu erlernen, aber wenn man es kann, versteht man zu 100 % wie ein Computer arbeitet. Programme damit zu schreiben eher unwahrscheinlich, denn es gibt Werkzeuge, dir diesen Code aus einer höheren Programmiersprache generieren. Zum LERNEN sind die einfachsten Programmiersprachen, genau die, die dafür gemacht wurden. Allerdings kann man damit kaum etwas Brauchbares umsetzen, also: Leicht zu erlernen, aber nur Mittel zum Zweck, da man danach umsteigen muss. Bleiben also die höheren Programmiersprachen als echte Kandidaten für diese Kategorie übrig. Aber welche von den vielen wählt man davon aus? Wenn es eines der Dinge gibt, die beim Programmieren wichtig sind, ist es einfach und schnell Lösungen umzusetzen. Also bietet sich eine Programmiersprache zu Anfang an, mit der man möglichst viele verschiedene Anwendungen programmieren kann, wie z.B. Javascript. Aber es ist nicht notwendig mit Javascript zu starten, denn jede andere höhere Programmiersprache ist ebenfalls geeignet.

Wie du programmieren lernen kannst

Du hast nun gelernt was Programmieren ist und was man grob beim Programmieren machen muss. Welche die richtige Art und Weise ist möchte ihr dir nicht vorschreiben, denn jeder Mensch lernt gerne anders. Vielleicht weißt du auch gar nicht wie du selbst effektiv lernst. Nimm die folgenden Punkte also als Vorschläge wahr und nicht als Empfehlung.

Onlinekurs

Die modernste Art Programmieren zu lernen ist ein Onlinekurs. Es gibt viele verschiedene Anbieter und auch große Plattformen, welche dir das Programmieren vermitteln können. So ein Kurs ist meistens so aufgebaut, dass man kostenlos starten kann und dann gegen eine Gebühr (je nach Umfang ca. 150-200 €) den kompletten Kurs absolvieren kann. Vielleicht hast du es schon bemerkt, es gibt so viele Anbieter, dass man schnell den Überblick verliert. Bei so vielen Angeboten ist wie immer Vorsicht angesagt. Prüfe vorher folgendes: Ist der Kurs tatsächlich so hochwertig, wenn der Ursprungspreis extrem reduziert wurde? Ist es realistisch, dass du für einen niedrigen Preis das bekommen kannst, was du dir vorstellst? Welchen Zweck verfolgt der Anbieter mit einem so niedrigen Preis? Wenn das alles für dich passt und du weißt, dass du es  lernen kannst, dann schlag zu.

Mentoring und Beratung

Egal ob du mit Onlinekurs oder ohne Programmieren lernst, es kann passieren, dass du mal einfach etwas auf Teufel komm raus nicht verstehst. Dann solltest du jemanden im Ärmel haben, der dir schnell und vor allem gerne hilft. In so vielen Foren und Gruppen, habe ich gesehen, wie Anfänger angepöbelt werden, weil sie einfache Fragen stellen. Da ist es besser, jemanden zu kennen, der dir weiterhelfen kann, wenn du mit dem Lernstoff nicht vorankommst. Idealerweise sollte das in einem Onlinekurs zusätzlich inbegriffen sein.

Aufgaben/Projekte

Hier geht es um Learning-By-Doing. Ohne Aufgaben und kleine Projekte durchzuführen, wirst du das Programmieren nicht lernen. Nur wenn du tatsächlich das gelernte in eigenen kleinen Beispielen nachbaust und nachvollziehen kannst, lernst du die Grundlagen zu verstehen und später auch anzuwenden. Möchtest du direkt mit deiner Idee starten, ist das Okay solange du dir immer nur kleine Bestandteile zum Üben rauspickst. Das große ganze kommt erst später.

Programmierworkshops

Eine weitere Möglichkeit in die Programmierung einzusteigen sind Programmierworkshops. Hier gibt es für jede Altersklasse und Vorerfahrung zugeschnittene Angebote. Für Kinder und Jugendliche sind diese meist kostenlos, wie zum Beispiel die CoderDojos. Das ist cool, da man auch mit erfahrenen Programmierern zu tun hat und dann direkt von denen lernt. Allerdings muss man dann in eine Stadt fahren in der so etwas angeboten wird und sich dann ein paar Tage Zeit dafür nehmen. Die einzige Schwierigkeit fängt meistens nach einem Workshop an, denn man will ja danach direkt weitermachen. Möchte man nur mit Workshops programmieren lernen ist man also  angebotenen Termine beschränkt. Man muss auf den nächsten Termin warten oder sich zuhause hinsetzen und wieder selbst weitermachen (muss man sowieso).

Selbststudium

Neben Onlinekursen, Projekten und Workshops, kommt man immer wieder in eine Phase, in der man selbst die Programmierung für sich „erforschen“ muss. Hier kommt es natürlich darauf an, welche Lehrmaterialien man sich zugelegt hat und welche Qualität diese haben. Denn egal womit man lernt, diese Phase gehört dazu. Man lernt ein neues Konzept kennen, macht dazu eine Übung und versucht dabei dies für später zu verstehen. Je nach Qualität des Lehrmaterials kann das dauern. Was leider vielen Einsteigern dabei passiert ist folgendes Beispiel. Am Anfang denkt man vielleicht: „Cool. Ich lerne jetzt programmieren. Mal schauen was es im Internet dazu gibt“. Schnell landet man auf ein paar Tutorials, die einem verklickern wollen, dass man innerhalb von ein paar Stunden programmieren kann „Geil! Kann ich ja morgen direkt meine Idee programmieren“. Du arbeitest das Tutorial vielleicht bis zur Hälfte durch und dann kommt die Erkenntnis: „Ich kauf mich lieber ein Buch“. Kann auch genau andersrum passieren, also zuerst Buch und dann Tutorials. Man hangelt sich von Tutorial zu Tutorial und von Buch zu Buch, indem man einfach nur die Befehle und Quellcodes abschreibt und eigentlich erstmal gar nichts versteht. Nach viel Durchhaltevermögen, einer bestimmten Zeit und viel Arbeit, macht es Klick. Wenn es noch nicht Klick gemacht hat, machst du entweder weiter oder gibst frustriert auf. Ich weiß nicht, ob das für dich empfehlenswert ist. Daher ein Rat: Suche dein Lehrmaterial sorgfältig aus!

Programmieren lernen ist einfach – Es zu beherrschen ist schwer

Wie du gemerkt hast, die Art und Weise programmieren zu lernen ist an sich erstmal einfach. Du arbeitest einen Onlinekurs durch, machst brav deine Übungen. Im Selbststudium oder mit Beratung legst du dann mit deinen eigenen Kleinprojekten los. Du hangelst dich also von Programm zu Programm, wobei du dabei mit deinen Aufgaben immer weiter wächst. Aber welche Voraussetzungen solltest du eigentlich mitbringen, wenn du jetzt starten willst?

Welche Voraussetzungen gibt es?

Interesse/Motivation

Eine Grundvoraussetzung zum Programmieren lernen ist selbstverständlich das Interesse dazu. Wenn du bis hier hin gelesen hast, kannst du von dir behaupten, dass du genug Interesse an diesem Thema hast. Damit dieses Interesse und deine Motivation nicht beim ersten Problem zerbröselt, solltest du dir ein Ziel festlegen, welches du erreichen willst. Dieses sollte anspruchsvoll aber auch realistisch sein.

Logik

Das logische Denken, ist die Hauptaufgabe eines Programmierers. Alles andere ist zweitrangig. Du musst kein Mathegenie sein oder dich besonders gut mit Computern auskennen. Du musst lediglich Denken können. Bist du in der Lage einer fremden Person eine Wegbeschreibung zu erstellen und zu geben? Probier es einfach mal aus, es ist einfacher als du denkst. Wenn du das geschafft hast, hast du die notwendigen Grundvoraussetzungen.

Computer und Technologie Affinität

Wenn du gar nichts mit Computern und Technologie anfangen kannst, dann könnte es schwierig für dich werden, dich mit diesem Thema zu befassen. Genauso gilt das, wenn du noch nicht lange an einem Computer arbeitest. Du solltest wissen wie man einen Computer bedient und welche Technologien so in ihm stecken. Das heißt nicht, dass du einen Computer reparieren können musst.

Software

Du wirst Software brauchen und du wirst verschiedene Programme erlernen und benutzen, die dir im Entwickleralltag helfen. Also ist es hilfreich, wenn du dich mit deiner Software auskennst und dich gerne auch mal in neue Programme einarbeitest.

Englisch

Der Knackpunkt bei vielen Menschen, die programmieren lernen wollen. Wenn du noch nicht viel Englisch verstehen kannst, dann wird es schwierig für dich, wenn du z.B. eine Dokumentation zu einer Software durcharbeiten musst und diese in englischer Sprache verfasst ist. Auf jeden Fall hilft es dir Basiswissen in Englisch zu haben. Den Kurs kannst du auch immer noch in deutscher Sprache durcharbeiten und dann einfacher programmieren lernen.

Hardware

Eigentlich reicht ein völlig normaler Computer, auf dem ein modernes Betriebssystem und ein moderner Browser zu lauffähig ist. Man braucht also keine Superstarke Rechenmaschine um mit dem Programmieren anfangen zu können. Wichtig ist jedoch, dass man zum Programmieren selbst mit einer Tastatur und Maus arbeiten kann. Ich kenne noch keinen Programmierer, der ernsthaft auf einem Tablet programmiert.

Denkweise

Der Glaube, dass man immer direkt drauf losprogrammiert, kann einen Anfänger ziemlich verwirren. Vielleicht kennst du das: Ich habe schon viele Anfänger gesehen, die eine Programmiersprache gelernt haben, weil es kostenlos war, aber nun da stehen und gar nicht wissen, wie sie nun das erlernte anwenden können. Was die meisten kostenlosen Tutorials leider nicht zeigen, ist wie man vo dem beim Programmieren denken muss. Welche Denkschritte führt man durch um zum Ziel zu kommen? Verglichen mit einer echten Sprache ist das so, dass man dir zwar alle Vokabeln zeigen kann und du diese auch brav auswendig lernen kannst. Aber du weißt nicht, wie du mit den nun vorliegenden Wörtern ganze Sätze zusammenbauen kannst. Ohne ganze Sätze kannst du keine Geschichte schreiben oder dich mit einer Person unterhalten. Du wirst nur die Vokabeln gelernt haben. Kommen wir zu den Vokabeln.

Grundlagen

Die Grundelemente einer hohen Programmiersprache sind leicht aufgezählt: Anweisung, Befehlsfolge, Blöcke, Funktionen, Parameter, Operationen, Variablen, Datentypen, Arrays, Objekte, Kontrollfluss, If-Entscheidungen und Schleifen. Als ausgebildeter Programmierer kannst du diese Elemente im Schlaf anwenden. Wie du bereits gesehen hast, reicht es nicht aus, zu wissen was diese  machen können. Man muss lernen wie man diese einsetzt um Probleme und Aufgaben zu lösen. Eigentlich entwickelt man mit diesen Elementen Algorithmen, die immer wieder ausgeführt werden können. Hört sich kompliziert an und das kann es auch werden. Alles dabei läuft völlig logisch ab und ist nachvollziehbar.

Praxis

Die praktische Anwendung wurde ja schon beim Programmieren lernen angesprochen. Denn man kann sich zwar alle tollen Softwaretechnologien reinziehen und dazu Tutorials absolvieren, aber wenn man diese nicht auch in praktischen Projekten anwendet, kommt man einfach nicht an sein Ziel. Wenn du also etwas Neues gelernt hast, versuche dies direkt anzuwenden. Bau dir ein kleines Beispielprojekt, bei dem du dir und auch anderen zeigen kannst, dass du es gelernt hast. Wenn du gelernte, dann auch noch erklären kannst, hast du es wirklich gelernt. Also Programmieren lernen nach dem Motto: Nicht quatschen – Machen.

Der Weg zum Profi

Wenn du tatsächlich professioneller Software Entwickler werden möchtest, dann hast du einen langen Weg vor dir. Wie lange du diesen gehen musst, hängt allerdings von dir selbst ab. Wenn du selbst viel eigenständig programmierst und dich ständig selbst herausforderst, wirst du schneller ans Ziel kommen, als wenn du nur ab und zu mal ein bisschen in das Thema reinguckst. Um das notwendige tiefe Verständnis zu bekommen musst du richtig ran. Profi ist hier genauso gemeint wie „Profi“ im Profisport. Profis trainieren mehrere Male in der Woche und nutzen ihre freie Zeit zur Weiterentwicklung. Wenn du ein professioneller Entwickler werden möchtest, musst du das professionelle auch ernst nehmen. Wenn du grade noch am Anfang stehst und du zum Profi werden möchtest, nimm dir schon mal vor, nicht nur ein oder zwei Programme zu schreiben. Fang heute mit dem ersten Programm an und wenn du dein 43tes Computerprogramm geschrieben hast, kannst du mal schauen wie gut du in der Programmierung zurechtkommst. Das ganze kann mal schnell 3-5 Jahre dauern. Aber es lohnt sich diese Zeit zu investieren!

Was man als Anfänger beim Einstieg erwarten kann

„Kauf diesen Kurs“, „Mache deine Aufgaben“, „Kauf den richtigen Computer“, usw. Hier bekommst du grad die volle Ladung Informationen, wenn du loslegen willst. Du hast vielleicht schon eine bestimmte Vorstellung davon, was du später mal programmieren möchtest. Ich habe bei vielen Anfängern eine große anfängliche Motivation gesehen, weil diese unbedingt ihre eigene Idee umsetzen wollten. Ich möchte diese Vorstellung auch nicht beeinflussen. Allerdings sind die Vorstellungen manchmal fern von der Realität. Denn es ist einfach sich ein Videospiel mit allen Extras und super Grafik auszudenken. Das Problem ist, dass du an dieser Stelle im übertragenen Sinne davon träumst, einen Hollywoodfilm mit deinem Smartphone zu produzieren. Das Videospielbeispiel ist eigentlich perfekt dafür. Denn alleine das Programmieren reicht dafür eben nicht aus. Damit du dennoch weitermachst und deine Motivation beibehälst, sollst du noch erfahren, was du ungefähr für deinen Anfang erwarten kannst.  Zuerst geht es los mit den ersten Schritten. Du lernst die Entwicklungsumgebung kennen und die Werkzeuge, die dazu gehören. Diese setzt du dann in den Übungen beim Lernen der Grundlagen schon direkt ein. Damit programmierst du die ersten kleinen Funktionen. Sobald du das drauf hast, kann du eigenständig ganz winzige Programme schreiben: Ich spreche hier z.B. von Textadventures, Quizspielen oder Vokabeltrainern (oder wie im Einsteigerkurs den kleinen Roboter). Damit sammelst du deine ersten Erfahrungen. Erst dann geht es weiter. Aber da lernst du dann bereits schon wie man mit der erlangten Erfahrung kleine Apps, Webseiten oder Videospiele baut. Dort gehst du eigentlich genauso vor wie vorher und so kannst du innerhalb von Wochen erste Ergebnisse präsentieren. Du merkst also: Großes vornehmen aber beim Erfahrungen sammeln klein anfangen und sich langsam steigern.

Die besten Quellen und Ressourcen für deinen Anfang

Großes vornehmen und klein anfangen. Dieser Artikel hat dir nun umfassend erklärt, was alles dazu gehört, wenn man ernsthaft Programmieren lernen möchte. Das einzige was dir jetzt nur noch fehlt ist der für dich passende Startpunkt. Aber auch darauf sollst du eine passende Antwort erhalten.

Kostenlos oder kostenpflichtig?

Einfach gesagt, es gibt kostenlose und kostenpflichtige Angebote. Generell gilt bei kostenlosen Angeboten, zu prüfen warum denn etwas kostenlos ist. Ist es nur eine Testversion oder sonst wie eingeschränkt. Oder passiert evtl. etwas mit deinen Daten? Auf jeden Fall sollte man das kostenlose Angebot qualitativ prüfen. Wenn es einen Punkt gibt, der für kostenpflichtiges Lehrmaterial gilt, ist es die Tatsache, dass man sich verpflichtet fühlt, den Kurs zu absolvieren. Stell dir mal vor, du gibst 750 € für einen Programmierworkshop aus und beendest diesen gar nicht. Das wäre dann doch reine Geldverschwendung. Allein schon für diese Motivation lohnt es sich ein Budget zum Programmieren lernen einzuplanen. Wenn du dir noch nicht sicher bist ob du es lernen kannst oder lernen willst, dann kannst du die meisten Kurse einfach kostenlos antesten. Früher oder später wirst du ohnehin Fachbücher und weitere Kurse kaufen, denn in der Programmierung ist man mit dem Lernen nie fertig.

Die besten Quellen sind auf Englisch

Englisch war ja bereits eine Voraussetzung zum Programmieren lernen, denn die meisten Inhalte und Anleitungen sind auf Englisch. Schaut man sich zum Beispiel die Spezifikation von HTML5 an, auf Englisch. Spezifikation von Javascript, ebenfalls auf Englisch. Wenn du dich in die API von Google Maps einarbeiten willst, auch hier Englisch. Du wirst nicht drum herum kommen, im Internet nach einem Problem zu suchen oder dir das Handbuch einer Programmiersprache durchzulesen (Ja, sowas gibt es). Nur um etwas in einer Programmiersprache herauszufinden, muss man kein Tutorial machen. Mit einem Handbuch vom Hersteller kann es genauso gut funktionieren. Möchte man lernen, wie man mit dieser Sprache nun etwas baut, dann kauft man den Kurs. Außerdem gibt es im Internet eine Menge Foren und Gruppen, welche bereits viele Antworten auf technische Probleme oder Fragen beinhalten. Die Workshops wurden ja bereits angesprochen: Ein super Einstiegspunkt, aber um das selbstständige Lernen kommt man nicht drum herum.

Wo du direkt mit dem Programmieren lernen anfangen kannst

Programmieren lernen für Kinder

Für Kinder können wir zwei Dinge empfehlen. Wenn noch nicht ganz klar ist, wohin die Reise geht, dann besucht ein CoderDojo und macht dort mal ein kleines Projekt. Wenn das Interesse dann immer weiter wachsen sollte, dann wäre ein kleiner Onlinekurs empfehlenswert. Vielleicht ist die Programmiersprache Scratch in diesem kostenlosen Onlinekurs ein Punkt an dem auch zuhause loslegen kann.

Programmieren lernen für Anfänger (Jugendliche und Erwachsene)

Der kostenlose Onlinekurs für Scratch ist allgemein nicht nur für Kinder gedacht. Auch Erwachsene können damit einmal in die Programmierwelt hineinschnuppern. Möchte man vielleicht ein bisschen schneller vorankommen, dann empfiehlt sich ein Einsteigerkurs. Wenn du wirklich mit diesem Onlinekurs beginnst, dann lernst du alle notwendigen Grundlagen und startest vom kleinen Programm bis hin zu echten und benutzbaren Anwendungen durch. Auch hier gibt es einen kostenlosen Testzugang mit dem du für dich prüfen kannst ob die Art und Weise, wie man auf lerneprogrammieren.de Programmieren lernt, etwas für dich ist.

3, 2, 1, Los geht’s

Jetzt bist du dran. In den folgenden Tagen und Wochen kannst du bereits kleine Programme schreiben. Zu dem Zeitpunkt, wenn du begonnen hast zu programmieren, dann kannst du bald deine eigenen Ideen verwirklichen.  Wenn du es aber nicht zu schnell lernen willst, weil du dir zum Verstehen Zeit lassen möchtest, ist das auch völlig verständlich. Hauptsache du legst los. JETZT.

programmieren lernen warum alle mit hallo welt anfangen

Richtig programmieren lernen: Warum alle Tutorials und Kurse mit Hallo Welt anfangen und worauf du achten solltest

programmieren lernen warum alle mit hallo welt anfangenEs gibt eine so große Informationsmenge im Internet zum Programmieren lernen, dass man als Anfänger oft nicht weiß, welches von den ganzen Tutorials, Kursen und Büchern man eigentlich nehmen soll. Wenn Programmieren lernen doch so einfach ist, wieso gibt es dann so viele unterschiedliche Anbieter? Ich selbst habe in meiner Lernphase und auch heute noch (man lernt nie aus) immer wieder diverses Material zum Programmieren lernen und bestimmten Softwaretechnologien durchgearbeitet. Die inhaltlichen und qualitativen Unterschiede sind sehr breit gestreut und für mich teilweise sogar erschreckend gewesen. Meine schlimmste Erfahrung war immer die, wenn ich mit in einem Kurs oder ein Tutorial war und dann merken musste, dass ich nach dem Durcharbeiten nicht mit meinem Projekt starten konnte, weil mir noch dieses oder jenes Wissen fehlte. Zeitverschwendung und die notwendige Menge an Inhalten haben meine Lernerfahrung ziemlich erschwert. Du sollst nicht in der gleichen Falle landen, wie ich damals: Denn unter den vielen Angeboten gibt es sie, die Kurse, die perfekt auf dich und deine Bedürfnisse zugeschnitten sind.

Ich möchte dir kurz erklären, welche Unterschiede diese Angebote haben und worauf du achten solltest, wenn du überlegst ein kostenloses oder gar kostenpflichtiges Angebot in Anspruch zu nehmen. Damit sollst du möglichst das beste Lernerlebnis haben und deine Idee bald umsetzen können.

Zielgruppe – Anfänger, Umsteiger oder Techniker?

Eigentlich kein Wunder: Die Auswahl des Materials hängt erstmal von dir ab. Du solltest zunächst einmal wissen welches Vorwissen du bereits mitbringst. Hast du bereits schon mal eigenständig programmiert? Oder hast du bisher keine Berührungspunkte damit? Von deinem Vorwissen hängt bereits ab welches Lernmaterial sich für dich eignet. Denn je nach Erfahrungslevel kannst du schon eher technische Kurse belegen, welche die Grundlagen nur noch kurz durchgehen. Aber als Anfänger oder Einsteiger, kannst du dabei schon ziemlich angehangen werden.
Ist ein Kurs wirklich für Anfänger geeignet oder steht das nur auf der Verpackung? Bevor du ein Tutorial oder einen Kurs anfängst solltest du dich versichern, dass der Kurs auf deine Bedürfnisse zugeschnitten ist. Wie kann man das Überprüfen? Es sollte eine Art Schnupperkurs oder kostenloses Tutorial geben, welches einen Einblick aus dem Kurs mitbringt.  Dort solltest du bereits deinen ersten Lernerfolg feiern können, zum Beispiel in dem du bereits etwas kleines Programmieren konntest.  Bleibt dieser Lernerfolg im kostenlosen Bereich aus, solltest du kritisch hinterfragen, warum das so ist. Eventuell ist das geforderte Vorwissen zu hoch angesetzt, auch wenn „Für Anfänger“ und „Programmieren lernen“ dran steht. Gibt es kein kostenloses Lernmaterial vorab? Bevor du da die Katze im Sack kaufst, gebe ich dir folgenden Tipp: Schau doch mal in die Kursübersicht des Materials. Wenigstens das sollte man vorher einsehen können, ohne dass man sich registrieren muss. Dort wirst du eventuell Begriffe sehen, mit denen du nichts anfangen kannst. Werden diese Begriffe kurz erläutert? Oder ist es eine reine Auflistung? Du solltest zumindest etwas mit den Begriffen und Erläuterungen etwas anfangen können. Falls du gar nichts mit der Übersicht anfangen kannst solltest du überlegen, ob du bereits genug Vorwissen hast. Die Konsequenz ist im schlimmsten Fall, dass du die gezeigten Beispiele einfach nur abtippst, anstatt diese zu verstehen. Auf diese Art kann es sehr lange dauern Programmieren zu lernen, denn du lernst nicht, wie du die Grundlagen auf eigenen Problemlösungen anwenden kannst.

 

Warum alle Tutorials mit Hallo-Welt anfangen und was du erwarten solltest.

Mein Lieblingsbeispiel, das „Hallo Welt“-Programm möchte ich dir kurz beschreiben, denn in fast jedem Kurs und Tutorial findet man dieses Start-Programm. Wenn du ein Hallo-Welt-Programm schreibst und ausführst, dann macht dieses nicht mehr als „Hallo Welt“ auf dem Monitor auszugeben. Dieses Programm zeigt dir eigentlich NUR, dass alle deine Programme zum Programmieren und Entwickeln ordnungsgemäß funktionieren. Wenn dein Hallo Welt-Programm funktioniert, dann fängt das Programmieren lernen erst an. Ich vergleiche das mal kurz mit dem Autofahren lernen in der Fahrschule. Wenn du das erste Mal in einem Auto sitzt und den Motor startest, ist das quasi dein „Hallo Welt“-Programm. Du startest den Motor und das Auto ist bereit zum losfahren. Nur weil du den Motor starten kannst, heißt das noch lange nicht, dass du nun im Straßenverkehr und mit der restlichen Technik des Autos  klarkommen wirst. Ein Kurs sollte dir eigentlich im Vorfeld (also im Idealfall schon kostenlos), eine Anleitung geben, wie du die Voraussetzungen schaffst um deinen Computer startklar zum Programmieren zu machen.
Dazu kommt noch eine weitere Komponente, denn spätestens dort musst du dich für eine Programmiersprache entscheiden und ich sage es direkt: Es gibt keine beste und einfachste Programmiersprache. Die heutigen modernen eingesetzten Programmiersprachen basieren auf denselben Prinzipien und Grundlagen. Es gibt definitiv Unterschiede, aber je nach Vorwissen, sind diese noch nicht wichtig für dich. Wenn du von 0 an startest, willst du erstmal die Grundlagen verstehen bevor du dich mit den Details auseinandersetzt. Wenn es also um die Auswahl der Programmiersprache und damit letztendlich auch um den Kurs geht, kannst du darauf achten, wie einfach es ist, dein Hallo Welt Programm startklar zu machen.
Jede Programmiersprache hat ihren eigenen Einsatzzweck, das heißt du wählst die Programmiersprache danach was du nach dem Lernen programmieren willst. Ideal ist, wenn die erste Programmiersprache möglichst für viele Einsatzzwecke verwendet werden kann, denn dann kannst du viele Erfahrungen mit deiner ersten gelernten Sprache machen und bekommst schon viele Ergebnisse damit. Irgendwann stößt du definitiv an die Grenzen der ersten Programmiersprache und musst irgendwann auf eine andere Programmiersprache wechseln. Wenn man mit der ersten Programmiersprache allerdings bereits sehr viel programmieren kann, kannst du deinen Umstieg verzögern.  Und damit wären wir beim nächsten Thema: Die Dauer zum Programmieren lernen, ich gebe dir mal einen Satz zum kritischen Hinterfragen: Von 0 zum Profi in 30 Tagen. Egal ob es hier um Programmieren oder etwas anderes geht, ist es realistisch für dich? Sicherlich kann man in 30 Tagen viele Erfahrungen machen und sehr viel lernen. Aber wenn jeder in 30 Tagen zum Profi werden kann, würden Unternehmen heute Probleme haben um professionelle Programmierer zu finden? In 30 Tagen wird man nicht zum Profi-Software Entwickler, selbst in 300 Tagen würde ich das bezweifeln. Aber das schöne ist, je nachdem was du mit dem Programmieren anfangen willst, musst du gar kein Profi werden. Die Grundlagen zu erlernen und anwenden zu können ist sicherlich in ein paar Wochen möglich, die tatsächliche Dauer hängt aber unter anderen von deiner eigenen Lerngeschwindigkeit ab. Also Vorsicht bei Zeitangaben in Programmierkursen, diese sind lediglich eine Zeitschätzung und können gewaltig daneben liegen.
Zu all diesen Punkten kommt noch die eigene Erwartungshaltung dazu. Du lernst programmieren, weil du eine bestimmte Idee im Kopf hast, die du gerne umsetzen möchtest. Oder du möchtest die Technik hinter Software verstehen. Egal welche Motivation du hast, du willst am Ende eines Kurses ein konkretes Ergebnis sehen. Wenn du Programmieren lernen willst, kannst du nicht erwarten, nach einem Kurs oder Tutorial ALLES über das Programmieren zu wissen. Dafür gibt es ganze Studiengänge. Aus dem Grund solltest du ganz gründlich prüfen, welches konkrete Ergebnis du nach einem Kurs/Tutorial erwarten kannst. Insbesondere bevor du Geld ausgibst oder viele Arbeitsstunden investierst.

Programmieren lernen – Was ist das konkrete Lernziel?

Im Abschnitt vorher habe ich es bereits angesprochen. Programmieren ist zu komplex, das man es mit einem Kurs vollumfänglich verstehen kann. Man muss sich auf ein Thema konzentrieren und dabei hilft es sich den Weg so einfach wie nur möglich zu machen. Das erste was hilft ist die eigene Idee zu nehmen. Du verfolgst ein bestimmtes Ziel welches du mit dem Programmieren erreichen willst. Nur wenige Leute lernen Programmieren, weil sie sich für das Programmieren selbst interessieren. Das Programmieren ist nur Mittel zum Zweck, auch wenn es ziemlich interessant und spannend sein kann. Das Lernziel sollte sein, der Umsetzung deiner Idee näher zu kommen und das so spezifisch wie es nur geht. Wenn du ein Videospiel schreiben willst, solltest du im Kurs nach Erlernen der Grundlagen ein Videospiel schreiben können. Dir sollte nicht nur das Programmieren an sich beigebracht werden, sondern wie du es einsetzt um deine Idee umsetzen zu können. Was bringt es dir, wenn du weißt wie man einen Hammer benutzt, aber ihn nicht einsetzen kannst, weil du nicht weißt wie man ein Haus baut? Wie kannst du prüfen, ob nun der Kurs, der dir gefällt, dich näher an dein Ziel bringt? Wenn es nicht bereits in der Kursbeschreibung steht, dann kontaktiere einfach denjenigen, der den Kurs zu Verfügung stellt. Frage einfach nach ob man nach dem Kurs  x oder y umsetzen kann. Du hast dann eine belastbare Aussage. Leider gibt es leere Versprechungen bei Kursen, denn „Programmieren lernen“ ist so breit, dass man das quasi auf jedes Buch, Video und Tutorial einfach draufschreiben kann. Programmieren lernen als Versprechung, reicht nicht aus, du solltest vorher wissen was du konkret lernen wirst. Einfache Faustregel: Ist das Versprechen realistisch? Wenn dir ein Tutorial verspricht: „Programmieren lernen und das nächste Facebook bauen“ solltest du hinterfragen ob das tatsächlich realistisch ist.

Die Kunst, Programmieren zu lehren

Das Schreiben von Computerprogrammen unterscheidet sich ganz enorm vom davon, wie man jemanden beibringt Computerprogramme zu Schreiben. Das ein Programmierer noch lange kein guter Programmierlehrer sein muss, darauf gehe ich später nochmal ein. Worum es hier geht, ist die Art und Weise wie der Kursinhalt gestaltet ist. Da du ja bereits eine kostenlose Vorschau des Tutorials zur Verfügung hast, kannst du schnell erkennen wie die Erklärungen der teilweise komplexen Zusammenhänge gestaltet sind. Siehst du von Anfang nur den Bildschirm des Lehrers, könnte es eventuell etwas schwierig werden, die theoretischen Zusammenhänge zu verstehen. Nur durch Zeigen wie man eine Software installiert und dort etwas vorgegebenen eintippt ist wie, ein IKEA-Regal mit Anleitung zusammenzubauen. Das eine Regal wirst du definitiv zusammengebaut bekommen, du hast auch noch die Möglichkeit minimale Anpassungen zu machen. Aber wenn du im Anschluss nur lediglich Holz, Schrauben, eine Säge und einen Schraubendreher zur Verfügung hast,  bist du direkt aufgeschmissen und weißt nicht wo du anfangen sollst. Zum Programmieren gehört nicht alleine das Eintippen von Code in den Computer. Der Großteil der Arbeit findet  in deinem Kopf und auf dem Papier statt. Das solltest du in einem Kurs lernen können, die abstrakten Abläufe und Gedankengänge um mittels Programmiersprache zum Ziel zu kommen. Dazu gehört, dass Erklärungen nicht ausschließlich innerhalb von Programmquelltexten durchgeführt werden, denn dann wird vorausgesetzt, dass du diese Gedankengänge bereits verinnerlicht hast. Du wirst ausserdem schnell merken,  ob die Erklärungen technisch sind, also viele Fachwörter beinhalten, die du noch nicht kennst. Besonders am Anfang ist es schwierig mit Fachwörtern zu arbeiten, da man sich auf viel zu viele Dinge konzentrieren muss. Ein guter Lehrer kommt ohne Fachwörter aus und erklärt dir komplexe Zusammenhänge an bildlichen, für den Anfänger gut nachvollziehbaren, Beispielen. Erst dann wird in die Technik gewechselt. Merke: Erklärungen mit einfachen Beispielen. Nur anhand des Beispiels wirst du natürlich noch nicht Programmieren können. Jetzt ist es wichtig das Wissen in die technische Ebene umzuwandeln. Nun wird dasselbe nochmal anhand der Technik erklärt und es wird ein Praxisbeispiel gezeigt. Du solltest beim Programmieren einen AHA-Moment erleben. Merke: Programmieren nach der Erklärung mit Praxisbeispielen.
Wenn du in einem Buch oder Kurs lediglich, den Code nur abtippen musst, dann hättest du dir den Code auch einfach herunterladen können. Der Effekt wäre derselbe, man kann so auch Programmieren lernen aber es dauert wesentlich länger. Es gibt Programmierer, die das sogar bevorzugen, aber zu dem Punkt kommen wir beim nächsten Abschnitt.

Wie lernst du gerne? Das richtige Lehrmaterial auswählen

Während jemand gerne mit Büchern lernt, lernt der andere lieber mit Videos. Es gibt also unterschiedliche Lerntypen. Umso wichtiger ist es, das für dich passende Lehrmaterial auszuwählen. Beim Programmieren lernen ist es allerdings nicht mit einem Buch oder einem Video getan. Beim Programmieren lernen gibt es verschiedene Bereiche, die manchmal einen Wechsel des Lehrmaterials erfordern. Vielleicht schaust du dir zwar gerne Erklär-Videos an, aber möchtest dennoch beim Bearbeiten einer Aufgabe nochmal in den Text schauen. Also was sollte ein guter Kurs an Material zur Verfügung stellen damit du optimal lernen kannst? Es sollte anfangen mit einem Lernprogramm, welches dich interaktiv an bestimmte Themen im Programmieren heranführt. Es sollte genügend Beispiele enthalten und dich zum Mitarbeiten anregen. Dazu sollte das Lernprogramm und die Themen per Video und Skript erläutert werden. So hast du zumindest schonmal eine gute Mischung. Die Videos und Skripte sollten mittels Text, Illustrationen und Animationen die Themen vermitteln. Damit du das gelernte direkt anwenden und auch überprüfen kannst sind Aufgaben und dazugehörige Lösungen unbedingt notwendig. Mit Aufgaben sind allerdings keine Abtipp-Arbeiten gemeint sondern, Mitmach- und Mitdenk Übungen, in denen man tatsächliche Probleme lösen muss. Irgendwann möchtest du allerdings das Gelernte in die Praxis umsetzen und benötigst dafür Beispielprogramme und Vorlagen zum Loslegen.  Damit du nicht nach dem Kurs irgendwo stecken bleibst, sind weiterführende Informationen und Links zwingend notwendig.  So eine Mischung führt bei jedem Lernenden zum optimalen Erfolg, denn du benutzt nur das was du selbst zum Lernen benötigst aber hast die Möglichkeit zu wechseln, wenn es notwendig ist. Liefert dir ein Kurs so eine qualitative Mischung an Inhalten, greif zu.

Wer ist dein Lehrer und Meister?

Bevor man sich von jemandem Programmieren beibringen lässt, sollte man einmal prüfen, wer den eigentlich dort das Material erstellt hat. Jeder kann behaupten, dass er dir Programmieren beibringen kann, aber kann er es wirklich? Ein Beispiel: Wenn du Auto fahren kannst, bist du in der Lage jemanden anderen optimal Auto fahren beizubringen? Vielleicht wird der eine oder andere Versuch klappen. Diejenigen, die sich darauf spezialisiert haben und Wert darauf legen, dass du die Programmiergrundlagen wirklich verstehst, werden dir eher ein Thema verständlich beibringen können. Wie kannst du das Überprüfen? Eine einfache Internetrecherche klärt schnell auf: Wie lange und wieviel Erfahrung hat der Anbieter in der Programmierwelt? Gibt es Referenzen oder kann man öffentliche Profile über den Anbieter finden? Was macht  der Anbieter hauptberuflich, konzentriert er sich nur auf ein Thema oder gibt es auch noch andere Bereiche ausser dem Programmieren? Je nachdem kann das ein Vorteil oder Nachteil sein. Ein weiterer Punkt zur Überprüfung ist, wieviel Material stellt der Anbieter neben seinem Tutorial, Kurs oder Buch zur Verfügung? Bringt dich bereits dieses Material weiter und hilft dir auf deinem Weg? Über einen Blog, Facebook-Page oder einen Youtube-Kanal kannst du übrigens auch schnell rausfinden, ob der Anbieter bereit ist Support zu geben. Denn das ist ein wirklich wichtiger Punkt: Steckst du einmal beim Lernen fest und kommst nicht mehr weiter, solltest du den Anbieter irgendwie kontaktieren können und um Support bitten. Das ist fast noch viel mehr wert als das Material selbst. Der Support kann von E-Mail über Skype und WhatsApp laufen, du solltest den Weg dafür bestimmen können.
Wenn du gar nichts über den Anbieter finden kannst außer das Lehrmaterial selbst und es auch sonst keine auffindbaren Aktivitäten ausser Werbung zu finden sind ist Vorsicht geboten. Hier könnte eventuell nicht dein Lernerfolg im Fokus stehen.

Was kostet ein guter Kurs? Oder kann man es kostenlos lernen?

Hierüber streiten sich alle Programmierer bis heute und wahrscheinlich bis in alle Ewigkeit. Meine Erfahrung ist, wenn man genug Vorwissen hat, kann man sich vieles mit kostenlosen Inhalten erarbeiten. Merkt man dann aber, dass doch nicht genug Grundwissen vorhanden ist, fängt man wieder  von vorne an und hat im schlimmsten Fall ein paar Stunden verschwendet. Ausserdem habe ich kein kostenloses Material gefunden, welches dir die absoluten Grundlagen erklärt, es war immer notwendig noch ein weiteres Buch oder ähnlich dazuzukaufen. Nichts ist wirklich kostenlos, denn hinter kostenlosen Inhalten, verbirgt sich immer eine bestimmte Absicht des Anbieters. Das können verschiedene sein: Werbung, Marketing, o.ä. Du musst die finden, die bereit sind dir kostenlos zu helfen. Selbst bei angeblichen kostenlosen Tutorials, wird Werbung gezeigt. Das ist erstmal nicht schlimm, solange es nicht mehr Werbung als Inhalt gibt.  Du kannst das über die Anbieter-Webseite überprüfen: Wird dort übermäßig viel Werbung gezeigt oder sind die Inhalte nicht aussagekräftig? Bei kostenlosen Inhalten, weiß man nie wie weit man eigentlich kommt und wie hoch die Qualität des Inhaltes ist.
Dann gibt es z.B. Kurse und Bücher, die dich einmalig etwas kosten aber dafür quasi ein Komplettpaket sind. Wie  oben beim Abschnitt Material erwähnt, sollte die Mischung der Inhalte gut sein und da kann so ein Kurs schnell mal etwas teuerer werden. Hier hast du die Entscheidung zwischen zielgerichtetem qualitativ hohem und schnellem Lernen gegenüber fehlerbehafteten langsamen aber kostenlosen Lernen.
Für den schmaleren Geldbeutel gibt es Angebote bei denen man monatlich einen festen Betrag bezahlt und solange Zugriff auf die Inhalte hat wie man die monatliche Gebührt zahlt. Meistens ist dies etwas teuerer als ein Einmalpreis und du hast den Nachteil, dass du mehr zahlst je länger du brauchst. Dafür haben diese Anbieter ein sehr breites Themenspektrum aus dem du wählen kannst.
Prinzipiell kann man sagen, dass man bei kostenlosen Angeboten potentiell länger braucht um ans Ziel zu kommen. Man braucht aber auch kein Vermögen in Live-Seminare investieren, wenn man nur die Grundlagen erlernen will. Wenn man Qualität und eine Erfolgsgarantie haben will, sollte man lieber etwas mehr Geld in die Hand nehmen. Ein paar Euro mehr und du bist schneller am Ziel. Das ist dir zu viel Risiko, weil du nicht weißt ob du es schaffen kannst? Worauf du bei kostenpflichtigen Kursen achten solltest, ist eine Geld-zurück-Regelung. Kannst du dein Geld zurückzuverlangen, wenn dir der Kurs nicht gefällt oder du es mit dem Programmieren einfach nicht hinbekommst? Wieviel Wochen hast du Zeit um das Geld zurückzufordern? Wenn du dir unsicher bist, ob du das Programmieren lernen kannst, sollte dieser Zeitraum mindestens 6 Monate betragen. Nur so kannst du dir sicher sein, etwas zu kaufen was dir auch tatsächlich nutzt.  Sollte etwas nicht passen und sogar der Support versagen, bleibst du wenigstens nicht auf deinem Geld sitzen.

 

Fazit – Checkliste für die Auswahl deines Lehrmaterials

Den richtigen Kurs zu finden ist nicht einfach, es gibt zu viele Angebote für die verschiedensten Bedürfnisse. Hier nochmal einmal kurz zusammengefasst die wichtigsten Punkte als Checkliste:

  • Entspricht der Inhalt deinem Vorwissen? Prüfe mittels Kursübersicht und kostenlosen Material
  • Wie einfach ist es mit dem Inhalt zu starten? Gibt es einen kostenlosen Startpunkt bei dem man direkt loslegen kann?
  • Passt die Programmiersprache zu deinem Vorhaben? Mein Tipp: Am Anfang lieber eine universellere Programmiersprache lernen (z.B. Javascript)
  • Ist die Dauer für das Lernvorhaben realistisch? Wird mit einer kurzen Zeit gelockt?
  • Welches konkrete Programm wirst du umsetzen und kann du danach mit eigenen Sachen weitermachen?
  • Wie wird das Wissen vermittelt? Werden Fachwörter anschaulich und vereinfacht erklärt?
  • Kann man das Gelernte auch in der Praxis einsetzen? Wenn wie ist der Lernweg von Theorie bis zur Praxis?
  • Wie ist das Kursmaterial aufgebaut? Gibt es verschiedene Möglichkeiten die Themen zu erlernen?
  • Gibt es Beispielprogramme und Programmvorlagen, mit denen man nachher weitermachen kann?
  • Wieviel Erfahrung hat dein Lehrer und welche Referenzen beweisen, dass er das Programmieren lehren kann? Gibt es Support falls du nicht mehr weiterkommst?

Die Frage mit dem Geld bleibt dir überlassen, aber wenn du darüber zweifelst und du dir vielleicht nicht alle Punkte selbst beantworten kannst, dann schicke diese Fragen doch an den Kursanbieter, dieser sollte dir diese Fragen beantworten können.  Damit bist du auf jeden Fall auf der sicheren Seite und deinem Vorhaben steht nichts mehr im Weg. Hast du bereits Erfahrungen mit „Programmieren lernen“-Angeboten? Was hat dich gestört und wie wünscht du dir Programmieren zu lernen?

Software Entwickler werden

Was muss ich tun, um Software Entwickler zu werden?

Software Entwickler werden

Um Software Entwickler zu werden, vorab zwei Sätze damit du weißt worum es geht:

  1. Es gibt verschiedene Möglichkeiten um Programmierer zu werden.
  2. Nein, ein Studium ist nicht die einzige Möglichkeit um Programmierer zu werden.
  3. Man muss KEIN Mathegenie sein, um als Software Entwickler arbeiten zu können.

Zum einen kann man ohne Probleme sich alle fachlichen Bereichen selbst aneignen und von zuhause aus Programmieren lernen. Möchte man allerdings als Software Entwickler arbeiten und möchte für andere Unternehmen arbeiten, muss man denen schon irgendwie nachweisen können, dass man auch wirklich Programmieren kann. Im Internet wird bei dieser Frage immer nur „Studium!“ geschriehen, dabei gibt es so viele weitere und einfachere Wege. Ich möchte hier diese möglichen Wege vorstellen, damit du dich gut orientieren kannst.

Der Beruf „Software Entwickler“

Als Software Entwickler zu arbeiten kann auf die verschiedensten Arten und Weisen erfolgen. Auch die Tätigkeiten eines Software Entwickler können sehr vielfältig sein. Dies hängt von dem Auftrag ab und von dem Unternehmen welches diese Aufträge vergibt. Man muss unterscheiden zwischen Entwicklern die wirklich alles während einer Softwareentwicklung machen (Mit Kunden sprechen, Designs entwerfen, Programmieren, zusammen mit dem Kunden testen und sogar Support) und den Entwicklern, die nur Teilbereich durchführen, z.B. nur Fehlerbehebung und Test. Dann gibt es noch einen Unterschied in der Art der Anstellung: Software Entwickler können bei einem Unternehmen fest angestellt sein oder können als Freiberufler bzw. sogenannte Freelancer arbeiten. Als Freelancer sind die Entwickler selbstständig und müssen sich Kunden suchen, für diese sie dann Software schreiben. Welchen Schritt man hier wagt ist eine Frage des Risikos. Der eine möchte lieber Sicherheit als Angestellter in einem Unternehmen genießen und der andere Programmierer bevorzugt die Freiheit mit dem dazu verbundenen Risiko. Ein weitere wichtiger Punkt ist der thematische Schwerpunkt des Programmierers, also was kann er programmieren? Ist er Webentwickler oder kann er Apps schreiben? Schreibt er nur kleine Skripte oder ist er in der Lage ganze Spiele zu verwirklichen? Hieran erkennt man schnell das Niveau eines Entwicklers und kann auch einschätzen ob er sich in einen anderen Themenschwerpunkt einarbeiten kann.

Die Möglichen Wege

Unabhängig davon ob man als Angestellter oder Freiberufler arbeitet, muss man seinem Auftraggeber irgendwie glaubwürdig machen, dass man die Software Programmierung auch wirklich beherrscht. Und dies kann auf die verschiedensten Arten geschehen. Von Vorteil ist es, wenn man sich persönlich dafür interessiert und sich zuhause mit dem Thema beschäftigt. Jeder Unternehmer(Arbeit- oder Auftraggeber) wird sofort bemerken, dass man mit persönlichen Interesse an der Sache arbeitet. Das gibt Pluspunkte. Kann man dann auch noch auf fertige Arbeiten präsentieren, die sich der Unternehmer im Internet frei anschauen kann, sieht der Unternehmer immerhin schon mal, dass man definitiv Programme entwickeln kann. Dennoch ist es von Vorteil, wenn man auch sein theoretisches Wissen mittels Zeugnissen oder Zertifikaten nachweisen kann. Somit sieht der Unternehmer: Die Praxis hab ich gesehen, die Theorie versteht der Kandidat auch. Den können wir schonmal zum Gespräch einladen. Aber wie erhält man solche Nachweise? Es gibt hier 3 verschiedene Wege, die in Frage kommen. Wobei die dritte Möglichkeit dem bisherigen Weg sehr nahe kommt. Zum einen kann man das ganz große und wissenschaftliche Faß aufmachen und an die Universität gehen. Es gibt die verschiedensten Studiengänge zum Thema Informatik. Möchte man mehr in die IT, also in die Informationstechnik von Unternehmen hinein, kann man den Weg der Ausbildung wählen. Hat man vielleicht bereits eine Ausbildung abgeschlossen oder möchte einfach quer und unkompliziert einsteigen, dann gibt es Kurse im Internet, die einem eine Urkunde ausstellen. Unabhängig welchen Weg man wählt, es gibt ein paar Grundvoraussetzung um überhaupt einen Weg einschlagen zu können.

Die Voraussetzung

Um als Entwickler durchzustarten, muss man als aller erstes Programmieren lernen. Der Entwicklerberuf besteht nicht immer nur aus der Programmierung, allerdings ist dieses Wissen der erste Grundstein, den man setzen sollte. Die Bedingungen um die Programmierung zu erlernen sind ebenfalls überschaubar: Zunächst sollte man Rechnen, Schreiben und Lesen können. Der Umgang mit einem Computer sollte auch nicht fremd sein. Wenn du weißt wie man Programme installiert und Dateien mit einem Texteditor öffnen kannst, hast du schon mal die größten Voraussetzungen erfüllt. Wenn du jetzt noch es schaffst einem Kumpel eine Wegbeschreibung (z.B. von dir zuhause bis zu nächsten Bushaltestelle) aufzuschreiben, dann bist du bereits mittendrin. Die Voraussetzungen für Universität oder Ausbildung sind natürlich höher gesetzt. Um da hinein zu kommen musst du definitiv den richtigen Schulabschluss erlangen.

Ausbildung in einem Unternehmen

Eine Ausbildung zum Software Entwickler nennt sich: Fachinformatiker für Anwendungsentwicklung. Dies ist ein kaufmännischer Beruf, der die notwendigen IT-Anteile besitzt. Das schöne an der Ausbildung ist, sie ist dual aufgebaut. Das bedeutet, die Hälfte der Zeit geht man in die Arbeit und die andere Hälfte geht man in die Berufsschule. Somit verdient man bereits etwas Geld und lernt dennoch die wichtige Theorie. Nach 3 Jahren Ausbildung (je nach Leistung kann man sogar verkürzen) hat man einen IHK-Abschluss in der Tasche. Die 3 Jahre werden einem zwar nicht offiziell als Berufserfahrung angerechnet, aber man kann auch nach der Ausbildung durch Arbeitsproben beweisen, dass man bereits viel Erfahrung gesammelt hat. Wenn ihr mich fragt, ist dies der Weg des geringsten Widerstands.

Studium an einer Universität

Möchte man noch nicht so wirklich arbeiten und lieber noch an eigenen Projekten arbeiten, bietet sich ein Studium der Informatik an. Hier gibt es bereits viele Bereiche auf die man sich in späteren Semestern spezialisieren kann, z.B. Wirtschaftsinformatik, Bioinformatik, Medieninformatik oder Eingebettete Systeme. Hier ist ein wichtig: Du musst den Willen haben, mindestens 3 Jahre (bis zum Bachelorabschluss) intensives Lernen durchzumachen. Das Programmieren dabei wird je nach Universität entweder nur eine Übung (1 Woche) sein oder kann auch wirklich mit Projektarbeiten durchgeführt werden. In jeden Fall steht hier fest: Neben der Theorie zur Informatik muss du dir die Praxis der Programmierung selbst beibringen. Wenn man die richtigen Studienkollegen hat, kann das sicherlich sehr viel Spass machen und hier können ganz neue Projekte entstehen, so dass man evtl. nach dem Studium sein eigenes Softwareunternehmen aufgebaut hat oder gerade aufbaut.

Eigenregie von zuhause aus

Je nach Durchhaltevermögen und Fähigkeit sich selbst Dinge beizubringen, kann dies der einfachste oder der schwerste Weg sein. Im Internet (und natürlich auch hier) gibt es unzählige Möglichkeiten sich das notwendige Fachwissen anzueignen. Schlägt man diesen Weg ein und möchte damit professionell werden, gilt es folgendes zu beachten: Man benötigt viel Übung, also sollte man so viele kleine Projekte durchführen und auch im Internet präsentieren, wie nur möglich. Dann sollte man definitiv den Weg als Freiberufler in Erwägung ziehen, dies muss aber kein dauerhafter Zustand bleiben. Als Freiberufler kann man schnell herausfinden ob man bereits genug Fachwissen und Projekte vorzuweisen hat, dass ein Auftraggeber einem einen Auftrag gibt. Weiterhin kann man sich in OpenSource Projekten engagieren. Nehmen wir als Beispiel WordPress: Du hast die Webentwicklung gelernt und schaust in der Programmcode von WordPress. Wenn du den Code so gut kennst, dass du Themes oder Plugins dafür schreiben kannst, dann kannst du diese Ergebnisse präsentieren und schon bist du WordPress Entwickler. Ich kann es nur wiederholen: Was hier zählt ist Übung und viel Durchhaltevermögen.

Fazit

Du siehst, es gibt verschiedene Wege, und alle diese sind auf eine andere Art und Weise interessant. Welchen Weg man wählt kann ich hier nicht empfehlen. Ich selbst habe den Ausbildungsweg eingeschlagen und arbeite seit 2007 als Entwickler. Als letztes Entscheidungskriterium möchte ich noch etwas zum Einkommen sagen. Viele behaupten, man kann nur mit einem abgeschlossenen Studium richtig Geld verdienen. Lasst euch nicht von diesem Vorurteil verleiten. Wieviel Einkommen man selbst erhält, hängt einzig und allein von der Leistung und dem Engagement ab. Generell kann man aber sagen, wenn man heute als Software Entwickler tätig ist, dann kann man gut davon leben. Unabhängig davon welche Qualifikation man erlangt hat. Um als Software Entwickler richtig durchzustarten zu können ist im Endeffekt ein wichtig: Starte jetzt und ohne Umwege mit dem Programmieren! Alles andere ist reine Verzögerung. Am besten setzt du dich gleich hin und startest mit dem erst besten Kurs, den du finden kannst, auch wenn er Geld kostet. Dies ist eine Investition in deine Zukunft!

Wenn ihr Fragen habt, noch weitere Möglichkeiten kennt oder vielleicht selbst einen Weg bereits durchgemacht habt, denn ich hier nicht beschrieben habe, dann kommentiert doch einfach unten. Ich freue mich auf eine spannende Diskussion!