Erstellen Sie Ihren eigenen persönlichen Lehrplan
Veröffentlicht: 2022-03-10Nach Abschluss eines Bootcamps im März 2019 war ich überwältigt von der Auswahl an Frameworks, Bibliotheken, Sprachen und Kursen, aus denen ich wählen musste, um weiter unabhängig zu lernen und mir hoffentlich einen dieser schwer fassbaren Junior-Entwicklerjobs zu sichern. Fast jeder, mit dem ich gesprochen habe, hatte eine andere Meinung darüber, was wichtig und erstrebenswert ist, aber die meisten von ihnen waren sich einig, dass es wichtig sei, „die Grundlagen“ zu lernen, ohne wirklich zu spezifizieren, was sie waren.
Auch nachdem ich im vergangenen Sommer meinen ersten Entwicklerjob bekommen hatte, war schnell klar, dass ich mich regelmäßig außerschulisch weiterbilden musste, um den Anforderungen dieser neuen Rolle gerecht zu werden. Ich bin eine Weile zwischen den Udemy-Kursen hin und her gehuscht, und während ich gelernt habe, musste ich oft den Dozenten kopieren, ohne selbst Problemlösungsfähigkeiten zu entwickeln . Ich brauchte mein eigenes kleines Scratch-Pad-Nebenprojekt, um das neue Material wirklich zu verstehen. Jetzt wusste ich also, was mein Lernstil war: erste Auseinandersetzung mit Ideen in einem Kurs oder bei der Arbeit, eine Skizze eines Projekts erstellen, um Konzepte zu festigen, und dieses neue Gelernte dann in meiner täglichen Arbeit anwenden, wenn ich konnte.
Die meisten von uns haben ein solides (wenn auch hart erarbeitetes) Gespür dafür, wie wir kurzfristig am besten lernen, aber wie lässt sich das auf die Struktur des langfristigen außerschulischen Lernens übertragen? Ich werde Ihnen erzählen, wie ich dieses Problem für mich gelöst habe. Diese Strategien funktionieren über das gesamte Erfahrungsspektrum hinweg, unabhängig davon, ob Sie neu in der Softwareentwicklung oder ein erfahrener Ingenieur sind.
Ihr ganz persönlicher Lehrplan
Das ist meine Methode, einen Lehrplan zusammenzustellen. Als jemand mit begrenzter Zeit und der Tendenz, auf Kosten nachhaltiger, konzentrierter Arbeit von der Brise der Impulsivität ergriffen zu werden, fand ich diese Methode am besten mit meinem Gehirn und meinen allgemeinen Rhythmen kompatibel. Ihr Kilometerstand kann natürlich variieren.
Verwenden Sie „Traumjob“-Rollenspezifikationen, um Ziele zu setzen
Ich fand diesen Schritt wirklich nützlich, um alle Umgebungsgeräusche zu übertönen und mich auf Dinge zu konzentrieren, die in den nächsten fünf Jahren für meine Karriere praktisch nützlich sein werden. (Als eher ein Frontend-Entwickler habe ich beim Erlernen von Rust oft gute Augen gemacht. Obwohl es faszinierend ist, ist es nicht gerade eine Priorität.)
Sie möchten vielleicht nicht selbst in einem großen Technologieunternehmen arbeiten, aber es lohnt sich, sich anzusehen, was sie bei der Einstellung priorisieren, da die großen Unternehmen im Guten wie im Schlechten dazu neigen, den Ton für die gesamte Branche anzugeben. Ich habe eine kleine Einkaufsliste mit nicht bösen Unternehmen, bei denen ich eines Tages landen möchte, und sie alle teilen im Großen und Ganzen die gleichen Prioritäten: semantisches HTML/CSS, ausgezeichnete Vanilla- JS-Kenntnisse, Zugänglichkeit und ein beliebtes Framework. Eines Tages werde ich Rust lernen, aber im Moment hat die Arbeit an diesen Fähigkeiten meine oberste Priorität.
Ich neige dazu, Indeed, Guardian Jobs und LinkedIn zu bevorzugen, um eine breite Auswahl an Jobs zu erhalten, die auf dem Markt sind, aber ebenso nützlich ist Twitter (suchen Sie einfach nach [Firmenname, an dem Sie interessiert sind] und „Jobs“) und behalten Sie regelmäßig ein Auge darauf alle paar Monate auf der Karriereseite Ihrer Lieblingsunternehmen. Jessica Rose, die als @jesslynnrose twittert, schreibt häufig lange Twitter-Threads mit Stellenangeboten bei „nicht bösen Unternehmen“, die manchmal anderswo nicht sehr gut bekannt gemacht werden.
Sobald Sie ein paar Jobspezifikationen gesammelt haben, versuchen Sie, die Gemeinsamkeiten zwischen ihnen zu erkennen und notieren Sie sie. Wir werden sie für den nächsten Schritt verwenden.
Identifizieren Sie Möglichkeiten, um die gewünschten Fähigkeiten zu entwickeln
Erinnerst du dich an die Liste, die ich erwähnt habe? Teilen Sie es in zwei Spalten auf. Spalte eins: Dinge, an denen Sie in Ihrem Job arbeiten können. Spalte zwei: Dinge, die Sie sich in Ihrer Freizeit ansehen müssen.
Lernen am Arbeitsplatz
Die Dinge auf Ihrer Liste, die von Ihrer täglichen Arbeit abgedeckt werden, sind die Dinge, über die Sie sich am wenigsten Sorgen machen müssen. Egal was passiert, Ihre Fähigkeiten in diesen Bereichen werden sich mit der Zeit verbessern. Einige von Ihnen werden in riesigen Organisationen arbeiten, die von vielen Entwicklern mit unterschiedlichen Dienstaltern und Spezialisierungen besetzt sind, und ich rate Ihnen, das zu melken, um es ganz offen auszudrücken.
Wenn Barrierefreiheit eine Ihrer Wissenslücken ist , die Sie verbessern möchten, versuchen Sie, Ihre Nerven zu schlucken, und wenden Sie sich an jemanden an Ihrem Arbeitsplatz, der diese Fähigkeiten hat, auf einen Chat/einen Zoom-Kaffee. Versuchen Sie, sich mit ihnen zu paaren, mit dem Verständnis, dass Sie Dinge „paaren“ können, die keine Codierungsprobleme sind. Chatten Sie mit ihnen darüber, wo sie ihre Informationen finden, mit welchen Twitter-Konten, Blogs und Podcasts sie auf dem Laufenden bleiben und wie sie selbst über neue Entwicklungen auf dem Laufenden bleiben.
Lernen zu Hause
Als jemand mit zwei früheren Karrieren, von denen keine mit Informatik zu tun hatte und der vor einem Jahr über ein neunwöchiges Bootcamp in die Branche eingestiegen ist, habe ich ein rudimentäres Verständnis der Informatik, und viele von Ihnen befinden sich wahrscheinlich in der gleichen Situation.
Ich habe festgestellt, dass Frontend Masters von unschätzbarem Wert sind, wenn es um wirklich gut gestaltete Kurse zu Informatikprinzipien und spezifischerem Lernen geht. Ich persönlich finde die Frontend Masters-Kurse von Will Sentance wertvoll, um das Wie und Warum von Vanilla JavaScript zu verstehen. Ebenso machen die Kurse „Vier Semester Informatik in 5 Stunden“ von Brian Holt die Studenten mit den Konzepten vertraut, die in technischen Vorstellungsgesprächen auftreten können.
Es gibt eine monatliche Abonnementgebühr für Frontend Masters, und es lohnt sich, aber es gibt viele wunderbare kostenlose Ressourcen da draußen. Ich empfehle wirklich jedem, der dies noch nicht getan hat, sich bei CS50 anzumelden. Der von der Harvard University durchgeführte Kurs ist eine wunderbare, kostenlose Ressource, die Sie mit C, Python, JavaScript und Modulen zu Ethik und grundlegenden Datenstrukturen vertraut macht. Die Vorlesungen machen enorm viel Spaß, und Sie können ohne Zeitdruck so viel oder so wenig vom Kurs machen, wie Sie möchten.
Ebenso hat FreeCodeCamp seinen Status als wichtiger Ausgangspunkt sowohl für Autodidakten als auch für diejenigen, die auf ihren vorhandenen Fähigkeiten aufbauen möchten, verdient, und ich ermutige Sie, auf Udemy nach Kursen zu suchen, die für Ihre Interessen relevant sind (ich würde vorschlagen, dies nicht zu tun). kaufe einen Udemy-Kurs, der keinen großen Rabatt hat. Die Verkäufe kommen alle paar Wochen, und es gibt immer Rabattcodes, die herumschwirren).
Ein besonderer Favorit von mir ist The Complete Node.js Developer Course von Andrew Mead, und ich verehre die Kurse von Colt Steele (es gibt einen besonders guten zu Algorithmen und Datenstrukturen, der Ihnen helfen wird, wenn Sie sich jemals auf der algorithmenlastigeren Seite wiederfinden des Tech-Interview-Spektrums). Das Smashing Magazine veranstaltet auch regelmäßig Online-Workshops zu einer Reihe von Themen, die Ihnen helfen, Ihre Fähigkeiten zu verbessern.
Wie Sie vielleicht wissen, können die Fähigkeiten, die Menschen zu Jobs in der Technik bringen, oft von den Fähigkeiten abweichen, die Menschen im Job benötigen. Diese Kurse vermitteln Ihnen die Grundlagen der Informatik, während Sie flink für Vorstellungsgespräche bleiben und Ihnen helfen, möglicherweise erdrückende Stille mit bissigen Zusammenfassungen verschiedener Datenstrukturen und ihrer Vor- und Nachteile zu füllen. Es geht nicht darum, alle diese Kurse zu absolvieren, sondern diejenigen zu identifizieren und zu kombinieren, die zu den von Ihnen angestrebten Jobspezifikationen passen .
Ich habe festgestellt, dass Twitter unglaublich hilfreich ist, um Leute zu finden, mit denen man über Codeprobleme chatten kann. Letztes Frühjahr habe ich über ein Problem mit Android Studio ins Leere geschrien und war überrascht, weniger als zehn Minuten später in einem Videoanruf mit einem Android-Entwickler zu sein, und nicht nur das, er schien sich zu freuen, zu helfen!
Unterschätzen Sie nicht die Freundlichkeit der Entwicklergemeinschaft und scheuen Sie sich nicht, sie um Hilfe zu bitten, wenn Sie sie brauchen, und geben Sie Ihr Bestes, um sich in Situationen zu bringen, in denen Sie mit Menschen aus einer ähnlichen Welt wie Sie innerhalb der sprechen können breiteren Kontext der Tech-Industrie. Der Hashtag #CodeNewbie ist praktisch, wenn Sie Hilfe benötigen.
Legen Sie Ziele und Zeitpläne fest
Jetzt ist es an der Zeit, Ihre selbstgesteuerten Lernziele mit einigen Zielen zu verknüpfen. Versuche, die Messlatte nicht zu hoch zu legen – wenn es für dich unrealistisch ist, einen Udemy-Kurs in einer Woche zu absolvieren, versuche nicht, dich so sehr dazu zu drängen, dass du entweder das Ziel auf Kosten anderer wichtiger Dinge in deinem Leben erreichst oder das Ziel nicht erreichen und sich wie ein Versager fühlen. Die Idee ist , sich auf Kurs zu halten und sanften Druck auszuüben, um motiviert zu bleiben, aber nicht so sehr, dass Sie sich überfordert fühlen und jegliche Motivation verlieren.
Als Morgenmensch fühle ich mich in den Stunden vor meinem Arbeitsbeginn um 9.30 Uhr am besten in der Lage, mich auf das Lernen zu konzentrieren. Vor diesem Hintergrund und mit dem wunderbaren Zeiterfassungstool Toggl verbringe ich zwei Vormittage pro Woche von 7 bis 9 Uhr mit Code-Studium. Die Nutzung von Toggl war mir sehr wichtig, denn egal, wie viel ich mache, ich habe oft das Gefühl, dass es nicht genug ist. Aber mit Toggls Hilfe konnte ich sicher sehen, dass ich mindestens vier Stunden pro Woche arbeitete (mit zusätzlichen Abenden und Wochenenden, wenn ich Lust dazu hatte) und ich fühlte mich besser in der Lage, mich von meinem Laptop zu lösen und mich auszuruhen, wenn ich es wollte Die Zeit war um, sicher in dem Wissen, dass ich nach meinen eigenen Maßstäben eine akzeptable Anzahl von Stunden gesammelt hatte.
Fortschritte messbar machen
Denken Sie an Ihren durchschnittlichen Wochenplan und versuchen Sie, eine Zeit am Tag zu blockieren, in der Sie die besten Chancen haben, sich ununterbrochen zu konzentrieren. Einige von Ihnen werden Betreuer oder anderweitig sehr beschäftigt sein, und es wird wahrscheinlich besser für Sie sein, sich Zeit zu nehmen, wenn Sie sie bekommen können.
Wenn es Ihnen hilft, ein Beispiel zu sehen, meine persönlichen Ziele sind die folgenden:
- Schließe bis Ende Februar einen Node.js-Udemy-Kurs ab.
- Führen Sie jeden Tag vor der Arbeit 30 Minuten Execute Program durch.
Versuchen Sie, bei Ihren ersten Zielen auf Nummer sicher zu gehen. Sie können den Druck jederzeit erhöhen, wenn Sie möchten, aber es ist besser, dies zu tun, wenn Sie bei einigen erfolgreich waren. Stellen Sie sicher, dass Sie genügend mentalen und physischen Freiraum haben , um sich wirklich auf das zu konzentrieren, was Sie tun müssen, um auf Kurs zu bleiben.
Finden Sie einen Mentor oder einen Kumpel oder beides!
Mentoring ist etwas, das die meisten Entwickler empfehlen würden, um Fähigkeiten zu verbessern, aber meiner persönlichen Erfahrung nach ist es eine Herausforderung, jemanden zu finden, der die Zeit hat, Sie anzuleiten, besonders jetzt. Es gibt Ressourcen wie Coding Coach, die Ihnen helfen können, und ich kenne einige Entwickler, die ihren Traum-Mentor bei Treffen und in den sozialen Medien gefunden haben, aber es ist leichter gesagt als getan, den perfekten Partner zu finden.
Ich habe mit Falina Lothamer, Instructional Designer bei Thinkful – einem Massive Open Online Course (kurz MOOC) – gesprochen, um mir ein Bild davon zu machen, wie Profis unabhängiges Lernen angehen. Sie war sich sehr darüber im Klaren, dass die Suche nach und die Zusammenarbeit mit einem Mentor der Schlüssel zur Weiterentwicklung Ihrer Fähigkeiten als Entwickler ist.
„Wenn Sie etwas für sich bereithalten müssen, sagen Sie diesem Mentor: ‚Hier sollten Sie sich meiner Meinung nach konzentrieren', zeigen Sie ihm, was er bei seiner Arbeit tut, und teilen Sie seine Meinung zur Zukunft Ihres Bereichs mit von tech wird viel helfen. Ich denke, es gibt viele Leute in der Branche, die bereit sind , diese Mentorenrolle zu übernehmen und für andere das zu tun, was jemand für sie getan hat.“
Nachdem ich einige meiner Frustrationen darüber zum Ausdruck gebracht hatte, dass ich mit einer Reihe von Udemy-Kursen auf eine Mauer gestoßen war, einfach festgestellt hatte, dass ich Informationen behielt und nicht unbedingt das Vertrauen in das hatte, was ich gelernt hatte, um es in anderen Bereichen oder bei anderen Projekten anzuwenden, war Fallina klar, dass es wichtig ist, einer anderen Person gegenüber rechenschaftspflichtig zu sein – idealerweise einem Mentor, aber auch einem anderen Entwickler mit ähnlich viel Berufserfahrung wie Ihnen.
„Als Entwickler müssen Sie nach Gelegenheiten suchen, um zu zeigen, was Sie wissen und wie Sie lernen. Jemanden zu haben, mit dem man über die Herausforderungen sprechen kann, vor denen man steht, und Raum zu haben, um mit jemandem darüber zu sprechen und zu erkennen, dass „diese Sache, die ich versuche, kompliziert ist, ich bin kein schlechter Entwickler“, das zu haben Bestätigung kann enorm sein.“
Für diejenigen, die es nicht schaffen, einen leitenden Entwickler zu finden, der sie unter ihre Fittiche nimmt, empfehle ich, Fallinas Rat zu befolgen und sich gegenüber jemand anderem in der Branche auf einem ähnlichen Niveau wie Sie rechenschaftspflichtig zu machen. Entwickler, die sich zusammenschließen und Geschichten austauschen, werden bekräftigen, dass dieser Job hart ist und dass sie nicht die einzigen Ingenieure sind, die an manchen Tagen Schwierigkeiten haben, bei der Arbeit durchzukommen. Diese Arbeit kann emotional sehr anstrengend sein, und einen Kumpel zu haben, mit dem man sich abmühen kann, wird an jenen Tagen, an denen nichts gut zu laufen scheint, von unschätzbarem Wert sein.
Ich würde empfehlen, sich bei Interview Cake, Execute Program oder einem relevanten Udemy-Kurs für Ihr Können und Fachgebiet anzumelden und die gleichen Übungen wie Ihr Buddy ungefähr zur gleichen Zeit zu absolvieren. Besprechen Sie, was Ihnen leichter gefallen ist und wo Sie gestürzt sind, und bleiben Sie während der gesamten Zeit miteinander in Kontakt. Während Sie diese Dinge sicherlich alleine erledigen können, hilft Ihnen die Förderung eines Gemeinschaftsgefühls dabei, bei der Sache zu bleiben, und macht es wahrscheinlicher, dass Sie dabei bleiben.
Ein Fall für Scratch-Pad-Anwendungen
Wenn Sie die Zeit und Energie haben, sich zusätzlich zur Arbeit in ein großes Nebenprojekt zu stecken, haben Sie mehr Kraft, aber ich finde den Druck, dies zu tun, etwas lästig. Stattdessen bin ich ein Fan des Scratch-Pad-Projekts, vor allem weil ich sehr davon profitiere, vielen neuen Ideen auf einmal zu folgen und schnell desinteressiert an persönlichen Projekten werde, da mich kein Zeitdruck antreibt.
Wenn Ihr Nebenprojekt einen API-Aufruf durchführt, die Informationen auf halbwegs ansprechende Weise anzeigt und Sie etwas aus dem Prozess gelernt haben und das Projekt in eine größere Anwendung umwandeln, passt es nicht zu Ihrer Neurologie, Ihrem Pflegeplan , oder Ihren Geschmack, dann gönnen Sie sich eine Pause . Sie würden einen Künstler nicht wegen Skizzen verspotten, und Sie sollten sich sicherlich nicht schlecht fühlen, wenn Ihre Nebenprojekte halbfertige Mutanten sind, solange Sie etwas aus dem Prozess ziehen. Meine GitHub-Repositories sind Elegien vergangener guter Ideen, und ich habe meinen Frieden damit gemacht.
Zusammenfassen
Angesichts des derzeitigen Zustands der Welt möchte ich auf keinen Fall eine andere Stimme sein, die Produktivität im Lockdown fordert. Darum geht es hier nicht. Dies sind einfach Schritte, die für mich funktioniert haben, als ich im Laufe der Zeit lernen musste, ohne auszubrennen oder mich übermäßig unter Druck zu setzen. Wenn sie für dich arbeiten, wunderbar. Wenn nicht, keine Sorge. Wir alle haben unser eigenes Tempo.
Schritte
- Verwenden Sie Jobspezifikationen, um Schlüsselqualifikationen zu identifizieren.
- Teilen Sie diese Fähigkeiten zwischen dem Lernen am Arbeitsplatz und dem Lernen in Ihrer Freizeit auf.
- Setzen Sie sich klare, messbare und realistische Ziele und steigern Sie sie erst, wenn Sie Ihren Rhythmus gefunden haben.
- Finden Sie einen Mentor oder Kumpel, damit Sie für diese Ziele verantwortlich sind.
- Entspannen! Unordentliches Lernen ist besser als kein Lernen.
Nützliche Ressourcen
- Udemy
- Interview-Kuchen
- CS50
- Programm ausführen
- Coding-Coach
- Umschalt
- #CodeNeuling
- Online-Workshops von Smashing Mag
- FreeCodeCamp
- Frontend-Master
- In der Tat
- Wächter-Jobs
Viel Glück!