Wie man Programmierer wird: 8 Schritte, um eine App von Grund auf zu entwickeln

Intro

„Wie lerne ich am besten programmieren?“

„Wie werde ich Programmierer“

„Wie baue ich eine App“

Diese Fragen werden täglich von Anfängern gestellt, die unbedingt programmieren lernen wollen. Zweifellos haben Sie bereits etwas in dieser Richtung gegoogelt und genug Artikel/Antworten gelesen, so dass Sie die „Standard“-Ratschläge satt haben.

Wenn Sie das nicht getan haben, oder wenn Sie irgendwie denken, dass ich etwas Neues zu sagen habe und es trotzdem hören wollen (was ich nicht tue), hier ist eine kurze und ziemlich sinnlose Antwort (ich werde ihr einen SEO-freundlichen Klick-Köder-Namen geben: „3 Schritte, um ein Programmierer zu werden“):

Schritt 1: Wähle eine Sprache

Schritt 2: Lerne die Sprache

Schritt 3: Baue etwas und lerne weiter

Hey, wirf nicht mit Schuhen nach mir. So gerne ich auch sagen würde, dass es eine allgemeingültige Methode gibt, um zu lernen, wie man programmiert, so gibt es sie doch nicht. (Lassen Sie mich einen Schritt 0 hinzufügen: Akzeptieren Sie, dass jeder Mensch anders lernt).

Unzählige detailliertere Antworten, die die Schritte 1 & 2 näher erläutern, gibt es bereits im Internet, aber die allgemeine Antwort auf Schritt 1 ist, Python oder Ruby als erste Sprache zu lernen (machen Sie sich nicht zu viele Gedanken über die Sprache, Sie werden nie anfangen). Wenn Sie Lernressourcen benötigen, haben wir einige Leitfäden zusammengestellt, die Sie sich ansehen können:

  • Python lernen
  • Ruby on Rails lernen
  • JavaScript lernen (Lernen Sie immer JavaScript, bevor Sie Frameworks wie AngularJS oder React lernen)
  • Lerne iOS-Entwicklung
  • Lerne Android-Entwicklung

Manch einer von euch wird an diesem Punkt ankommen:

Wenn du diesen Moment hast, in dem du ein verlorenes Schaf geworden bist, flippe nicht aus, denn du bist nicht allein.

So ziemlich jedes Mal, wenn du fragst, „wie werde ich Programmierer“, werden dir Entwickler sagen, dass du Dinge bauen sollst, denn durch das Bauen von Dingen kannst du dich als Programmierer verbessern und es ist der beste Weg, um zu lernen, und so weiter und so fort.

Aber wie baut man eine eigene App?

Du kannst immer bestehenden Tutorials folgen, wie man einen Twitter/Pinterest/Instagram/etc-Klon mit der Sprache & der Technologie erstellt, die du verwendest, aber bedenke, dass die Autoren dieser Tutorials die meiste Arbeit für dich erledigt haben und du nur den Code und ihre Logik verstehen musst.

Dieser Artikel wird versuchen, Ihnen einen Überblick zu geben, dem Sie folgen können, wenn Sie Ihre eigene Anwendung von Grund auf neu erstellen.

Voraussetzungen

Die meisten Anwendungen benötigen eine Datenbank, wenn Sie also Ihre eigene Anwendung selbst erstellen (ergo das Front- und Backend), müssen Sie wahrscheinlich eine Datenbankabfragesprache (normalerweise SQL) beherrschen. Es sei denn, du baust etwas, das nicht mit einer Datenbank interagieren muss, wie z. B. Flappy Bird.

Wenn du eine Web-App erstellen willst, musst du außerdem einige grundlegende DevOps-Kenntnisse haben, um deine Entwicklungsumgebung/Server einzurichten und die App tatsächlich starten zu können.

Wenn du nur ein Front-End-Webentwickler sein willst, kannst du deine HTML-, CSS- und JavaScript-Kenntnisse bei Codepen oder JSfiddle verbessern. Wenn du nur JavaScript kennst und keine weitere Sprache lernen willst, kannst du Node.js ausprobieren, da es eine JavaScript-Plattform für die Back-End-Entwicklung ist. (Du kannst auch MongoDB als Datenbank verwenden, da es ebenfalls auf JavaScript basiert.)

Ansonsten sollten Sie auch eine der folgenden Sprachen (und in der Regel ein Web-Framework) beherrschen, wenn Sie eine komplette Webanwendung erstellen wollen:

  • Ruby
  • Python
  • PHP
  • Java
  • Go
  • C#

Wenn du Spiele entwickeln willst, kannst du in Erwägung ziehen, Lua zu lernen, obwohl C# dank der Unity-3D-Spiele-Engine und ihrer großen Community ebenfalls eine sehr gute Wahl ist. Für die Entwicklung nativer mobiler Apps müssen Sie Swift/Objective-C für die iOS-Entwicklung und Java für die Android-Entwicklung beherrschen.

Schnell und unkompliziert können Sie eine App von Grund auf entwickeln.

Schritt 0: Verstehen Sie sich selbst

Zuallererst sollten Sie etwas entwickeln, das Sie mit Leidenschaft betreiben. Interesse ist der beste Weg, um sich selbst zu motivieren, also fragen Sie sich, was Sie interessiert oder was Sie gerne tun.

Zum Beispiel:

  • Welche Apps benutzen Sie am liebsten?
  • Auf welche Apps kannst du nicht verzichten?
  • Spielst du gerne Spiele?
  • Gestaltest du gerne Dinge?
  • Und so weiter.

Identifiziere deine Interessen, damit du an etwas arbeitest, das dir Spaß macht. Auf diese Weise ist es weniger wahrscheinlich, dass du auf halbem Weg aufgibst.

Schritt 1: Wähle eine Idee

Nun, da du dich hoffentlich selbst gefunden hast, ist es an der Zeit, eine Idee zu entwickeln. Fang einfach an.

Ja…auch wenn du darüber nachdenkst, ein Spiel zu entwickeln, solltest du jetzt nicht darüber nachdenken, das nächste CounterStrike zu entwickeln, sondern darüber, wie man so einfache Spiele wie das berüchtigte Flappy Bird entwickeln kann. Hey, sieh nicht auf Flappy Bird herab─ es war eine Sensation, die Menschen auf der ganzen Welt dazu brachte, ihren inneren Masochisten zu entdecken. Aber ich schweife ab.

Ausgehend von deinen Interessen hast du also eine Idee für eine einfache App, die etwas Tolles macht. Es spielt keine Rolle, ob die App bereits existiert (es kann sogar hilfreich sein, wenn ähnliche Projekte bereits existieren).

Hier sind ein paar Hinweise, die dir helfen, Inspiration zu finden:

  • Wenn du gerne kochst, kannst du dir vielleicht vorstellen, eine App zu bauen, mit der Leute ihre selbstgemachten Rezepte vorstellen können.
  • Wenn du schon immer wissen wolltest, wie Twitter funktioniert, versuche einen super einfachen Twitter-Klon zu bauen.
  • Wenn du eine vergessliche Person bist, die sich auf Aufgabenmanager verlässt, versuche, selbst einen zu bauen.
  • Wenn du süchtig nach League of Legends bist, kannst du versuchen, Riot’s API zu durchsuchen und eine Seite zu bauen, die & Spielinformationen anzeigen kann.
  • Wenn du gerne Kartenspiele spielst, kannst du versuchen, eine einfache App zu bauen (z.B. Black Jack)
  • Wenn du eine Diät machst, kannst du versuchen, eine App zu bauen, die deinen Kalorienverbrauch protokolliert.

Und so weiter und so fort. Hier ist eine Liste mit Projektideen, falls du mehr Inspiration brauchst.

Wenn du eine Richtung hast, schreibe in einem Satz den Zweck und, falls zutreffend, die wichtigsten Zielnutzer für diese App auf.

Zum Beispiel: Eine App zur Adoption von Haustieren für Menschen, die streunende Tiere aufnehmen.

Schritt 2: Definieren Sie die Kernfunktionen

Überlegen Sie, was Ihre App können soll und listen Sie diese auf. Wenn Sie am Ende eine Reihe von Dingen auflisten, schauen Sie genauer hin und fragen Sie sich, ob diese App WIRKLICH einen Facebook-Login benötigt, um zu funktionieren? Muss sie WIRKLICH Daten in eine Cloud hochladen, um zu funktionieren?

Es ist toll, ein Traumprojekt mit fantastischen Spezifikationen zu haben, aber im Moment geht es nicht darum, etwas zu bauen, das komplett mit vielen coolen Funktionen ausgestattet ist. Denken Sie daran, dass keine Anwendung jemals vollständig ist, und alles beginnt mit einfachen Mitteln.

Versuchen Sie niemals, eine All-in-One-Anwendung zu bauen. Tun Sie das nicht. Ich habe das selbst in einer professionellen Umgebung erlebt, und das Ergebnis ist viel Schmerz und wenig Fortschritt.

Wenn Sie keinen eisernen Willen haben oder Herausforderungen wirklich lieben, werden Sie am Ende nur frustriert und entmutigt sein, wenn Ihr erstes Projekt zu schwer zu bauen ist. Du bist ein Anfänger… es geht jetzt darum, Spaß zu haben. Spaß ist der effizienteste Weg, um zu lernen.

Werfen Sie also einen Blick auf die Liste der Funktionen, die Sie erstellt haben, und wenn sie zu lang ist, fangen Sie an, Funktionen zu streichen, auf die Ihre App verzichten kann.

Erinnern Sie sich daran, dass dies Ihre Version 1 ist und Sie die Dinge einfach halten sollten. Konzentrieren Sie sich auf Dinge, die es der App ermöglichen, das zu tun, was sie tun soll – alles andere können Sie für ein anderes Projekt aufheben.

Für eine beispielhafte Liste von Kernfunktionen für einen Reddit-Klon:

  • Nutzer können einen Account erstellen
  • Nutzer können verlorene Passwörter abrufen
  • Nutzer können ihre Passwörter ändern
  • Nutzer können neue Links posten
  • Nutzer können Kommentare zu
  • Nutzer können Links kommentieren
  • Nutzer können Links hoch- oder runterstufen
  • Nutzer haben ein Profil, das ihre Geschichte/Aktivität zeigt

Die oben aufgeführten Funktionen sind die Kernfunktionen, auf die Sie sich zuerst konzentrieren sollten. Andere Funktionen wie:

  • Nutzer können Kommentare in sozialen Medien teilen
  • Nutzer können Kommentare löschen
  • Nutzer können Kommentare bearbeiten
  • Nutzer können ihr eigenes Konto löschen

Sind zweitrangig und können für Version 1.Schritt 3: Skizzieren Sie Ihre App

CC Lizenz

Nichts ist schneller als ein Stift &Papier. Inzwischen solltest du eine ziemlich genaue Vorstellung davon haben, was deine App tun soll, also skizziere das Drahtgitter deiner UI (Benutzeroberfläche). Wo sich die Schaltflächen befinden sollen, was der Zweck dieser Schaltflächen ist und so weiter.

Schreibe dir Notizen und konkretisiere, wie die App funktionieren soll. Du bist immer noch in der Brainstorming-Phase, also ändere so lange, bis du einigermaßen zufrieden bist.

Denke daran, die Dinge einfach zu halten. Wenn Sie Ihre Liste aus Schritt 2 gekürzt haben, beschränken Sie sich auf die dort aufgeführten Skizzenfunktionen – übertreiben Sie es nicht. Wenn Sie nicht anders können, dann skizzieren Sie 2 Versionen: eine Grundversion und die endgültige Version in Ihren Träumen.

Insgesamt ist dies nicht das endgültige Aussehen, sondern nur ein Schritt, der Ihnen hilft, ein besseres Verständnis für Ihre App zu bekommen.

Schritt 4: Planen Sie den UI Flow Ihrer App

Alles klar. Sie haben eine gute Vorstellung davon, wie Ihre App aussehen wird, was jedes Element tun sollte und wie Benutzer mit Ihrer App interagieren können. Jetzt ist es an der Zeit, den UI-Flow Ihrer App zu entwerfen. Das heißt, wie ein Benutzer Ihre App von Anfang bis Ende nutzen sollte. Zeichnen Sie jeden Schritt auf, den der Benutzer ausführen muss, und jedes Szenario, dem er begegnen könnte. Versuchen Sie, jeden Anwendungsfall zu berücksichtigen.

(CC-Lizenz)

Schließen Sie alle Aktionen ein, die Ihr Benutzer in dem Flussdiagramm ausführen kann. Wenn Ihre App beispielsweise erfordert, dass sich die Benutzer anmelden, wie erstellen sie dann ein Konto? Was ist, wenn der Benutzer sein Passwort vergessen hat? Was ist, wenn sie ein falsches Passwort eingegeben haben? Was sollte ein Benutzer auf jeder Schnittstelle tun können (neues Listenelement hinzufügen > speichern; bearbeiten > speichern/löschen)? Und so weiter und so fort. Das geht am schnellsten mit Stift und Papier.

Da Ihre Anwendung recht einfach sein sollte, sollte Ihr Diagramm auch nicht zu umfangreich sein.

Schritt 5: Entwurf der Datenbank

Alles klar! Nachdem Sie alle möglichen Szenarien durchgespielt haben, sehen Sie sich an, welche Art von Daten Sie aufbewahren müssen. Wenn Ihre App zum Beispiel erfordert, dass Benutzer ein Konto erstellen, müssen Sie Dinge wie den Benutzernamen, die Benutzer-ID, die E-Mail des Benutzers, das Passwort, die Bestätigung der E-Mail des Benutzers, den Zeitpunkt der Erstellung des Kontos sowie jedes Mal, wenn sich der Benutzer bei Ihrer App angemeldet hat, aufzeichnen.

Wenn Sie einen Twitter-Klon erstellen, benötigen Sie die ID des Tweets, den Inhalt des Tweets, wann der Tweet veröffentlicht/retweeted wurde, wie viele Retweets er hat und wie viele Sterne er hat. Sie müssen auch die Retweets und Sterne eines Nutzers aufzeichnen.

Sie können ein ERM-Diagramm (Entity-Relationship Model) zeichnen, um die Datenbeziehungen darzustellen.

Ein Beispiel für ein Entity-Relationship-Diagramm einer Kursauswahlseite CC-Lizenz

Wenn Sie zukünftige Funktionen planen, ist dies der richtige Zeitpunkt, um sie in Ihre Datenbank einzuplanen. Hier ist ein schöner Artikel, den Sie sich ansehen sollten, während Sie eine Datenbank entwerfen.

Fortgeschrittene

Wenn die Anwendung, die Sie planen, mit einem Server interagieren wird (z.B. wenn Sie eine Fullstack-Webanwendung bauen) oder wenn Ihre Anwendung mit einer API interagieren wird (z.B. Sie versuchen, Informationen von Yahoo! Weather abzurufen), dann ist es wahrscheinlich eine gute Idee, ein Sequenzdiagramm zu zeichnen, um eine bessere Vorstellung davon zu bekommen, wie die Prozesse ablaufen sollen.

Aus Wikipedia

Schritt 6: UX Wireframes

Okay, Sie haben das Back-End geplant. Jetzt ist es an der Zeit, Ihr Front-End zu planen.

Hoffentlich sind Sie immer noch so begeistert wie die Untergebenen oben. Sie wissen, was Sie brauchen – jetzt haben Sie eine viel bessere Vorstellung davon, wie Ihre App aussehen soll.

CC-Lizenz

Da der Mensch hauptsächlich ein visuelles Wesen ist, können Sie besser verstehen, was Sie tun sollten, wenn Sie eine visuelle Vorstellung von jeder Ansicht haben, die Sie programmieren werden. Wenn du jedoch wie ich bist und deine Zeichnung so unordentlich ist, dass du das obskure Stück … hust, Meisterwerk …, das du geschaffen hast, kaum verstehen kannst, ist es natürlich unklug, mit diesem Schritt fortzufahren, indem du deine armen künstlerischen Gehirnzellen missbrauchst.

Glücklicherweise gibt es online viele Wireframing- und Mockup-Tools, die Ihnen bei der Planung Ihres UX/UI-Flows helfen (z. B. Gliffy, Mockflow, Framebox, Wireframe.cc, Invisionapp).

Schritt 6.5 (optional): Entwerfen Sie die Benutzeroberfläche

Dies ist ein optionaler Schritt, aber wenn Sie beabsichtigen, sich auf die Front-End-Entwicklung zu spezialisieren oder wenn Sie sich so sehr darum kümmern, wie Ihre App aussehen wird, dass eine schönere App Sie zum Programmieren motivieren würde, sollten Sie auf jeden Fall fortfahren und die App entwerfen, damit all diese Wireframe-UI-Elemente durch schöner aussehende ersetzt werden können.

Wenn du gerne gestaltest, wirst du die App wahrscheinlich sowieso entwerfen, bevor du anfängst – vielleicht hast du sie ja schon in Schritt 2 entworfen.

Wenn du kein Designer bist, dir aber trotzdem wichtig ist, wie deine App aussehen wird, kannst du Elemente aus UI-Kits verwenden. Hier sind ein paar Ressourcen für UI-Elemente:
(Hinweis: Photoshop erforderlich)

UI Cloud
Graphicburger
UI Dock

Für Spiele:
Spritters Resource

Lassen Sie sich jedoch nicht zu sehr vom Aussehen der App beeinflussen. Im Moment solltest du dich auf die Funktionen der App konzentrieren.

Schritt 7: Lösungen recherchieren

Gut! Sie sind mit der Planungsphase fertig … aber wie sollen Sie das alles codieren?

Eine wichtige Fähigkeit, die Sie als Programmierer erlernen müssen, ist zu beurteilen, wann Sie etwas verwenden sollten, das ein anderer Entwickler bereits geschrieben hat, und wann Sie die Funktion selbst erstellen sollten.

Da jeder eine einzigartige App erstellt, ist nicht jeder Anwendungsfall gleich. Daher müssen Sie einschätzen, wann Sie eine vorhandene Lösung verwenden und wann Sie eine eigene entwickeln sollten, und mit zunehmender Erfahrung werden Sie darin immer besser.

Wenn Sie sich wie ein orientierungsloses Boot fühlen, das auf einem riesigen Ozean verloren gegangen ist, atmen Sie tief durch und geraten Sie nicht in Panik. Du schaffst das.

Wenn du mehr Erfahrung mit der Recherche, der Verbesserung deiner „Google-Fähigkeiten“ und dem Bau von Dingen sammelst, wirst du irgendwann den Dreh raus haben.

Lösungen ansehen

Schauen Sie sich alle Diagramme an, die Sie gezeichnet haben, sowie die Liste der Funktionen, die Sie in Schritt 2 erstellt haben.

Was sind einige Dinge, von denen Sie absolut keine Ahnung haben, wie man sie baut?

Müssen die Benutzer zum Beispiel ein Konto erstellen? Ist Ihre App auf Echtzeit-Updates angewiesen? Welche Funktionen benötigen Sie?

Meistens ist es eine gute Idee, eine bestehende Lösung für große Funktionen wie die Echtzeit-Synchronisierung (z. B. Firebase), Vernetzung/Routing (z. B. AFNetworking für iOS-Apps), Authentifizierung und UI-bezogene Komponenten (z.

Es gibt viele Online-Datenbanken, in denen Sie nach Backend-bezogenen Komponenten/Paketen/Perlen/etc. suchen können, aber Sie müssen bei der Bewertung dessen, was andere Leute geschrieben haben, vorsichtig sein – verwenden Sie sie nicht einfach blind. Sie werden hoffentlich im Moment nichts allzu Komplexes bauen, also werden Sie im Moment wahrscheinlich keine Komponenten brauchen, die andere Leute geschrieben haben.

Auf jeden Fall ist der beste Weg, um anzufangen, zu studieren, was andere Entwickler vor Ihnen getan haben und die Logik hinter ihren Entscheidungen zu lernen. GitHub ist Ihr bester Freund.

Für ein Beispiel aus dem wirklichen Leben, wie ein erfahrener Entwickler eine bestimmte Funktion recherchiert hat, können Sie sich diesen Beitrag darüber ansehen, wie der Schöpfer von Angular-Plunker die Drag-and-Drop-Direktiven von Plunker entwickelt hat.

Auswahl von Tools für den Einstieg

Wenn Sie eine Web-App bauen, können Sie sich vielleicht Yeoman ansehen, da es Ihnen helfen soll, neue Projekte schnell zu starten, indem es Ihnen bei der Einrichtung der Projektstruktur hilft.

Wenn Sie eine React-App bauen, können Sie sich auch Starter-Kits und bestehende Flux-Implementierungen ansehen. HTML5Boilerplate und Bootstrap sind beliebte Frontend-Vorlagen für Ihre App. In den meisten Fällen verwenden Boilerplates Gulp oder Grunt für die Aufgabenverwaltung.

Da Sie wahrscheinlich einige vorhandene Komponenten oder Lösungen verwenden werden, sollten Sie auch bower für die Abhängigkeitsverwaltung installieren (npm für Node.js und CocoaPods für iOS-Entwickler). Keine Sorge – meistens gibt es zu diesen Tools Tutorials, in denen Sie lernen, wie man sie installiert.

Schritt 8: Erstellen der App

Ja! Sie sind jetzt bereit, die App zu erstellen! Hier sind einige Tipps, die Sie bei der Erstellung Ihrer App beachten sollten.

Checkliste

Sie sollten sich darauf konzentrieren, die App Funktion für Funktion aufzubauen. Wenn Sie also mit einer Aufgabe wie einem Kommentarsystem noch nicht fertig sind, fangen Sie nicht plötzlich an, eine Benutzerprofilansicht zu erstellen. Mit anderen Worten: Wenn Sie zum Beispiel ein Formular erstellen, sollten Sie sowohl am Front- als auch am Back-End-Code arbeiten, bis die Funktion fertig ist.

Um den Überblick über Ihre Fortschritte zu behalten, können Sie eine To-Do-Liste der Funktionen erstellen und diese als Checkliste verwenden.

Schreiben Sie zuerst Tests

Sofern Sie keine Spiele-App erstellen, ist es eine gute Idee, zuerst einen Test für Ihre Funktion zu schreiben, bevor Sie mit der eigentlichen Programmierung der Funktion beginnen. Bugs sind unvermeidlich, aber das Testen wird Ihre Fehler und die Wahrscheinlichkeit, dass Sie fehlerhaften Code in die Produktion einbringen, erheblich reduzieren.

Zugegeben, das Schreiben von Unit-Tests kostet Zeit, und Sie fragen sich vielleicht manchmal, ob es das wert ist. Wenn Sie jedoch in der Zukunft größere Projekte planen, in denen Sie immer wieder neue Funktionen hinzufügen, kann dies mit Ihrer Anwendung passieren:

Dann kann folgendes (ist eine Übertreibung von dem, was) passieren:

Oder Gott bewahre:

Und das wären Sie, wenn Sie versuchen würden, die App zu reparieren:

…Mehr oder weniger.

Es ist also eine gute Idee, klein anzufangen und sich an die testgetriebene Entwicklung (TDD) zu gewöhnen, vor allem, wenn Sie ganz neu anfangen und etwas Einfaches bauen.

Sie stehen jetzt nicht unter Zeitdruck und haben die Mistgabel eines Projektleiters im Nacken, oder?

Tipps zu Unit-Testing-Mustern finden Sie in diesem Artikel. Ein weiterer Tipp, den Sie im Hinterkopf behalten sollten, ist, zu viele Trivialitäten zu vermeiden.

Es gibt viele Testtools, aus denen Sie wählen können, z. B. Jasmine oder Karma für JavaScript, Rspec für Ruby, PyTest für Python, PHPUnit für PHP, Quick als Alternative zu xCTest für die iOS-Entwicklung oder jedes andere Tool, das Sie für geeignet halten.

Wenn Sie eine iOS- oder Android-App entwickeln, sollten Sie sich außerdem Crashlytics ansehen.

7 Schritte, um effizient und effektiv zu debuggen

Verwenden Sie Git

Git ist ein Versionskontrollsystem und ein vollwertiges Repository mit vollständiger Historie und vollständigen Versionsverfolgungsfunktionen. Es ist eine gute Idee, mit der Verwendung von Git zu beginnen, während Sie Ihre erste Anwendung erstellen. Auf diese Weise können Sie Ihre Fehler leicht rückgängig machen, verlorene Daten wiederherstellen und vieles mehr. Wenn Sie in Zukunft mit einem Team von Entwicklern zusammenarbeiten möchten, werden Sie ohnehin mit Git arbeiten müssen. GitHub ist der beliebteste Git-Repository-Hosting-Service für Open-Source-Projekte, während Bitbucket für private Repositories gedacht ist.

Wenn Sie bei der Verwendung von Git auf Probleme stoßen, kann Ihnen dieser Beitrag über die 10 häufigsten Git-Probleme und ihre Behebung helfen.

Wenn du nicht weiterkommst…

Als Anfänger wirst du dich öfters wie der Hamster fühlen.

Du bist nicht allein. Manchmal muss man nur eine Pause einlegen und das Problem abkühlen lassen, um den Kopf frei zu bekommen.

Wenn das immer noch nicht funktioniert, gibt es einige Möglichkeiten, sich zu befreien:

Google

Ich habe Google-Fu in Schritt 7 erwähnt, aber lassen Sie mich noch einmal betonen, dass das Erlernen von Google eine wichtige Fähigkeit ist, die alle Programmierer erwerben müssen. Wenn Sie mit einem Fehler nicht weiterkommen oder nicht wissen, warum Ihr Code nicht funktioniert, ist es eine gute Idee, zu googeln.

Fragen Sie bei StackOverflow

Sie werden wahrscheinlich feststellen, dass Ihre Google-Ergebnisse meist auf Fragen und Antworten bei StackOverflow verweisen. Wenn Sie nach dem Googeln immer noch keine Lösung für Ihr Problem finden, können Sie versuchen, eine Frage auf StackOverflow zu stellen.

Gedenken Sie daran, dass Sie in Ihrer Frage zeigen, dass Sie recherchiert haben – so ist es wahrscheinlicher, dass Sie eine Antwort bekommen.

Alternative: Finden Sie einen Mentor

Einige Leute werden sagen, dass StackOverflow nicht anfängerfreundlich ist, weil Anfänger nicht wissen, wie sie ihre Fragen formulieren sollen. Aber was ist, wenn Sie noch nicht einmal wissen, was Ihr Problem ist?

Wenn Sie kurz davor sind, sich den Kopf zu zerbrechen (oder wenn Sie sich bereits den Kopf zerbrechen…), müssen Sie Ihre Stirn nicht missbrauchen (wenn Sie sich den Kopf hart genug anschlagen, verlieren Sie nur Gehirnzellen).

Eine großartige Alternative, um Ihre Entwicklung und Ihren Lernprozess zu erleichtern, ist, sich von einem erfahrenen Programmierer helfen zu lassen. Sie müssen sich nicht für dumm halten, nur weil Person X ein berühmter Experte ist und ein Autodidakt. Menschen lernen einfach anders, und alle Anfänger profitieren von einer persönlichen Anleitung, da Sie vielleicht Fehler machen, die im Moment keine große Sache sind, aber eigentlich eine schlechte Praxis darstellen.

Erinnern Sie sich daran, dass damals viele autodidaktische Entwickler nicht über die Dienste verfügten, die Ihnen jetzt zur Verfügung stehen.

So können Sie Hilfe von erfahrenen Programmierern über 1:1-Live-Sitzungen auf Codementor erhalten, wo die Preise für Mentoren bei 15 $/Minute beginnen. Während dieser Sitzungen können Sie einen Videochat mit einem erfahrenen Entwickler führen und Ihren Bildschirm/Code mit ihm teilen. Der Mentor wird Ihnen zeigen, wie Sie Ihren Code korrigieren können und Ihnen sagen, was Sie falsch gemacht haben, damit Sie den Fehler in Zukunft vermeiden können. Sie können auch den Code aus der Sitzung überprüfen oder die Sitzung über das Video-Chat-Tool auf Ihre lokale Festplatte aufzeichnen. Melden Sie sich jetzt an und testen Sie die ersten 15 Minuten kostenlos mit den Mentoren, die das Angebot machen.

Abschlusstipp

Programmierer machen ständig Fehler, also lassen Sie sich nicht entmutigen, wenn Sie nicht einmal einen Test bestehen können, den Sie geschrieben haben, oder wenn Sie ständig über sich selbst stolpern. Denken Sie doch mal an iOS9, Android Lollipop oder eine App, die Sie gerne benutzen. Sicherlich haben auch die ausgereiftesten Apps noch Fehler, also gehen Sie nicht davon aus, dass Sie die perfekteste, fehlerfreie App entwickeln können (was natürlich nicht bedeutet, dass Sie niedrige Ansprüche an sich selbst stellen sollten – Sie sollten immer danach streben, qualitativ hochwertige Apps zu entwickeln).

Außerdem ist es sehr üblich, dass Sie Stunden oder sogar Tage mit einer Sache verbringen und trotzdem Schwierigkeiten haben, sie so zum Laufen zu bringen, wie Sie es wollen. Wenn es einfach wäre, neue Funktionen schnell zu programmieren, bräuchte die Welt keine neuen Programmierer. Wahrscheinlich wären wir jetzt auf einem fehlerfreien iOS100 und hätten eine digitalisierte Welt wie in der Matrix erschaffen.

Daher hört man oft den Ausdruck „Mach Fehler“, wenn Leute dich ermutigen, etwas zu bauen. Sie meinen es ernst. Eine Sache, die Sie als Programmierer akzeptieren müssen, ist, dass Sie keine knallharte Programmiermaschine sein werden, die im Handumdrehen Funktionen hervorzaubern kann. Du wirst oft scheitern, und das ist in Ordnung.

Denken Sie auch daran, dass Sie ein Anfänger sind, also werden viele Dinge am Anfang unvermeidlich schwierig sein. Du wirst viel Zeit auf etwas verwenden, von dem du denkst, dass es einfach sein sollte, und es wird dir wie ein schwieriger Kampf vorkommen, aber wenn du mehr Erfahrung sammelst, wird es einfacher. Freuen Sie sich auf das Gefühl der Erfüllung, wenn Sie es endlich schaffen, Ihre erste App zu erstellen, und Sie können sogar in Erwägung ziehen, Ihre App zu verkaufen, wenn Sie es für richtig halten.

Happy Coding!

Author Bio


Yi-Jirr Chen || Content Maketing & Operations
Ihr typischer massiver Geek, der spielt und Wissenschaft/Technik liebt. Außerdem veröffentlicht er Belletristik unter einem Pseudonym, das nicht ohne Grund ein Pseudonym ist

Andere Artikel, die Sie interessieren könnten:

  • Wie Sie Ihren ersten Job als Entwickler bekommen (auch wenn Sie keinen CS-Abschluss haben)
  • 9 Tipps der Entwickler-Community für Programmieranfänger
  • 40 Ideen für Nebenprojekte für Software-Ingenieure
  • Wie Sie Ihre Karriere starten und Ihren ersten Kunden als freiberuflicher Entwickler gewinnen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.