In diesem Beitrag werde ich erzählen, wie ich in neun Monaten von Null(ish) zu einem sechsstelligen Stellenangebot für Software-Engineering übergegangen bin Vollzeit und Autodidakt.
Wann immer ich anfing, eine Erfolgsgeschichte zu lesen, suchte ich sofort nach dem Hintergrund des Autors und hoffte, dass er mit meinem übereinstimmen würde. Ich habe nie jemanden gefunden, der den gleichen Hintergrund wie ich hatte, und höchstwahrscheinlich wird meiner nicht genau zu Ihrem passen.,
Trotzdem hoffe ich, dass meine Geschichte andere inspiriert und als wertvoller Datenpunkt dient, der zu Ihrem Success Story-Datensatz hinzugefügt werden kann.
Vollständige Offenlegung
Ich habe vor neun Jahren einen Visual Basic for Applications (VBA) – Kurs in der High School besucht. In meinem Erstsemesterkurs (vor sieben Jahren) habe ich C, Python, Matlab und Labview gelernt. Ich habe eine gute Universität mit einem Abschluss in Chemieingenieurwesen und einem guten GPA (vor drei Jahren) abgeschlossen. Ich hatte außerhalb der Schule, in der High School oder am College keine Programmierung gemacht, bis ich beschloss, letztes Jahr lernen zu wollen.,
Nach dem College bekam ich einen Job als Verfahrenstechniker in einer Raffinerie. Ich arbeitete dort, bis ich Karriere in Software Engineering geändert.
Warum wollte ich ändern Karriere
ich genoss die Lösung der technischen Probleme, aber ich wusste, dass ich wollte, um in die business/startup-Welt an einem gewissen Punkt. Ich habe immer den Gedanken an einen MBA im Hinterkopf behalten, aber jedes Mal, wenn ich mir das Preisschild der Top-Schulen anschaute, schwand mein Interesse.Mai 2017 fand ich mich wieder über MBAs googeln, und irgendwie stolperte ich über Software Engineering. Es schien perfekt zu passen.,
Software-Ingenieure sind zunehmend gefragt, die Gehälter sind großartig und es ist die perfekte Branche, um in die Startup-Welt einzusteigen, ohne eine Menge Anfangskapital zu benötigen. Alles, was Sie brauchen, ist ein computer, und Ihre Möglichkeiten sind Grenzenlos (Art).
In keiner anderen Ingenieurdisziplin können Sie einfach eine Idee haben, mit dem Bau beginnen, sie den Benutzern zeigen und mit wenig Kapital und geringer Eintrittsbarriere iterieren. Im Chemieingenieurwesen benötigen Sie im Wesentlichen eine laufende Anlage oder viel Geld, um eine Anlage zu entwerfen, wenn Sie eine Idee für ein neues Produkt haben.,
Ich hatte von Leuten gehört, die ihren Job kündigten und an einem Bootcamp teilnahmen, aber je mehr ich online darüber las, desto mehr wurde mir klar, dass Sie alles selbst lernen können, wenn Sie engagiert und konzentriert sind.
Sie könnten argumentieren, dass Sie die Netzwerk-und Karriereberatung eines Bootcamps verlieren. Das kann wahr sein, aber ich hatte das Glück, dass ich in der Bay Area lebte, was mir erlaubte, an mehreren Meetups teilzunehmen, also habe ich mich so vernetzt.
Außerdem war der schlimmste Fall, dass ich merkte, dass ich es nicht alleine machen konnte, und dann kündigte ich meinen Job, um an einem Bootcamp teilzunehmen.,
Das Ziel
Sie müssen ein Ziel haben. Besonders wenn Sie versuchen zu lernen, während Sie Vollzeit arbeiten. Es ist einfach, Ihr Lernen immer weiter ziehen zu lassen, wenn Sie keinen externen Druck haben. Sie müssen also inneren Druck erzeugen. Ihr Ziel sollte einfach und quantitativ sein. Sie sollten genug recherchieren, um ein vernünftiges Ziel zu erreichen., Meine war die folgende:
Holen Sie sich einen Software-Engineering-Job innerhalb eines Jahres mit dem gleichen oder besseren Gehalt als ich gerade mache.
Der Plan
Sobald Sie ein Ziel haben, benötigen Sie einen plan, um Ihnen dabei helfen. Hier konsumieren Sie so viele Erfolgsgeschichten wie möglich. Keiner von ihnen wird Ihre genaue Situation entsprechen, aber Sie können einige Ratschläge von jedem nehmen., Ich habe meinen Plan mit Ressourcen wie dem Learnprogramming-Subreddit, dem freeCodeCamp-Forum und Medium entwickelt (und durchlaufen).Mai 2017 entschied ich mich, den Codierungstauchgang zu machen, und tauchte zuerst in den Kopf. An diesem Tag beschloss ich, nicht mehr als 40 Stunden pro Woche in meinem Job einzusetzen, damit ich nach der Arbeit und am Wochenende Zeit zum Codieren hatte. Zum Glück für Sie habe ich meine Fortschritte ziemlich gut dokumentiert.,
Mein Plan sah durch viele Iterationen ungefähr so aus:
- Machen Sie eine Einführung in den CS-Kurs, um ein solides Grundverständnis der Kern-CS-Konzepte zu erhalten
- Folgen Sie freeCodeCamp, bis ich Full-Stack-Web-Apps auf Portfolioebene selbst erstellen kann
- Refactor um den Code zu bereinigen, Tests hinzuzufügen, sich auf erweiterte Konzepte zu konzentrieren
- Tragen Sie zu Open Source bei
- Bereiten Sie sich auf Vorstellungsgespräche vor
Zunächst war mein Plan einfach., Zu der Zeit dachte ich, ich würde dem technischen Leitfaden von Google folgen, also begann ich mit dem empfohlenen Einführungskurs Udacity CS101.
Monat 0-Udacity CS101, Harvard CS50
Das Hoch dieser großen Entscheidung gab mir eine Menge Energie. Ich würde anfangen zu programmieren, sobald ich von der Arbeit nach Hause kam, und würde nicht aufhören, bis ich ins Bett ging. Und dann wieder das ganze Wochenende. Udacity CS101 verfolgte den Fertigstellungsprozentsatz, was für mich ein großer Motivator war. Ich habe meinen Abschlussprozentsatz jeden Tag nach dem Codieren protokolliert. Ich beendete die ersten 75% in 10 Tagen., Die letzten 25% waren schwer in der Rekursion und es war etwas schwieriger für mich. Alles in allem habe ich 20 Tage gebraucht, um Udacity CS101 zu beenden.
Während ich Udacity CS101 nahm, hatte ich angefangen, den Learnprogramming-Subreddit ziemlich stark zu lesen. Ich habe gelesen, dass es für autodidaktische Entwickler wichtig war, eine berufliche Veränderung vorzunehmen, um online aktiv zu sein. Ich habe beschlossen, neue Twitter -, Reddit -, Stack Overflow -, Medium-und Quora-Konten mit meinem vollständigen Namen zu erstellen, damit ich eine Online-Präsenz aufbauen kann.,
Außerdem habe ich beschlossen, ablenkende Medien wie Instagram, Facebook und Nicht Programmier-Subreddits nicht mehr zu lesen. Ich würde mein Telefon nur auf programmbezogene Nachrichten und Beiträge überprüfen. Dies war entscheidend, um sicherzustellen, dass ich die besten Lernpfade und Lernressourcen herausfand. Aus diesem Grund habe ich auf edX von Harvard CS50 erfahren.
Ich war ursprünglich damit zufrieden, nur einen Intro-Kurs zu machen, aber jeder schien Harvard CS50 zu empfehlen, also beschloss ich, als nächstes darauf einzugehen., CS-Studenten an anderen Schulen hatten diesen Kurs besucht und sagten, sie hätten in CS50 mehr gelernt als ein oder zwei Jahre an ihrer Universität, die CS studierte. Der allgemeine Konsens war, dass der Kurs schwierig war, sich aber gelohnt hat. Am Ende des Monats 0 hatte ich die ersten 5 Vorlesungen und Hausaufgaben abgeschlossen.
1 Monat – Harvard CS50, Linux, 1. Meetup freeCodeCamp
ich abgeschlossen CS50 über auf halbem Weg in den Monat. Ich werde meine Erfahrungen mit CS50 nicht zu sehr kommentieren, da ich hier einen ausführlichen Beitrag über meine Erfahrungen geschrieben habe.
TLDR: Es ist ein toller Kurs, ich kann es nur wärmstens empfehlen., David Malan ist ein ausgezeichneter Dozent, und es gibt eine Menge Ressourcen, die Ihnen dabei helfen. Sie beginnen in C, fahren mit Python fort und beenden dann die Webentwicklung. Es ist sehr dicht und es gibt viel Material, aber ich denke, es lohnt sich.
Nach CS50 habe ich beschlossen, meine XPS 15 auf Dual-Boot-Windows und Ubuntu einzurichten. Das war ein Frustrierendes Wochenende. Ich habe meine Partitionen durcheinander gebracht und fast meinen Laptop gemauert. Ich war kurz davor, meinen Laptop zu rucken und einen neuen zu bekommen.
Ich entwöhnte mich langsam von Windows und wurde schließlich ausschließlich mit Ubuntu., Ich wollte mich zwingen, mich mit der Befehlszeile vertraut zu machen, die meiner Meinung nach bis zu einem gewissen Grad funktioniert hat, aber ich habe noch einen langen Weg vor mir.
Ich habe 100 Tage Code gestartet, um sicherzustellen, dass ich jeden Tag konzentriert und codiert bin. Es ist wichtig, Ihre Fortschritte zu dokumentieren. Wenn Sie jeden Tag Fortschritte machen, wird es nicht viel erscheinen, aber wenn Sie einen Monat oder mehrere Monate zurückblicken, werden Sie feststellen, dass Sie tatsächlich einige Fortschritte gemacht haben, die Sie motivieren, weiterzumachen.
Ich wusste, dass Networking mich machen oder brechen würde, also musste ich den Mut aufbringen, zu meinem ersten Coding Meetup zu gehen., Ich war noch nie zu einem Meetup gegangen, geschweige denn zu einem Coding Meetup. Ich war so nervös, dass ich mich nach der Fahrt dorthin, dem Parken und dem Gehen zur Tür fast umdrehte und nach Hause ging.
Es half, dass es das erste Meetup für die Gruppe war. Ich erkannte schnell, dass es keinen Grund gab, nervös zu sein. Niemand kannte sich, niemand war wertend und jeder war lernbegierig. Dies war der Beginn einer meetup-spree. Am Ende besuchte ich über 50 Meetups in 9 Monate.
Ich bin froh, dass ich früh zu Meetups gegangen bin., Die meisten Leute begannen erst, Meetups zu besuchen, als sie nach einem Job suchten, aber zu diesem Zeitpunkt ist es fast zu spät. Es gibt so viele Gründe, früh zu starten. Um nur einige zu nennen:
- Das Entwickeln von Beziehungen dauert lange. Früh anfangen bedeutet, dass Sie Verbindungen haben, die für Sie bürgen können, wenn Sie später nach einem Job suchen
- Wenn Sie über das Programmieren mit Fremden sprechen, können Sie sich auf Interviews vorbereiten
- Sie können neue Frameworks, Tools und Lernressourcen von Menschen lernen, die vor Ihnen liegen. Dies kann Ihren zukünftigen Lernplan beeinflussen.,
Zu diesem Zeitpunkt herrschte auf meiner Codierungsreise eine gewisse Unsicherheit. Hier ging es darum, wann ich entscheiden musste, welche Art von Softwareentwickler ich sein wollte.
Letztendlich entschied ich mich für die Webentwicklung, weil es eine hohe Nachfrage und auch viele Online-Ressourcen zu geben schien. Sobald ich das herausgefunden hatte, musste ich herausfinden, was als nächstes zu tun ist. Einige Leute empfahlen, dass ich zu diesem Zeitpunkt über Web-Apps nachdenken sollte, die ich erstellen wollte, und dann loslegen sollte. Einige Leute empfahlen das Odin-Projekt oder freeCodeCamp.,
Der Typ, der das wöchentliche Meetup leitete, an dem ich teilnahm, kannte Ruby und wollte Projekte mit Ruby machen. Dies war ein großer Grund, warum ich mich für das Odin-Projekt entschieden habe.
Und dann zwei Tage später habe ich diese Idee aufgegeben.
Das ist einer der Nachteile des autodidaktischen Weges. In einer Minute denkst du, du weißt, welchen Weg du gehen solltest, aber am nächsten Tag fragst du dich, ob das der richtige Schritt war.
Ich habe gelesen, dass Ruby in Ungnade gefallen ist, und ich habe dies bewiesen, indem ich nach Ruby vs JavaScript Jobs gesucht habe, also habe ich freeCodeCamp gestartet., Die eine Sache, die mich über freeCodeCamp störte, war, dass sie mit den Projektideen kamen, so dass jeder Camper die gleichen Projekte macht. Dies betraf mich zuerst, weil ich mich von Personalvermittlern abheben wollte. Am Ende habe ich freeCodeCamp jedoch geliebt und empfehle es jetzt sehr. Für weitere Details zu meinen Erfahrungen und Empfehlungen in Bezug auf freeCodeCamp, schau dir mein Writeup hier an.
Monat 2-YDKJS, freeCodeCamp Frontend, React
Ich habe angefangen zu lesen, dass Sie JavaScript nicht kennen, weil jeder es empfohlen hat, freeCodeCamp zu ergänzen., Ich musste mehrere Abschnitte erneut lesen, da sie ziemlich dicht sind, aber es ist eine perfekte Ressource, um lexikalischen Umfang, Schließungen, Versprechen und alle Teile von JavaScript zu lernen, von denen Sie hören und lernen möchten, aber niemals tun, weil sie schwierig erscheinen.
Ich habe den Frontend-Abschnitt von freeCodeCamp beendet. Das Checklistenformat und die geschätzte Fertigstellungszeit haben mich motiviert, schnell fertig zu werden. Ich juckte auch, zum nächsten Abschnitt überzugehen und zu lernen, zu reagieren. Dies bedeutete jedoch auch, dass meine Projekte nur ein minimales Styling hatten. Ich habe alles getan, um die User Stories zu erfüllen und nichts mehr.,
Im Nachhinein hätte ich mich vielleicht darauf konzentrieren sollen, die Projekte attraktiver zu machen. Vielleicht hätte mir das geholfen, CSS tiefer zu lernen.
Der nächste Schritt war das Lernen Reagieren, und ich war ziemlich gepumpt.
Ich hatte so viel davon gehört, und ich war bereit, mit den coolen Kindern zu passen. Angesichts der damaligen Lizenzprobleme war ich jedoch etwas zögerlich. Ich bin wirklich froh, dass das kein Problem mehr ist. Reagieren zu lernen war schwierig für mich. Mir waren damals keine guten Tutorials bekannt (aber es scheint, als gäbe es jetzt eine Tonne).,
Ich habe versucht, die Dokumente zu lesen und dem Tic-Tac-Toe-Tutorial von Facebook zu folgen, aber ich habe nicht alles verstanden. Mir wurde gesagt, wenn das nicht für mich funktionierte, dann bedeutete das, dass ich JavaScript nicht genug verstand. Also ging ich zurück zu lesen Sie wissen nicht, JavaScript, aber wieder war das zu dicht für mich.
Monat 3-freeCodeCamp React, CodeClub, freeCodeCamp Backend starten
Letztendlich habe ich gerade beschlossen, mich durch die freeCodeCamp React-Projekte zu arbeiten, um zu sehen, wie es gelaufen ist. Dieser Code war hässlich, aber er half mir, React ein wenig besser zu verstehen.,
Das Meetup, an dem ich wöchentlich teilgenommen hatte, entschied, dass sie Projekte mit Full-Stack-JavaScript anstelle von Ruby erstellen würden, und sie beschlossen, dass das erste Projekt darin bestehen würde, eine Website für die Meetup-Gruppe CodeClub zu erstellen.Sozial.
Ich habe Karten mithilfe der React-und Meetup-API entwickelt, mit denen sich der Benutzer von unserer Website aus für die nächsten drei Meetups anmelden kann. Es war ein wenig schwierig für mich, eine kurze Pause von freeCodeCamp zu machen, aber es war eine Gelegenheit, die ich nicht verpassen konnte. Ich war glücklich, mit einer kleinen Gruppe von Menschen an einem Projekt zu arbeiten., Es hat mir auch geholfen, Git und Github zu lernen.
Bevor der Monat vorbei war, habe ich angefangen, am Backend-Abschnitt von freeCodeCamp zu arbeiten.
Monat 4-Fertiges freeCodeCamp-Backend, Yeggle
Ich habe alle API-Projekte in freeCodeCamp durchgearbeitet, aber ich habe angefangen, vom freeCodeCamp beim Abstraktionsschichtprojekt für die Bildsuche abzuweichen.
Ich juckte es, vollständige Stack-Webanwendungen zu erstellen, und sobald ich den Titel dieses Projekts sah, hatte ich eine Idee für mein eigenes Projekt., Ich würde eine Knoten-App erstellen, die zufällige Imgur-URLs in einer Datenbank speichert, und dann ein Frontend erstellen, das eine benutzerdefinierte Anzahl dieser zufälligen Bilder ausgibt. Was jeder sagt, ist wahr: Sie arbeiten härter und haben mehr Erfolg, wenn Sie an einem Projekt arbeiten, das Ihre eigene Idee war.
Sobald ich es an die Arbeit gebracht habe, war ich sehr stolz auf mich. Es war hässlich und klobig, aber es funktionierte.
Während ich freeCodeCamp durchlief, lernte ich, welche Projekte in meinen Fähigkeiten liegen würden., Ich rannte zu der Zeit regelmäßig, Also kam ich auf Ideen für meine Läufe und schrieb sie auf, als ich nach Hause kam. Auf diese Weise hätte ich eine Liste von Projektideen, wenn ich bereit war.
Ich fühlte mich endlich bereit, meine eigenen nützlichen und polierten Full-Stack-Web-Apps zu erstellen, die ich mit Benutzern teilen und in mein Portfolio aufnehmen konnte. Ich war so bereit, loszulegen.
Wenn ich nach einem neuen Restaurant suche, öffnete ich immer Yelp, um Bewertungen zu überprüfen, und öffnete dann Maps, um ihre Bewertungen zu überprüfen. Was wäre, wenn ich eine App erstellt hätte, die beide nebeneinander vergleicht?
Also habe ich Yeggle gemacht., Ich habe Node/Express/React zusammen mit den Google Maps-und Yelp-APIs verwendet. Es gab ein paar Hindernisse, von denen ich nicht dachte, dass sie überwunden werden könnten, aber am Ende war ich fertig und ich war sehr stolz auf meine App. Dann habe ich es auf Reddit gepostet, und niemand kümmerte sich darum. Das war ein bisschen blöd, aber ich habe es nicht im Stich gelassen.
Monat 5 – StockIT
ich habe nicht ganz so viel getan in diesem Monat, als ich begann, ihn mit einem zweiwöchigen Urlaub nach Japan und Thailand!
Aber ich habe mein nächstes Projekt gestartet und abgeschlossen., Ich las immer wieder darüber, wie schwierig es war, einen Job als Autodidakt zu bekommen, also dachte ich, ich müsste etwas Einzigartiges tun. Ich erinnerte mich an ein Spiel, in dem ein Dow Jones-Aktiendiagramm im Trend lag, und Sie hatten eine Gelegenheit zu kaufen und eine Gelegenheit zu verkaufen, und das Ziel war es, den Markt zu schlagen. Der Zweck des Spiels war es, Ihnen zu zeigen, wie schwierig es war, den Markt zu schlagen.
Meine Idee war es, ein ähnliches Spiel zu machen, aber anstelle des Marktes würden Sie gegen einen Algorithmus für maschinelles Lernen spielen. Also habe ich StockIT erstellt.,
Ich habe ein Video-Tutorial zu Pandas und Scikit Learn gemacht, das mehrere Techniken des maschinellen Lernens umfasste. Ich wollte ursprünglich ein paar coole Deep-Learning-Techniken machen, aber mir wurde klar, dass das massive Datensätze und mehr Zeit in Anspruch nahm, als ich ausgeben wollte.
Stattdessen habe ich mich an ein einfaches lineares Regressionsmodell gehalten. Ich dachte, das wäre der harte Teil, aber das war es nicht. Erste D3 jive mit Reagieren, war der schwierige Teil. Beide Bibliotheken wollten das DOM steuern. Es gab einige andere Bibliotheken, die geholfen haben, sich den beiden anzuschließen, aber ich fühlte, dass sie zu aufgebläht waren., Am Ende habe ich D3 verwendet, um die SVGs zu generieren und zu reagieren, um mit dem DOM umzugehen, was für mich recht gut funktioniert hat.
Dieses Mal, als ich es mit Reddit geteilt habe, haben es alle geliebt!
Stellt sich heraus, genau wie bei VCs dreht sich bei Redditors alles um maschinelles Lernen. Die ganze Liebe von Reddit war ein großer Vertrauensschub. Die Leute haben mein Spiel gespielt und es genossen!
Monat 6-jobSort (), Job Hunt Prep
Nach StockIT bin ich direkt in mein nächstes persönliches Projekt gerollt. Ich wollte ein Jobboard erstellen, das die kleineren tech-fokussierten Joblisten-Websites wie Stack Overflow, Github und Hacker News aggregiert., Um meinen eigenen einzigartigen Spin hinzuzufügen, habe ich beschlossen, ihn basierend auf den Technologien sortieren zu lassen, die der Benutzer in einem Job wollte und wie sehr er jeden von ihnen wollte.
Nehmen wir zum Beispiel an, ich suchte einen Job, der jemanden suchte, der JavaScript, React und/oder Python kannte, und ich wollte wirklich mit JavaScript und React arbeiten, aber mir war Python egal. Dann könnte ich JavaScript eine 3, React eine 3 und vielleicht Python eine 1 geben. Die Listen würden dann entsprechend sortiert.,
Ich bin mit diesem Projekt auf verschiedene Hindernisse gestoßen und musste ein paar Mal den Kurs wechseln, aber am Ende hatte ich ein Produkt, mit dem ich zufrieden war. Mein letzter Tech-Stack war React/Node/Express / MySQL. Ich habe das Projekt im cscareerquestions-Subreddit gepostet und 650 Ansichten erhalten, bevor es gelöscht wurde, da persönliche Projekte nicht zulässig sind.
Das „endgültige“ Produkt ist hier, und wenn Sie mehr über meine Kämpfe und Refaktoren erfahren möchten, lesen Sie meinen Beitrag hier.
Aufgrund meiner Probleme nahm jobSort() einen anständigen Teil des Monats in Anspruch., Am Ende bekam ich Kaffee mit einem Freund, den ich bei meinem ersten Treffen getroffen hatte, und er riet mir, mich jetzt für eine Stelle zu bewerben. Ich habe überall gelesen, dass jeder sagt, dass er zu lange gewartet hat, um sich zu bewerben. Immer wenn ich einen Beitrag sah, in dem gefragt wurde, wann ich mich bewerben sollte, war der oberste Kommentar immer „jetzt.“
In meinem Kopf wollte ich mich durch meinen strukturierten Plan arbeiten, um mein Portfolio mit persönlichen Projekten aufzubauen, dann an Open-Source-Beiträgen zu arbeiten, mich dann auf Interviews vorzubereiten und mich schließlich für Jobs zu bewerben. Dieser Freund überzeugte mich, diesen Plan fallen zu lassen und sich zu bewerben., Also habe ich diesen Monat ein Portfolio und einen Lebenslauf gemacht. Im folgenden Monat würde ich mich bewerben.
Monat 7-Testen, Jobsuche
Diesen Monat habe ich mich darauf konzentriert, meine Projekte zu verbessern und mich für Jobs zu bewerben. Ich wollte auch Testen und Redux lernen.
Ich habe Flexbox zu CodeClub hinzugefügt.Sozial, um es ansprechbar zu machen. Ich habe die mobile UX auf jobSort () verbessert. Ich habe jobSort() mit mocha/chai/enzyme zu jobSort () hinzugefügt, was schwierig einzurichten, leicht zu beginnen und dann schwierig zu 100% zu decken war.
Bis Ende des Monats hatte ich mich auf 63 Stellen beworben. Ich betrachtete dies als Selbsteinschätzung., War mein Portfolio / Lebenslauf gut genug? Wenn ja, woran musste ich arbeiten, um mich auf Interviews vorzubereiten? Zuerst bewarb ich mich mit Hacker News: Wer stellt, und in der Tat.
Bei Hacker News habe ich jobSort() verwendet, um zu bestimmen, für welche Angebote ich mich bewerben soll. In der Tat habe ich versucht, Nicht-Software-Unternehmen, um zu sehen, ob ich sogar einen Anruf oder ein Interview überall bekommen könnte.
Zuerst habe ich mich schnell beworben und meinen Lebenslauf/Anschreiben nicht personalisiert. Dann habe ich beschlossen, mein Anschreiben und meinen Lebenslauf zu personalisieren und dann zu versuchen, eine E-Mail an jemanden aus dem Unternehmen zu senden., Diese Methode war eindeutig besser als der Schrotflintenansatz.
Ich erhielt fünf Anrufe in diesem Monat-zwei von Recruiting-Unternehmen und drei von Software-Unternehmen, die enthalten:
- a Contracting DevOps / Testing Rolle bei einem dotcom-Unternehmen
- a series B Food Analytics Company, und
- ein ziemlich großes und erfolgreiches Startup, das vor kurzem von einem großen Unternehmen gekauft wurde
Ich habe es vorbei an der HR-Bildschirm in zwei von diesen, aber keiner von ihnen ergab ein Vor-Ort-Interview. Ich war ziemlich zufrieden mit den drei Anrufen und habe viel von ihnen gelernt.,
Jeder erwähnte online, dass Junior-Entwickler von Anfang an nicht so viel wissen werden, sie müssen nur leidenschaftlich und aufgeregt sein, um zu lernen. Also dachte ich, einfach. Ich bin leidenschaftlich und aufgeregt zu lernen. Was ich aus diesen Anrufen gelernt habe, war jedoch, dass niemand nach einem Junior-Entwickler suchte. Sie erwarten, dass Sie vom ersten Tag an wissen, was Sie tun.,
Diese Anrufe haben mich gelehrt, dass ich
- gut genug sein musste, um vom ersten Tag an einen Mehrwert zu schaffen
- Seien Sie zuversichtlich genug, um sie davon zu überzeugen, dass ich vom ersten Tag an einen Mehrwert schaffen kann
Monat 8 – Nachtschicht, Redux, Open Source, Vor – Ort-Interview
Ich habe diesen Monat damit begonnen, die Nachtschicht für eine 40-Tage-Strecke in meinem Vollzeitjob zu arbeiten-6 Tage die Woche, 12 Stunden am Tag, 17.00 bis 05.00 Uhr. Pfui.
Ich wusste, dass ich diesen Monat nicht so viel erledigen könnte, aber ich hatte ein Ziel und wollte es erreichen, also konnte ich mir keinen Monat frei nehmen.,
Ich habe jobSort neu gestaltet, um Redux zu verwenden, was überraschenderweise nicht so schwierig war, wie ich es mir vorgestellt hatte. Ich habe mir viele Podcasts darüber angehört und Blogposts darüber gelesen, und es machte für mich nie einen Sinn, bis ich anfing, es zu benutzen.
Ich mag den Datenfluss mit Redux sehr. Es ist jetzt interessant zu sehen, wie sich Leute über Redux beschweren. Ich glaube nicht, dass ich qualifiziert bin, meine Meinung stark auszusprechen, aber ich mag das Reduzierermuster.
Dies sollte für mich der Monat Open Source sein., Ich würde meinen ersten Open-Source-Beitrag leisten, und es wäre ein großartiger Beitrag zu einer fantastischen Bibliothek. Ich wollte dazu beitragen, zu reagieren!
Jeder sagte, es sei eine schwierige Codebasis zu lesen, geschweige denn dazu beizutragen. Aber ich musste auffallen, ich musste einzigartig sein. Ich wusste, dass mein Beitrag nicht signifikant sein würde, aber ich wollte es trotzdem tun.
Ich würde anfangen, die Dokumente den ganzen Weg durch zu lesen und dann durch die Codebasis zu gießen. Sehen Sie jede Ausgabe, jede PR. Das vollständige Durchlesen der React-Dokumente war eine großartige Übung, und ich bin froh, dass ich es getan habe., Aber ich erkannte schnell, dass das Problem mit dem Beitrag zu reagieren ist, dass es einfach nicht so viele „gute erste Probleme“ gibt, und sie werden schnell geschnappt.
Bei einem der Meetups, an denen ich teilgenommen habe, empfahl Anthony Ng, Downshift auszuprobieren, eine Autocomplete-Bibliothek von Kent C. Dodds. Dies war ein gamechanger. Es war direkt in meinem Steuerhaus. Die richtige Schwierigkeit, die richtige Menge an Problemen, mit denen Sie helfen können, nicht zu viele Mitarbeiter, ein super hilfreicher Betreuer, sauberer, gut getesteter Code. Darüber hinaus war es eine perfekte Lösung für einige Probleme, die ich mit meiner jobSort () – Anwendung hatte.,
Ungefähr zur Hälfte des Monats erhielt ich eine E-Mail von einem der Unternehmen, bei denen ich mich im Vormonat beworben habe. Sie richten einen ersten Telefonbildschirm und dann einen technischen Telefonbildschirm ein. Die Technologien, nach denen sie suchten, waren genau das, was ich gelernt hatte – React, Redux und D3. Ich habe meistens nur über meine Projekte gesprochen und warum ich bestimmte Entscheidungen getroffen habe. Danach baten sie mich, zu einem Vorstellungsgespräch vor Ort zu kommen. Mein erstes Interview vor Ort!,
Ich hatte mich überhaupt nicht auf Interviews vorbereitet, also ging ich mit der Erwartung hinein, dass ich den Job nicht bekommen würde, aber ich würde wertvolle Interviewerfahrung sammeln. Ich hatte auch drei Stunden Schlaf, da ich noch in der Nachtschicht arbeitete, was nicht half. Glücklicherweise war der technische Teil kein Whiteboarding, nur eine einstündige Paar-Programmiersitzung. Es war eine ziemlich einfache Herausforderung, aber ich war sehr nervös.
Zuerst machte ich mir Sorgen, dass ich alles wusste, ohne es nachzuschlagen., Als ich merkte, dass ich die Herausforderung nicht beenden würde, wurde mir klar, dass ich aufhören musste, mir Sorgen zu machen, was der Interviewer von mir hielt, und nur Google/Stack Overflow, um Antworten zu finden. Ich bin nicht fertig geworden und dachte, ich wäre kläglich gescheitert.
Da ich dachte, ich habe die Paarprogrammierung versagt, fühlte ich mich für den Rest des Interviews entspannt. Letztendlich verließ ich das Interview mit erhobenem Kinn. Schlimmsten Fall habe ich einige wertvolle interviewen Erfahrung, und im besten Fall bekam ich meinen ersten job bieten.,
Monat 9-Stellenangebot
Am Ende erhielt ich mein erstes Stellenangebot 9 Monate und 7 Tage nach diesem ersten Tag, als ich beschloss, mich zuerst mit der Programmierung zu befassen mit der Absicht, die Karriere zu ändern. Ich war zuversichtlich, da ich nach meinem ersten Vor-Ort-Interview ein Angebot erhalten hatte, aber gleichzeitig, wenn ich das Angebot nicht annehmen würde, was wäre, wenn dies das einzige Angebot wäre, das ich für mehrere Monate erhalten würde? Am Ende nahm ich das Angebot an und bin mit meiner Entscheidung zufrieden. Ich wollte für Code bezahlt werden!,
Beratung
Bis zu diesem Punkt habe ich meine Geschichte größtenteils mit einigen Ratschlägen geteilt. Wenn Sie dies lesen, denken Sie wahrscheinlich entweder über einen Karrierewechsel nach oder sind gerade dabei, Code zu lernen, um die Karriere zu ändern. Ich hoffe, dass der folgende Rat Ihnen hilft, einen Plan zu entwickeln oder sich an Ihren aktuellen Plan zu halten und Ihr Ziel zu erreichen.
- Finde heraus, was dich motiviert und nutze es zu deinem Vorteil. Für mich waren es Checklisten, die meinen Fortschritt dokumentierten und mit verschiedenen Programmiergemeinschaften interagierten., Wenn Sie nicht motiviert sind, Ihr Ziel zu erreichen, ist nichts anderes wichtig, da Sie nicht fertig werden.
- Ziele setzen und diese erfüllen. Ich würde argumentieren, dass Sie monatliche Ziele und vielleicht sogar tägliche Ziele haben sollten. Monatliche Ziele, um sicherzustellen, dass Sie auf dem richtigen Weg sind, um Ihr Hauptziel zu erreichen, und tägliche Ziele, um sicherzustellen, dass Sie tatsächlich tägliche Fortschritte machen. Eine Strategie, die für mich funktionierte, war, meine täglichen Ziele in der Nacht zuvor zu erreichen. Auf diese Weise können Sie nicht den ganzen Tag unproduktive Arbeit leisten und das Gefühl haben, Fortschritte gemacht zu haben, wenn Sie es wirklich nicht getan haben., Es zwingt Sie, Ihre täglichen Leistungen mit Ihren täglichen Zielen zu vergleichen.
- Gehen Sie zu Meetups Weg, bevor Sie denken, Sie sind bereit. Zu Meetups zu gehen kann beängstigend sein, aber wie ich oben erwähnt habe. Aber im Allgemeinen ist jeder nett und bereit zu helfen. Sie könnten Leute finden, die nicht daran interessiert sind, mit Ihnen zu sprechen, aber sie sind die Minderheit und niemand wird urteilen. Außerdem gibt jeder gerne Ratschläge (wie ich es gerade tue).
- Tragen Sie zu Open Source bei, bevor Sie denken, dass Sie bereit sind., Wenn Sie zum ersten Mal mit der Programmierung beginnen, scheint Github dieser beängstigende Ort zu sein, an den Sie nie gehen möchten. Es ist eigentlich sehr einladend für Anfänger und ist ein großartiger Ort, um guten Code zu sehen und Ihren eigenen Code überprüfen zu lassen. Wenn Sie immer noch nicht überzeugt sind, schauen Sie sich meinen Beitrag an, warum Sie gerade jetzt zu Open Source beitragen sollten.
- Beginnen Sie mit der Anwendung, bevor Sie denken, dass Sie bereit sind. Dieser war hart für mich, weil ich dachte, ich wäre anders. Ich dachte, ich müsste den Markt nicht testen, um ein Gefühl dafür zu bekommen, woran ich arbeiten soll. Ich dachte, ich wüsste, wann ich mich bewerben kann. Ich sage es dir jetzt., Sie werden nicht wissen, wann Sie sich bewerben müssen. Sie könnten also genauso gut jetzt anfangen. Sie sollten nicht verrückt werden und sich bei 300 Unternehmen bewerben, bevor Sie kostenlos lernen. Sie sollten jedoch wissen, dass Sie am besten wissen, was Sie lernen müssen, indem Sie den Markt anwenden und testen.
Jetzt geh wieder raus und codiere!
Schreibe einen Kommentar