Wie lange dauert das Free Code Camp?

Ich verbrachte das Ende des Winters in einer solarbetriebenen, ofenbeheizten Kabine in Nord-Utah. Es gab keine Dusche, aber wir haben einen Satelliten auf das Dach montiert und es geschafft, schnelleres Internet als in meiner Wohnung in San Francisco zu nutzen. Ich beschloss, das Codieren zu lernen.

Ich wollte die Isolation nutzen, um etwas Neues zu lernen. Ich war technisch so lange aufgeschlossen, wie ich mich erinnern kann, aber meine früheren Codierungsversuche haben zu unspektakulären Ergebnissen geführt.

Ich habe in der High School etwas C ++ gelernt, aber meistens gigantischen, sich wiederholenden Code geschrieben, weil ich Funktionen nicht verstanden habe. Ich habe einen Visual Basic .NET-Kurs im Grundstudium absolviert, aber ich habe fast keine Erinnerung daran, was dort vor sich ging. Ich habe vor einigen Jahren den JavaScript-Kurs der Codecademy in einer Hängematte in Guatemala durchgearbeitet.

Ich denke, dieser gewundene Weg des nicht vollständigen Lernens hat mich in gewisser Weise vorbereitet. Ich habe auch einen Abschluss in Computergrafik, der sich viel stärker auf Design, Animation und Modellierung konzentrierte als auf Codierung, aber mir einige grundlegende Kenntnisse in HTML / CSS vermittelt hat.

Es wurde viel über „Warum Codierung“ geschrieben, damit ich hier kein totes Pferd schlagen kann.

Die Kurzversion lautet: Kluge Leute scheinen zuzustimmen, dass das Wissen, wie man codiert, ein Kraftmultiplikator für fast alles andere in Ihrem Leben ist.

Nachdem ich mich online umgesehen hatte, um den besten Startpunkt zu finden, beschloss ich, Free Code Camp durchzuarbeiten. Zweiter wurde The Odin Project, aber Reddit schien zuzustimmen, dass FCC der stärkere Ausgangspunkt war. Und aus irgendeinem Grund vertraue ich Reddits Schwarmgeist, wenn es um dieses Zeug geht.

Also habe ich mir ein kleines Anfangsziel von 2 Stunden / Tag gesetzt und RescueTime installiert, um mich selbst zu verfolgen. Hier ist ein Blick darauf, wie es gelaufen ist.

TAG 1

Ich habe die ersten drei Abschnitte schnell durchgearbeitet. HTML5 / CSS, Responsive Design mit Bootstrap und jQuery hatten eine geschätzte Gesamtabschlusszeit von 13 Stunden, aber laut RescueTime habe ich sie in nur vier Stunden ausgeschaltet. Zu diesem Zeitpunkt fragte ich mich, ob ich etwas falsch gemacht hatte, aber ich beschloss, mir selbst zu gratulieren und weiterzumachen.

TAG 3–4

Ich war auf einer Rolle und bewegte mich reibungslos durch den Abschnitt Basic Javascript. Am frühen Morgen des dritten Tages fühlte ich mich zum ersten Mal bei einer Profil-Lookup-Übung festgefahren, bei der eine Schleife zum Durchlaufen einer Reihe von Objekten verwendet wurde. Aber um 22:30 Uhr hatte ich es fast zur Hälfte mit Basic Algorithm Scripting geschafft (und laut RescueTime hatte ich insgesamt 12 Stunden und 20 Minuten im Free Code Camp verbracht).

Am nächsten Morgen begann ich, die restlichen grundlegenden Algorithmen durchzuarbeiten und einige der Lösungen in 3 bis 5 Minuten zu schreiben. Ich habe im FCC-Chat bestätigt, dass viele Leute relativ schnell anfangen und sich mit der Zeit verlangsamen, wenn der relative Schwierigkeitsgrad zunimmt (wodurch die geschätzten Fertigstellungszeiten realistischer werden).

In der Nacht des vierten Tages hatte ich die Algorithmen jedoch mit insgesamt 18 Stunden FCC (und geschätzten 22 Stunden Arbeitszeit für andere Forschungsressourcen wie das Mozilla Developer Network) abgeschlossen. Die Schätzung Zu diesem Zeitpunkt waren es 75 Stunden.

Mein ursprüngliches Mikroziel von 2 Stunden pro Tag hatte mich glauben lassen, ich hätte 100 Stunden Arbeit erledigt, als ich mein Versteck in Utah verließ. Jetzt, da ich mich wirklich von der Arbeit inspirieren ließ, hatte ich 75% meiner Arbeit in nur vier Tagen abgeschlossen.

TAG 17

Ich ging in den Haupt-Heads-Down-Modus und machte zwei Wochen lang keine Fortschrittsnotizen. Die schlechte Nachricht ist, dass es dort wenig zu berichten gibt, aber die gute Nachricht ist, dass die FCC mich zwei Wochen lang in einem Flow-Zustand hatte. Zu diesem Zeitpunkt hatte ich ein Skelett-Portfolio (jetzt etwas fleischiger) fertiggestellt und eine Zufalls-Quote-Maschine sowie eine wirklich schreckliche, von Lord of the Rings inspirierte Wetter-App gebaut. Am 17. Tag habe ich meinen Wikipedia Viewer eingereicht. Das Erlernen der Verwendung von APIs hat Spaß gemacht und war nützlich. Es stellt sich heraus, dass Sie Dinge mittlerer Komplexität erstellen können, ohne die Back-End-Server oder -Datenbanken zu verstehen (Sie können sie einfach an die eines anderen anschließen)!

TAG 23–24

Beim Durcharbeiten der Zwischenalgorithmen bemerkte ich allmählich den Unterschied zwischen sauberem und hässlichem Code. Ich fing auch an, mehr Notizen in meinen Code einzubetten, um sie später zu überprüfen. Irgendwie habe ich so lange gebraucht, um festzustellen, dass console.log ("Tests") immer in der JS-Entwicklerkonsole im Browser ausgespuckt wird. Ich hatte begonnen, //repl.it zu verwenden, um Code auszuführen, der die Konsolenprotokolle als eindeutige Ausgabe anzeigt. Etwas peinlich jetzt, aber hey - ich habe mich nicht davon abhalten lassen und jetzt weißt du es besser.

Ich habe meinen Browser zum ersten Mal zum Absturz gebracht, als ich Sum of All Primes durchgearbeitet habe. Unabhängig davon habe ich das Problem letztendlich gelöst und fühlte mich wirklich großartig, 99% der Hauptfunktion ohne externe Forschung zu lösen.

TAG 31–33

Ich fand die Herausforderungen des Advanced Algorithm ziemlich… gut… fortgeschritten. Ich war ziemlich begeistert, als ich den erweiterten Algorithmus „Friendly Dates Range“ in nur 90 Minuten fertiggestellt habe. In zwei dieser fortschrittlichen Algorithmen habe ich auf bestimmte Funktionen von StackOverflow verwiesen, um die Sauberkeit meines Codes zu verbessern. Zu der Zeit, als ich befürchtete, dass dies zurückkommen könnte, um mich zu verletzen, argumentieren viele Ressourcen, dass ein großartiger Programmierer die Fähigkeit ist, einer Suchmaschine spezifische Fragen zu stellen. Zum Beispiel wäre das Erstellen einer JS-Version von Heaps Algorithmus von Grund auf eine Mathematik auf hohem Niveau und eine Neuerfindung des Rades. Durch die Suche nach einem JavaScript-Modell, mit dem ich arbeiten konnte, konnte ich das Auto tatsächlich fertig bauen.

An Tag 33 habe ich die letzte der fortgeschrittenen Codierungsherausforderungen abgeschlossen. Für das nächste Projekt (das erste der Advanced Front End Development-Projekte) musste ein JS-Rechner erstellt werden. Es war schön, sich wieder mit der HTML / CSS-Seite zu beschäftigen. Ich habe die Herausforderung durch Live-Codierung auf dem Twitch-Kanal der FCC erhöht und das Projekt mit einem Live-Publikum von 24 Personen abgeschlossen. Dies war eine großartige Erfahrung, bei der ich meinen Code beim Schreiben erklären musste. Live-Codierung hat auch ein eingebautes Bedürfnis, die Dynamik aufrechtzuerhalten. Es belohnt einen Codierungsstil, der sich schnell bewegt und kaputt macht, gegenüber einer forschungsintensiveren Methode.

TAG 40

Das Codieren des Tic-Tac-Toe-Spiels erwies sich (für mich) als das anstrengendste Projekt von allen. Für mich war das Codieren der KI nicht sehr lustig oder befriedigend. Meiner Meinung nach hatte mein Endergebnis eine schwache KI und eine unterdurchschnittliche Schnittstelle. Zu der Zeit fragte ich mich, ob es vielleicht nicht meine Leidenschaft war, solche interaktiven Dinge zu bauen.

TAG 45

Ich habe wahnsinnig hart an dem endgültigen Projekt gearbeitet, bei dem eine JavaScript-Nachbildung des Spiels Simon aus den 1970er Jahren mit einem optionalen „strengen Modus“ und einer zunehmenden Spielgeschwindigkeit angefordert wurde. Ich war entschlossen, es außergewöhnlich zu machen. Zum jetzigen Zeitpunkt habe ich immer noch das Gefühl, dass mein Simon eine der am besten aussehenden Versionen da draußen ist. Am 45. Tag beendete ich das Projekt und holte mir mein Front-End-Entwicklungszertifikat!

Endgültige Statistik:

77 Stunden Referenz und Lernen

67 Stunden Softwareentwicklung

41 Stunden Kommunikation (einschließlich FCC-Chat)

= 185 Stunden über einen Zeitraum von 45 Tagen (oder ~ 4 Stunden / Tag)

In ungefähr der Hälfte der Zeit beendete ich den Lehrplan.

Ich kann das Front-End-Entwicklungsprogramm von Free Code Camp nicht genug empfehlen. Unabhängig davon, wie lange Sie brauchen, ist es kostenlos, einfach zu starten und hat eine intelligente und zugängliche Community (wenn ich es selbst sage).

Ich hatte mich intellektuell ausgehungert gefühlt und das Erlernen des Codierens bot eine befriedigende Dehnung für alte mentale Muskeln. Ich ziehe zurück nach San Francisco und beabsichtige, diese Reise in die Technik fortzusetzen.

Wenn Sie das Codieren lernen, behandeln Sie Ihre Ausbildung wie den Job, der sie ist. Folgen Sie mir und lassen Sie mich wissen, wie ich helfen kann! Nie zuvor waren die enormen Gewinne des iterativen Fortschritts so deutlich wie beim Erlernen des Codierens.