Ich habe mein BFA 1998 verdient. Es wurde gelernt, Feature-Seiten zu gestalten und Infografiken für die lokale Tageszeitung zu erstellen. Ich habe einen Photoshop ACE in '03 verdient. Mein aktuellster Vollzeitauftrag war reine Mock-up-Design-Arbeit.
In den letzten anderthalb Jahren habe ich Code 40-50 Stunden pro Woche debugged. Ich las über Code, ich schrieb über Code, ich sprach mit anderen Leuten über Code. Stellen Sie sich vor: Ein Nicht-Coder hat es herausgefunden.
Dennoch ist "Code schreiben" eine weit gefasste Formulierung. Einige Sprachen sind einfacher als andere. Einige Sprachen erfordern ein Verständnis dafür, wie Software mit dem Computer "spricht". Der wichtigste Teil des Lerncodes besteht darin, die richtige Einstellung zu bewahren. Es sagt sich nicht "Ich kann das machen" oder nach den richtigen Büchern suchen.
So funktioniert das.
Literalität in jeder Computersprache, von einfachem HTML bis hin zu komplexem C ++, erfordert nicht nur die Anpassung an die Technologie, sondern auch Veränderungen in der Technologie. Es gibt einen Grund, warum HTML5 in einer Nummer endet. Wenn genügend Browser HTML6 unterstützen, müssen Entwickler neue Dinge lernen.
Mögliche Gründe, sich selbst durch den Lernprozess zu bringen, sind:
Ich habe es gesehen. Weißt du, dieser Blick. Nicht ganz panisch, nicht ganz verzweifelt. Es ist das Aussehen, das jemand bekommt, wenn er den Reiz erkennt, jemand anderen das schwere Heben machen zu lassen. Der Blick, der sagt: "Das ist eine Windschutzscheibe; Ich muss nicht der Käfer sein. "Ich habe es in den Augen der Kollegen, in den Körperhaltungen der Schüler gesehen und aus dem Spiegel zurückgestarrt.
Meiner Erfahrung nach ist es keine Angst vor dem Scheitern, die Menschen einschüchtert. Es ist Angst, verloren zu gehen. Überwältigende Hoffnungslosigkeit fördert Gefühle der Unzulänglichkeit. Dieser Zyklus wird jeden niederschlagen.
Mut oder Ausdauer sind keine Gegenmittel für das Gefühl der Überforderung. Stoppen bevor man sich überwältigt fühlt ist die Lösung.
Meine Lieblingstechnik ist es, ein Projekt mit drei Eigenschaften anzugehen.
Fristen und Gehaltsschecks sind in Ordnung. Aber nichts treibt Leute wie ein Jucken, das sie nicht kratzen können. Auf lange Sicht darf der Lerncode kein Selbstzweck sein. Es muss eine Beruhigung für einige Irritation werden.
Damals, als ich frustriert war, konnte ich kein gutes Buch finden. Es gibt keinen Mangel an Websites für Buchentdeckungen, aber die Intuition hat mir gesagt, dass es einen besseren Weg gibt. Also habe ich meine eigene Website gestartet. Ich habe das Projekt nie beendet, aber ich habe viele Möglichkeiten gelernt, Romane zu organisieren. Auf dem Weg, fast beiläufig, lernte ich mehr Code.
Nachdem das sprichwörtliche Jucken gefunden wurde, sollten Menschen, die das Programmieren lernen, auch Erleichterung finden.
Keine Tutorials, Tools oder äußeres Lob werden den Menschen die Denkweise geben, den Code besser zu erobern als "Ich schrieb dies und ... schau, was ich getan habe!" Und mit einem Gefühl, größer zu sein als das Hindernis, das du überwunden hast.
Es klingt albern, bis Sie es versuchen. Wenn der Code ausgeführt wird, erhalten die Benutzer einen Mikrogravur von Selbstvertrauen, eine Bestätigung, dass sie die Maschine meistern können.
Letzte Woche sah jemand auf meinen Bildschirm und schüttelte den Kopf. Es war voller Code. Drei offene Fenster mit farbigen Tags und Funktionsaufrufen. Er sagte: "Ich könnte das nie tun." Vor Jahren hätte ich zugestimmt. Ich wollte nicht dumm aussehen oder etwas kaputt machen, das ich nicht reparieren konnte. Wer weiß, welchen Schaden ein falscher Tastendruck verursachen würde?
Dieser ist kritisch. Wenn Sie etwas lernen, das Sie einschüchtert, müssen Sie sich Ihrem Limit nähern, aber nicht überschreiten .
"Trainieren Sie Ihr Gehirn" ist keine angemessene Analogie. Beim Trainieren ermutigen die Trainer die Menschen, ihre Grenzen zu überschreiten. Aber Lernen ist ein Hunger. Dein Gehirn hat Appetit auf Wissen. Füllen Sie Ihr Gehirn bis zum Rand (oder schlimmer, überschreiten Sie seine Grenze) wird Ihre Fähigkeit zu lernen behindern, Ihr Selbstvertrauen erodieren und ein Kätzchen töten. Denk bitte an die Kätzchen.
Besser noch, denken Sie an geistige Übung als ein Training, das eine Weile dauert. Sag, eine Woche. Sicher, du nimmst Pausen zwischen Wiederholungen (genannt "Schlaf bekommen"). Aber vorwärts zu hetzen funktioniert gegen dein Ziel. Die Kätzchen werden dir nie vergeben.
Sprint trainiert dich nicht für einen Marathon. Einhundert Liegestütze werden deine Schultern besser verbessern, als einmal versuchen, einen Lastwagen zu heben. Und knifflige Tutorial-Bücher wie Tequila-Aufnahmen beeinträchtigen deine Denkfähigkeit.
In meiner Zeit als Zeitung habe ich mich geweigert, Stock Art zu verwenden. Die Termine kamen an fünf Tagen in der Woche, aber ich bestand darauf, meine eigene Vektorgrafiken zu erstellen. Ein halbes Jahr später war ich der richtige Ansprechpartner für alle grafischen Arbeiten. Diese eine Fähigkeit, die mir eine leitende Position in einem Startup-Unternehmen eingebracht hat. Auch heute spiele ich gerne mit Bezier-Pfaden.
Das Erlernen jeder Fähigkeit, einschließlich des Debuggens von Code, funktioniert ähnlich.
Der einzige Weg, um Code zu lernen - und ihn zu halten - ist jeden Tag zu üben. Wie beim Erlernen neuer Fähigkeiten verbessert ein konsistenter Zeitplan mit überschaubaren Zielen allmählich die Leistung bis hin zum Fachwissen.
Ein Teil des Lernens, Code zu lesen und zu schreiben, sei es HTML, jQuery oder C ++, lernt seine Grenzen kennen. Ein anderer Teil erklärt seine Grenzen. Der Fluch, eine Sprache zu verstehen ... der Fluch der Leute, die denken, dass Sie "Code wissen", ist, dass sie erwarten, dass Sie es tun.
HTML ist kein CSS. CSS ist kein PHP. PHP ist nicht WordPress. WordPress ist keine Serveradministration. Die Serververwaltung behebt nicht die verstopften Outlook-Postfächer von Menschen. Aber ich wurde gebeten, all das zu tun. Ich, bewaffnet mit meinem abgelaufenen Photoshop-Zertifikat und dem Satz "Ich weiß es nicht, aber vielleicht kann ich helfen ...".
Diejenigen ohne Code-Erfahrung unterscheiden oft nicht zwischen einem $ (fog-of) .squiggles + und + Akronymen; oder
Die Kenntnis des Codes ist befähigend. Reputation als Coder ist versklavend. Zumindest zahlen beide die Rechnungen.
Sind Sie ein Designer, der programmiert, oder ein Programmierer, der entwirft? Sollten die Disziplinen getrennt gehalten werden? Lassen Sie uns wissen, was Sie in den Kommentaren denken.