Warum ich ein Jahr lang jeden Tag codiert habe, was ich gelernt habe und wie Sie es auch tun können.

Ich wollte meine Karriere wechseln. Die heutige Welt ist überhaupt nicht die gleiche wie die, in der unsere Eltern aufgewachsen sind. Folglich waren viele der Karriere-Ratschläge, die meine Eltern mir gaben, für die Landschaft, die wir jetzt haben, einfach nicht mehr relevant.

Ich hatte eine Karriere in einem Bereich, den ich genossen habe, aber in einer Branche, die im Sterben liegt. Es scheint nur eine kleine Handvoll Branchen zu geben, die heute boomt. Meine Freunde, die in die Softwareindustrie eingestiegen sind, scheinen mit ihren Berufen ziemlich zufrieden zu sein. Wenn ich damals gewusst hätte, was ich jetzt weiß , hätte ich diesen Prozess vor 10 Jahren begonnen. Ich möchte dort sein, wo die Welt hingeht, nicht dort, wo sie war.

Ich war entschlossen, dies zu ermöglichen. Dies zu tun bedeutete, es nicht aufzuschieben. Ich würde sofort anfangen, damit ich in weiteren 10 Jahren nicht mehr zurückblicken und sagen würde: „Ich wünschte, ich hätte viel früher damit angefangen.“

Also habe ich beschlossen, ein Jahr lang jeden Tag zu programmieren. Lassen Sie mich Ihnen von meinen Erfahrungen erzählen.

Der Anfang

Ich begann mit Recherchen zum Erlernen des Codierens. Ich fand Dinge wie Codecademy und freeCodeCamp, kostenlose Ressourcen, um meine Füße nass zu machen. Es gab viel zu lernen und es würde eine lange Reise werden, die viel Disziplin erforderte. Aber, dachte ich, je mehr Arbeit ich jetzt in sie stecke, desto mehr wird es sich später auszahlen.

Und dann entdeckte ich einen Artikel über diese Herausforderung namens # 100DaysOfCode . Es gibt zwei Hauptanforderungen , um die Herausforderung abzuschließen:

  1. Codieren Sie an 100 aufeinander folgenden Tagen jeden Tag mindestens eine Stunde
  2. Tweet deinen Fortschritt jeden Tag mit dem Hashtag # 100DaysOfCode

Dies ist also ein System, das Ihnen Struktur, Richtung und öffentliche Rechenschaftspflicht gibt, um Sie auf dem Laufenden zu halten. Und es schien eine großartige Möglichkeit zu sein, mich selbst zu motivieren und diesen Fortschritt aufrechtzuerhalten.

So begann ich jeden Tag von meinem Konto twitter.com/PolarisTLX sowie auf einer Facebook-Gruppe zu twittern.

Die Idee war, jeden Tag zu programmieren und daraus eine Gewohnheit zu machen. Sie konnten sich keine Ausreden erlauben, die Sie normalerweise machen würden, wenn Sie etwas aufschieben. Dies „erzwingt“ im Laufe der Zeit erhebliche Fortschritte, die Sie sonst viel länger oder gar nicht erreichen würden.

Es gibt auch zusätzliche Vorteile. Da es sich bei der Codierung um Konzepte handelt, die kontinuierlich aufeinander aufbauen, geht eine ganze Menge Wissen verloren, wenn Sie mehrere Tage ohne Codierung arbeiten.

Abgesehen davon begrüßt Sie der Gründer von # 100DaysOfCode, es zu Ihrem eigenen zu machen. Um mein Lernen wirklich zu beschleunigen und große Fortschritte bei der Erreichung meines Ziels zu erzielen, diesen Entwicklerjob zu bekommen, habe ich mich der Vollzeitbeschäftigung gewidmet, anstatt nur einer Stunde pro Tag. Und danach erreichte ich diese magische 100-Tage-Marke.

Ich war jedoch immer noch nicht arbeitsbereit. Ich musste einfach viel lernen. Aber ich machte große Fortschritte und war entschlossen, weiterzumachen, bis ich endlich diesen Job bekam. Also habe ich mich entschlossen, 150, 200, 250 Tage weiterzumachen…

Besondere Leistungen

Und so erreichte ich 365 Tage! Hier sind einige der wichtigsten Dinge, die ich erreichen konnte, indem ich ein Jahr lang jeden Tag codierte:

  • Dutzende von Codierungs-Tutorials, Kursen und Büchern abgeschlossen
  • Über 100 Algorithmen und Herausforderungen bei der Interviewcodierung wurden gelöst
  • Erhielt die Zertifikate " Front End Developer" und " JavaScript Algorithms and Data Structures Projects" von freeCodeCamp
  • Teilnahme an einem zweitägigen Hackathon, bei dem das Projekt ausgewählt wurde, um den Vorstandsmitgliedern des Unternehmens vorgestellt zu werden. Sie beschlossen dann, es auf die nächste Entwicklungsstufe voranzutreiben
  • Wurde in ein Vollzeit-Softwareentwicklungsprogramm mit einer Akzeptanzrate von weniger als 1% aufgenommen
  • Beitrag zum erweiterten Lehrplan für freeCodeCamp Beta
  • Schrieb Kursinhalte für das neue Ruby-Curriculum des Odin-Projekts, um anderen angehenden Entwicklern das Erlernen des Codierens zu erleichtern
  • Erstellt einen funktionierenden Klon von Facebook, das gesamte Back-End und Front-End komplett von Grund auf neu und hat es als eines meiner vorgestellten Projekte in meinem Portfolio auf Heroku live
  • Ich habe meinen ersten regulären Einkommensstrom erhalten und für einen Kunden aus der Ferne gearbeitet, was dazu führte, dass ich dauerhaft eingestellt wurde

Dieser letzte Punkt, ein regelmäßiger Einkommensstrom und diese Vollzeitstelle , ist der Höhepunkt und der Höhepunkt all meiner früheren Erfolge, die mich dazu gebracht haben, diesen Punkt zu erreichen. Dies ist jedoch keine leichte Aufgabe.

Keine leichte Herausforderung

Das Verlassen meines vorherigen Jobs, um meine Ziele zu verfolgen, bedeutete, dass ich mehr Zeit hatte - aber es bedeutete auch, dass ich mehr auf dem Spiel hatte. Viele Menschen gehen mit großen Ambitionen darauf ein und geben sich hohe Ziele, die sie nicht erreichen können. Für viele Menschen ist es wahrscheinlich am besten, sich an die empfohlene Stunde pro Tag zu halten.

Was ich jedoch beobachtet habe, ist, dass selbst mit den grundlegendsten Kriterien die meisten Menschen, die diese Herausforderung versuchen, scheitern. Viele Leute starten # 100DaysOfCode mit dem Bestreben, einen Job als Programmierer zu bekommen (buchstäblich Zehntausende von Menschen aus der ganzen Welt), aber nur wenige von ihnen erreichen tatsächlich ihr Ziel.

Und das trotz einer Fülle von hochwertigen Ressourcen und Leitfäden, von denen viele sogar kostenlos sind . Es ist nur eine einfache Realität, dass die Mehrheit der Menschen ihre Ziele nicht bis zum Ende durchschaut. Sie scheitern vor allem an mangelnder Entschlossenheit und Ausreden.

Ich entdeckte und schloss mich vielen Gruppen an, die mit Leuten gefüllt waren, die versuchten, das Codieren zu lernen. Einige von ihnen, die ich fand, waren:

  • 30 Tage JavaScript
  • 30 Tage Reaktion
  • Ausgründungen wie 180-Days-Of-Code
  • Slack-Channel-Gruppen, die sich der Arbeit an einem bestimmten Codierungsbuch widmeten, mit dem Ziel, jede Woche ein Kapitel zu schreiben und Notizen zu diskutieren / zu vergleichen.

In jeder dieser Gruppen sind die Teilnehmer aktiv, enthusiastisch und entschlossen, alles zu tun, um diesen Job zu bekommenfür die erste Woche.

Dann strömen die Ausreden, Verzögerungen und Nichterscheinen schnell herein. Die Chats würden immer leiser, die Beiträge und Aktualisierungen würden seltener. Diese neuen Mini-Communities brüllten alle wie ein Lagerfeuer und wurden dann schnell zu einer Kerze und flackerten heraus.

Ich habe oft sogar alles getan, um andere zu ermutigen, die Begeisterung und den Schwung aufrechtzuerhalten. Ich würde anbieten, jedem Mitglied zu helfen, das an etwas feststeckt oder Hilfe benötigt. Ich würde eine alternative Erklärung zu einem Konzept geben, mit dem sie zu kämpfen hatten (auch wenn ich kein Administrator oder Teamleiter war).

Aufgrund meiner Beobachtungen während eines Jahres schätze ich, dass von 10.000 Menschen , die jedes Jahr weltweit lernen, online zu programmieren, weniger als 100 über ein paar Monate hinaus Bestand haben.

Diejenigen, die aufgeben, werden ihre Ziele nicht erreichen. Diejenigen, die entschlossen sind und weitermachen, werden diejenigen sein, die Arbeit bekommen.

Wie habe ich das gemacht - und wie kannst du das?

Sie können verschiedene Maßnahmen ergreifen, um auf dem richtigen Weg zu bleiben und Ihre Ziele zu erreichen. Einige von ihnen sind oben beschrieben und umfassen:

  • Geben Sie Ihrem Fortschritt mit etwas wie # 100DaysOfCode Struktur und Verantwortlichkeit
  • kleine inkrementelle Ziele setzen und diese auf dem Weg erreichen
  • Paar-Programmierung
  • Suche nach Gruppen, denen man beitreten und mit denen man lernen kann

Und obwohl diese Gruppen insgesamt nicht wirklich Bestand hatten und Erfolg hatten, war es für mich immer noch von Vorteil, Mitglied zu werden. Ich würde nicht zulassen, dass das geringe Engagement und die Niederlagen anderer Menschen um mich herum meine eigene Entschlossenheit beeinflussen, weiter voranzukommen.

Das Wichtigste was ich getan habe

Sie müssen verstehen, dass wenn Sie ein ehrgeiziges Ziel haben, wie sich selbst das Codieren beizubringen, einige Opfer erforderlich sind. Dazu muss man bereit sein.

Mein soziales Leben trat oft in den Hintergrund, ebenso wie meine Videospielzeit, und ich konnte mit der neuesten heißen Show auf Netflix nicht Schritt halten. Es gab auch Tage, an denen ich wirklich keine Lust dazu hatte, aber ich musste „einige“ Fortschritte machen. Sie müssen sich daran erinnern, dass es nur um verzögerte Befriedigung geht und kurzfristige Opfer für langfristige Gewinne gebracht werden.

Andere Dinge, die mir geholfen haben

Ich habe auch WakaTime und Clockify verwendet, um zu verfolgen, wie viele Stunden ich täglich mit dem Codieren verbracht habe. Dies gab mir einen zusätzlichen Schub an Ermutigung, da ich meinen täglichen oder wöchentlichen Durchschnitt übertreffen wollte. Ich habe sogar regelmäßig einen sehr hohen Rang in ihren globalen Ranglisten erreicht.

Es gibt auch etwas zu sagen, um für etwas zu bezahlen. Lange Zeit gelang es mir, Ressourcen zu finden, die völlig kostenlos waren. Am Anfang empfehle ich dringend, sich zumindest in den ersten Monaten an kostenlose Ressourcen zu halten . Dies gibt Ihnen die Möglichkeit herauszufinden, ob Sie dieses Zeug wirklich genießen oder ob es nicht für Sie ist. Wenn Sie entscheiden, dass es nichts für Sie ist oder Sie es genießen, aber Sie können nicht länger als ein paar Monate durchhalten, dann haben Sie außer der Zeit nicht viel verloren.

Aber danach stellte ich fest, dass einige bezahlte Ressourcen tatsächlich besser sind als einige der kostenlosen. Und tatsächlich Geld auf etwas an sich fallen zu lassen, hat eine echte motivierende Wirkung auf einige Leute, die zusätzliche Motivation brauchen. Oft nehmen Sie etwas eher ernst, wenn Sie dafür bezahlt haben.

Ein Haftungsausschluss

Ich gebe ehrlich zu, dass ich in dieser Zeit eine Handvoll Tage verpasst habe. Aber ich war in meinen öffentlichen Beiträgen immer offen darüber. Der Gründer der Herausforderung hat zu diesem Thema folgendes zu sagen:

„Sie können hier und da einen Tag für ungeplante Situationen überspringen, aber nicht mehr… Sie dürfen einen Tag verpassen (aber machen Sie es wieder gut, indem Sie einen weiteren Tag zum Ende der 100 hinzufügen). Das Ziel ist es, konsequent zu werden, egal was das Leben auf dich wirft. “ - Alexander Kallaway, Schöpfer von # 100DaysOfCode

Der Fortschritt und das Ergebnis sind wirklich wichtig und der springende Punkt der Übung. Ich fand es viel ermutigender, nur verpasste Tage zu nutzen und fortzufahren, anstatt jedes Mal den Zähler zurückzusetzen. Und ich würde insgesamt viel produktiver sein, wenn ich mir Tage frei nehmen würde, solange dies nur in sehr seltenen Fällen der Fall war , in denen ich es wirklich brauchte.

Einige der Lücken waren der 60. Geburtstag meiner Mutter , ein Junggesellenabschied und Weihnachten. Ansonsten gab es keine Ausreden. Ich habe an Silvester und Neujahr codiert. Ich habe codiert, als ich krank war,und sogar am Morgen vor meiner Operation und am Tag nach der Operation. ?

Welche Tage ich verpasst habe, können Sie direkt auf meiner GitHub-Profilseite sehen: //github.com/PolarisTLX. Einige Lücken stellen jedoch die Zeit dar, in der ich mich in abgelegenen Regionen ohne Internetzugang befand und keinen Code für GitHub festlegen konnte. Aber ich habe es mir zum Ziel gesetzt, ein Codierbuch auf ein Tablet zu laden, das ich vor dem Verlassen vollständig aufgeladen habe. (Es ist nicht meine Lieblingsmethode, Code zu lernen, aber es kann schön sein, die Lernmethode ein wenig zu ändern und ab und zu ein anderes Medium auszuprobieren.)

Schließlich fehlt eine Gruppe von Tagen zu früh. Dies geschah, weil ich ein GitHub-Repository gelöscht habe, als ich von einem Zusammenführungskonflikt enttäuscht war, und mich einfach entschlossen habe, das Repository zu löschen und die Daten durch ein neues zu ersetzen. Ich wusste nicht, dass es fast eine Woche Commits aus der Aufzeichnung löschen würde. * Tisch Flip *

Meine 365-Tage-Fortschrittsübersicht

In 365 Tagen habe ich folgende Erfolge erzielt:

  • Erlernen der Verwendung eines Code-Editors und Erstellen einfacher statischer Webseiten
  • Erstellen von Funktionsrechnern und Wetter-Apps
  • Erstellen einfacher interaktiver 2D-Plattformspiele
  • Machen Sie sich mit der Full-Stack-Entwicklung mit mehreren Sprachen, Frameworks und Betriebssystemen vertraut und erstellen Sie eine vollständige RESTful-Website für soziale Netzwerke von Grund auf neu (auf der Benutzer sich mit dem von ihnen gewählten Passwort anmelden, ihre eigenen Fotos posten, mögen und kommentieren, ihre eigenen Fotos hochladen, Ereignisse erstellen, Senden und Akzeptieren von Freundschaftsanfragen und Einladungen zu Veranstaltungen mit anderen Benutzern usw.)
  • Erstellen von Kursmaterial, um anderen aufstrebenden Entwicklern das Erlernen des Codierens zu erleichtern.

Ich habe einen Punkt erreicht, an dem potenzielle Kunden und Arbeitgeber im Technologiebereich mich jetzt als Aktivposten sehen. Ich werde jetzt für Code bezahlt, da ich erstellen kann, was sie wollen, ihre Probleme lösen und echten Wert bieten kann. Die Arbeit zahlt sich aus und ich werde einfach weiter besser werden.

Ich hoffe, Sie haben es genossen, über meine Reise zu lesen. Ich empfehle Ihnen dringend, die # 100DaysOfCode-Herausforderung auszuprobieren. Wenn Ihnen der Beitrag gefallen hat, klatschen Sie bitte? das Wort verbreiten und andere motivieren.