Dieser Beitrag soll mindestens einer Person da draußen helfen, die vor etwa einem Jahr in meinen Schuhen steckte. Die Ratschläge hier sind am wertvollsten, wenn Sie ernsthaft vorhaben, hauptberuflich Softwareentwickler zu werden, aber sie können auch von Wert sein, wenn Sie einfach nur Ihre Fähigkeiten erweitern wollen oder einfach nur neugierig darauf sind, Entwicklung zu lernen. Hier geht es nicht um das technische Zeug, sondern um das übergeordnete, wichtige Zeug.
Vor etwa anderthalb Jahren stand ich vor der schwierigen Entscheidung, wie es mit meiner Karriere weitergehen sollte. Meine Arbeit als beauftragter Projektmanager lief aus, ohne dass es eine Verlängerung gab. Der Arbeitsmarkt für Projektmanager ist hart und umkämpft, aber das größere Problem lag im Inneren. Obwohl ich für großartige Teams und Organisationen, ob groß oder klein, gearbeitet hatte, hatte ich nicht so viel Spaß, wie ich erwartet hatte. Ich hatte das Gefühl, gegen den Strom zu schwimmen und nicht das zu tun, was ich eigentlich tun sollte.
Ich traf die schwierige Entscheidung, das Programmieren zu verfolgen, was angesichts der Umstände ein bisschen verrückt war. Ich hatte einen Wirtschaftsabschluss und keine wirkliche Programmiererfahrung, abgesehen von ein paar HTML/CSS-Workshops. Ich hatte eine große Menge an persönlichen und universitären Bildungsschulden. Alles, was ich hatte, waren ein paar Ersparnisse, der Glaube daran, dass ich es schaffen könnte, und (zum Glück) einen sehr unterstützenden Partner. Ich habe einmal ein Buch gelesen, in dem stand, dass dein Verstand dich verkaufen wird, aber dein Herz wird es nie tun, es kann es einfach nicht. Also entschied ich mich, meinem Herzen zu folgen.
Hier, glaube ich, ist der beste Ort für die erste Lektion:
… und selbst wenn man einmal dort angekommen ist, hört das Lernen nie auf.
Das war das härteste Jahr, das ich je durchgemacht habe. Ich musste eine Menge Zeit investieren, um zu lernen und aufzubauen. Ich musste all meine Ersparnisse aufbrauchen und mich noch mehr verschulden. Ich musste mein Ego loslassen und akzeptieren, wieder ein Anfänger zu sein, ich musste weniger Zeit mit meinem Partner verbringen, ich musste mein Bestes tun, um meiner Familie und meinen Freunden zu erklären, dass ich eine komplette 180-Grad-Wende vollzog, ohne Garantie, jemals in eine Branche einzubrechen, die, obwohl sie sehr gefragt ist, von jungen Informatik-Absolventen und eifrigen Entwickler-Bootcamp-Absolventen überquillt.
Ich hatte auch kein Geld für Bootcamps. Ich hatte keine andere Wahl, als mir alles, was ich gelernt habe, selbst beizubringen. Das Einzige, was dich durchbringen wird, ist GRIT. Nicht Klugheit oder Geld. Diese können helfen, aber alles basiert auf der harten Arbeit, die man hineinsteckt. Und das Einzige, was dich durch diese harten Zeiten ziehen wird, ist, wenn du SPASS hast.
Das muss Spaß machen, um die harten Herausforderungen zu überstehen.
Die Aufregung, ein wirklich schweres Problem zu lösen, muss für Sie riesig sein, denn die Anstrengung, die Sie in das Lösen von Programmierproblemen stecken werden, kann manchmal stressig sein, zermürbend und zeitraubend sein kann. Wenn Sie aufgeregt oder sogar besessen davon sind, etwas zu lösen, das sich als Herausforderung erweist, wird das in großem Maße helfen.
Eine Kombination aus nicht aufgeben, wenn es schwierig wird, und aufgeregt sein, ein großes Problem zu lösen, sind notwendige Zutaten. Wenn Sie diese Zutaten haben, aber denken, dass Sie nicht klug genug sind, verstehen Sie, dass es nicht darum geht, am Anfang klug oder effektiv zu sein. Niemand weiß alles, besonders wenn er anfängt. Worauf es ankommt, ist das kontinuierliche Bemühen, egal wie lange es dauert, bis Sie hier ankommen.
Werden Sie die Vorstellung los, dass es beim Programmieren darum geht, großartig in Mathe zu sein. Ein Programmierer muss großartig darin sein, Probleme zu lösen, und zwar solche, auf die er noch nicht gestoßen ist. Das wird bei der Arbeit genauso wichtig sein wie zu Beginn der Lernreise.
Wählen Sie früh einen PFAD und FOKUSSIEREN Sie sich darauf.
Dies mag ein widersprüchlicher Rat sein, aber etwas, von dem ich wünschte, ich hätte es schon früh gewusst. Ich verstehe die Vorteile, wenn man versucht, ein bisschen von allem zu lernen. Ihr natürlicher Instinkt mag sein, alles lernen zu wollen. Sie werden schnell lernen, dass das unmöglich ist und nicht funktioniert.
Jeder Programmierer hat ein bestimmtes Fachgebiet, Fähigkeiten und es kann sehr granular werden. Firmen stellen Sie aufgrund von bestimmten Fähigkeiten ein. Es kann sein, dass Sie am Ende mit Software arbeiten, von der Sie noch nie gehört haben, wenn Sie erst einmal eingestellt sind, das ist in Ordnung und ein sehr wahrscheinliches Szenario, aber im Einstellungsprozess werden Sie mit bestimmten Fähigkeiten bewertet.
Wählen Sie einen PFAD oder Sie werden wahrscheinlich darunter leiden, dass Sie nur alles auf einer grundlegenden Ebene wissen und nichts auf einer tiefen Ebene, wo das wahre Lernen und die Herausforderungen liegen.
Das kann bedeuten, dass Sie zuerst eine kurze Forschungs- und Entdeckungsphase durchlaufen. Machen Sie es sich zum Ziel, auf einen bestimmten Weg zu kommen. Die wichtigste Entscheidung dabei ist, welche Art von Programmierung Sie machen wollen (z.B. Webdesign, Frontend, Backend Dev, mobile Anwendungen, etc.). Sobald Sie sich für einen Weg entschieden haben, recherchieren Sie die in der Branche verwendeten Standard-Tools, Berufsbezeichnungen, die Art der Fähigkeiten, die von Ihnen erwartet werden, usw. Es ist auch nützlich zu entscheiden, für welche Art von Unternehmen Sie arbeiten möchten. Ihr Job und Ihre Fähigkeiten können sehr unterschiedlich sein, z. B. zwischen Tech-Startups, großen Geschäftsbanken und Non-Profit-Organisationen.
BUILD PRODUKT. Dies sollte Ihr wichtigster Indikator für den Fortschritt sein.
Dies ist vielleicht wieder umstritten, hat aber für mich einen Unterschied gemacht. Eines der Dinge, mit denen ich anfangs zu kämpfen hatte, war, worauf ich mich Monat für Monat in Bezug auf den Fortschritt konzentrieren sollte. Es ist leicht, sich in Lernerfolgen, grünen Häkchen und Gratulationsbenachrichtigungen zum Abschluss von Online-Kursen zu verlieren. Diese sind großartig und notwendig für den Lernprozess. Aber am Ende interessiert es niemanden wirklich, was Sie in einem Kurs gelernt haben, wie viele davon Sie gemacht haben oder welche digitalen Zertifikate Sie dafür haben, dass Sie 120 Stunden damit verbracht haben.
Was sie interessiert, ist, was Sie GEMACHT haben. Ich sage nicht, dass Online-Kurse nicht wertvoll sind, sie können ein extrem wertvolles Werkzeug sein, um zu lernen, was Sie wissen müssen. Aber verlassen Sie sich nicht zu sehr auf sie, sondern lernen Sie schon früh, Ihre eigene Entwicklungsumgebung einzurichten (ja, mit dem anfänglich beängstigend aussehenden Terminal) und Dinge zu bauen.
Was Sie selbst bauen, Monat für Monat, sollte das sein, worauf Sie sich als Meilensteine auf der Reise konzentrieren sollten. Wenn Sie ein Vorstellungsgespräch führen, werden Sie fast die gesamte Zeit damit verbringen, darüber zu sprechen und es zu ZEIGEN. Die Leute lieben es zu SEHEN, was Sie aufgebaut haben.
Don’t be Afraid to DIVE INTO THE DEEP END.
Dies war vielleicht der beste Ratschlag, den ich zu Beginn meiner Gespräche mit anderen Programmierern über diesen Beruf bekommen habe. Wenn Sie schnell herausfinden wollen, ob Programmieren der richtige Karriereweg für Sie ist, ist dies der BESTE WEG, SICH SELBST zu testen. Es wird auch Ihre Ausdauer schneller aufbauen, wenn Sie wirklich innerhalb eines Jahres in einen Job kommen wollen.
Wenn Sie sich für einen Weg entschieden haben, wählen Sie ein HARTES Projekt. Vielleicht ist es eine coole App, die Ihnen vorschwebt, und Sie verwenden ein fortgeschrittenes Framework, um sie zu bauen – kein Projekt ist zu verrückt. Das Ziel ist hier nicht die Fertigstellung des Projekts (obwohl das toll wäre), sondern zu sehen, wie weit Sie kommen, wie Sie auf den Druck reagieren, in einem völlig unbekannten Raum zu sein, wie schnell Sie ein neues Konzept erfassen können.
Auf dem Weg werden Sie wahrscheinlich auf neue, aber wichtige Konzepte stoßen, über die Sie klettern müssen (Bsp. Einrichten einer Entwicklungsumgebung, Installieren Ihrer Tools, Finden und Verstehen der Dokumentation, Verstehen, wie man mit einer API kommuniziert, Verstehen, wie man einen AJAX-Aufruf macht, Verstehen, wie das Internet funktioniert, usw.)
Die Vorteile, die sich daraus ergeben, sind, dass es das ganze Lernen, das Sie tun werden, in eine Perspektive stellt. Es wird den Lektionen einen Sinn geben, wenn Sie sie lernen. Es wird Ihnen auch das VERTRAUEN geben, dass Sie es schaffen können. Sie werden es für die schweren, hart arbeitenden Monate brauchen, die vor Ihnen liegen. Haben Sie keine Angst davor, ins kalte Wasser zu springen, niemals.
Sein Sie offen in Bezug auf die Art der Branche oder des Marktes, in die Sie einsteigen.
Es ist wichtig, einen Weg und ein Ziel für die Art von Job vor Augen zu haben, die man möchte. Aber es ist auch wichtig, offen zu bleiben für die Möglichkeiten, die sich ergeben.
Mein ursprüngliches Ziel war es, in einem Tech-Startup einzusteigen, da ich viele Verbindungen und Erfahrungen mit der Startup-Szene in Toronto hatte. Aber ich wurde von einer unglaublichen Non-Profit-Organisation im Film- und Kunstbereich eingestellt, mit einem großartigen Team, einer lustigen Umgebung, einer bekannten Marke und vielen Wachstums- und Lernmöglichkeiten. Das Leben ist lustig und man weiß nie, wann eine ganz andere Branche oder ein ganz anderer Markt das haben könnte, was man sucht. Denken Sie daran, dass jeder Programmierer braucht, da jeder um die Aufmerksamkeit im digitalen Raum konkurriert.
Seien Sie offen und haben Sie während Ihrer Jobsuche keine Angst, über Ihre üblichen Grenzen hinauszugehen. Bewerben Sie sich bei einigen zufälligen, aber interessanten Organisationen, die Sie reizen. Auch wenn sie nicht explizit für Ihre Position einstellen. Sie wissen nie, wen Sie treffen können oder wer Ihre speziellen Fähigkeiten braucht. Leidenschaft und Interesse an Ihrer Arbeit hilft Ihnen dabei, Erfahrungslücken zu überbrücken. Die am wenigsten erwartete Branche könnte diejenige sein, die Ihnen die größte Chance bietet.
Networking ist GROSSARTIG, aber was noch größer ist, ist das AUFBAUEN VON PRODUKTEN.
Dies folgt früheren Ratschlägen und mag sich wiederholend anfühlen, aber ich wiederhole es wegen der Wichtigkeit. Dies mag auch widersprüchlich sein und noch mehr, wenn Sie aus einem geschäftlichen Hintergrund kommen. Ich weiß, ich verstehe es und ich habe es erlebt. Ihr Netzwerk ist Ihr Schlüssel. Wenn Sie Programmierer werden, ist das auch wichtig, aber nicht so wichtig wie das ERSTELLEN von PRODUKTEN. Es gibt auf dem Markt einen großen Bedarf an Entwicklern für die absehbare Zukunft. Wenn Sie bereit sind, wird es viele Möglichkeiten und Leute geben, die Sie treffen können. Aber bis dahin spielt es keine Rolle, wie viele Tech-Konferenzen oder Social-Networking-Events Sie besuchen.
Ich sage nicht, dass Sie diese Dinge nicht tun sollen, sie sind wertvoll und wichtig, um sich nicht in Ihrer eigenen Blase zu verlieren und um zu lernen, worüber die Branche spricht. Aber kümmern Sie sich MEHR darum, ein Produkt zu entwickeln. Das hilft Ihnen auch, wenn Sie Veranstaltungen besuchen und andere treffen, weil es Ihnen einen Fokus für Ihre Gespräche gibt. Sie können echtes, ehrliches Feedback, Ideen und vielleicht großartige Ratschläge bekommen, wenn Sie den Leuten etwas zeigen und mit ihnen sprechen. Nehmen Sie Ihren Laptop mit (wenn es angebracht ist) und zeigen Sie es den Leuten, holen Sie sich Feedback, üben Sie, Ihr Denken zu erklären und Ihre Gründe, warum Sie X auf eine bestimmte Art und Weise gebaut haben.
Erinnern Sie sich daran, dass Design wichtig ist und indem Sie anderen zeigen, was Sie gebaut haben, wird es Sie dazu zwingen, sich über Dinge wie UI, UX und visuelles Design Gedanken zu machen. Ich weiß, das mag beängstigend klingen, aber Sie müssen sich daran gewöhnen, über Ihre Projekte zu sprechen, wenn es zu Interviews kommt.
Ihr Ziel für Interviews: Lenken Sie das Gespräch auf das, was Sie gebaut haben.
Für einen maximalen Gesprächserfolg, sollte Ihr Ziel sein, das Gespräch auf Ihre Produkte zu lenken. Das wird nicht immer funktionieren und Sie werden höchstwahrscheinlich so oder so Codierungs- und technische Tests durchführen müssen, aber ich habe festgestellt, dass dies im Vorstellungsgespräch wirklich hilft. Seien Sie darauf vorbereitet, darüber zu sprechen, WARUM Sie bestimmte Entscheidungen getroffen haben.
Warum haben Sie dieses Framework/Bibliothek/Sprache gewählt? Warum haben Sie das so gebaut? Warum haben Sie diese Schaltfläche hier platziert (ja, als Programmierer sind Sie auch Teil des Designprozesses, Überraschung!)? Warum haben Sie diese Methode gewählt, um diese Liste zu sortieren? Wer ist der Benutzer (ja, als Programmierer sind Sie auch Teil des UX-Prozesses, Überraschung!)
Sein Sie darauf vorbereitet, über den Benutzer zu sprechen. Verstehen Sie den Benutzer tief und wie Ihr Projekt seinen Schmerz oder Wunsch löst. Personalverantwortliche werden sehr gerne sehen, dass Sie sich tief um den Benutzer kümmern und sich aller Vorurteile oder Annahmen bewusst sind, die Sie persönlich haben und die das Produkt beeinflussen könnten.
Erinnern Sie sich daran, dass die Person, die Sie einstellt, nicht versucht, Ihnen Angst zu machen oder Ihre persönlichen Entscheidungen in Frage zu stellen. Sie wollen, dass Sie gewinnen. Aber was sie am meisten interessiert, ist, wie Sie denken, wie Sie auf Herausforderungen reagieren und wie sehr Sie sich für den Benutzer und sein Problem interessieren. Diese Dinge können Sie am besten durch Ihre Projekte demonstrieren.
Just Keep Going Until You Get There.
Es ist eine schwierige Reise, voller Stress, man fühlt sich verloren und weiß manchmal nicht, wo man ist. Es ist wichtig, dass Sie sich von den turbulenten Gewässern nicht zum Aufgeben verleiten lassen. Denken Sie daran, dass jedes Problem, mit dem Sie konfrontiert werden, in Wirklichkeit eine verdeckte Chance ist. Etwas, das Sie vielleicht auf eine höhere oder tiefere Ebene des Verständnisses über ein Konzept bringt. Seien Sie nicht hart zu sich selbst, wenn Sie scheitern. Gewöhnen Sie sich daran, viele Male zu scheitern und nehmen Sie es als Teil der Reise an.
Ich hoffe, dieser Rat erreicht jemanden da draußen, der ihn braucht und das durchmacht, was ich durchgemacht habe, und ich hoffe, er hilft. Du kannst es schaffen, mach einfach WEITER! 🙌🙌🙌
Danke fürs Lesen und bitte folgen Sie mir auf Medium oder Twitter @aellenj