Wie ich nach einem Jahr harter Arbeit einen Job als Softwareentwickler bekam

Viele von uns glauben, dass der Weg zum Softwareentwickler jahrelange Ausbildung und einen extrem hohen IQ erfordert. Während Software-Engineering eine der besten Berufe ist, sollten Sie sich nicht davon abhalten lassen, Code zu lernen und Software-Ingenieur zu werden.

Ich dachte, es wäre zu spät für mich, in die Informatik überzugehen, aber egal wo Sie sich im Leben befinden, es ist nie zu spät, Ihre Leidenschaft zu lernen und zu verfolgen.

Mein nicht traditioneller Hintergrund

Ich habe weder eine hochrangige Universität besucht, noch habe ich einen technischen Hintergrund. Ich hatte als Kind keine Leidenschaft für das Lösen von Rätseln und nahm auch nicht an Mathe-Wettbewerben teil. Nach den vielen fehlgeschlagenen Versuchen, das WLAN zum Laufen zu bringen, habe ich mich als Kind von der Fehlerbehebung bei Computern entfernt.

Ich habe einen Abschluss in Betriebswirtschaft und zwei Finanzjobs, die mich nicht herausforderten. Es waren einfache, einfache Jobs, aber es wurde sehr schnell banal und langweilig. Ich hatte nicht das Gefühl, dass meine Arbeit erfüllt wurde, und wurde jedes Mal abgelehnt, wenn ich nach mehr analytischen Aufgaben fragte. Ich beschloss dann, meine Fähigkeiten zu verbessern und meine eigenen Möglichkeiten zu schaffen.

Vor etwas mehr als einem Jahr habe ich mich mit SQL befasst, da es eine beliebte Fähigkeit in der Finanzanalyse ist. Nach dem Erlernen der Syntax schien die Codierung nicht mehr so ​​einschüchternd zu sein. Es war so, als würde man eine neue Sprache lernen. Sobald Sie lesen und schreiben können, können Sie Dinge verstehen, die einst völlig fremd aussahen. Ich habe es wirklich genossen, eine neue Sprache zu lernen und technisch in meiner Arbeit zu sein, also wusste ich, dass dies etwas war, das ich verfolgen musste.

Den richtigen Weg wählen

Ich dachte über die verschiedenen Wege nach, um eine Karriere in der Entwicklung zu verfolgen. Ich wollte keine weiteren zwei Jahre in der Grundschule verbringen und ich wollte nicht alles alleine lernen. Ich hatte Erfolgsgeschichten von Leuten gehört, die an Coding-Bootcamps teilgenommen hatten und in eine Software-Engineering-Rolle wechseln konnten. Nachdem ich viel recherchiert hatte, entschied ich, dass dies die beste Option für mich war und bewarb mich für die nächste Hack Reactor-Kohorte.

Ich musste ein technisches Interview bestehen, um in das Programm aufgenommen zu werden, also verbrachte ich meine ganze Zeit entweder nach der Arbeit oder an den Wochenenden damit, so viel wie möglich zu lernen. Es war schwierig, sich Zeit zu nehmen, um etwas völlig Neues zu lernen, nachdem ich von einem Vollzeitjob entlassen worden war, aber meine Motivation, mein Ziel zu erreichen, hielt mich am Laufen.

Ich habe mein erstes Interview komplett bombardiert, aber ich habe aus meinen Fehlern gelernt und am Tag der Frist ein weiteres Interview gebucht. Diesmal habe ich dafür gesorgt, dass ich mit meinem gesamten Denkprozess vorbereitet und kommunikativ war. Am nächsten Tag erhielt ich mein Zulassungsschreiben und meine Reise zum Softwareentwickler hatte offiziell begonnen.

Verbessere dein Handwerk

Der Campus, an dem ich teilnehmen wollte, befand sich in San Francisco, einem der größten Technologiezentren der Welt. Mein ganzes Leben in SoCal zu verbringen, war definitiv eine große Veränderung und es war nicht einfach, sich zu verabschieden. Ich packte alle meine Sachen zusammen und zog in eine Wohngemeinschaft in SF.

In den ersten Tagen meines Programms lernte ich meine Klassenkameraden kennen. Ein Großteil von ihnen stammte von hoch angesehenen Universitäten und hatte einen MINT-Abschluss. Viele von ihnen hatten Vorkenntnisse in anderen Skriptsprachen und Erfahrung mit objektorientierter Programmierung. Ich wusste, dass ich viel nachholen musste, wenn ich nicht zurückfallen wollte.

Sie nennen es aus einem bestimmten Grund ein Coding Bootcamp. Der Unterricht fand an sechs Tagen in der Woche von 9 bis 20 Uhr statt, aber ich blieb normalerweise bis 22 Uhr oder Mitternacht. Ich habe so ziemlich gelebt, geatmet und Code geschlafen.

Die ersten Wochen hatte ich wirklich Probleme. Ich würde so viele Informationen wie möglich stopfen und gleichzeitig sicherstellen, dass die Informationen der vorherigen Tage erhalten bleiben, und diesen Vorgang am nächsten Tag erneut wiederholen. Es gab Momente, in denen ich an mir selbst zweifelte und nicht glaubte, das Zeug zum Programmierer zu haben. Ich habe so viel geopfert, um dort zu sein, und meine Freunde und meine Familie haben sich alle darauf verlassen, dass ich stark werde. Ich wusste, dass dies mein einziger Schuss war, also bestand ich darauf und überstand den Sturm.

Tage und Wochen begannen zu vergehen und ich fing langsam an, in den Fluss zu kommen. Ich begann zu lernen, wie man lernt, und war auf meine eigenen Fähigkeiten angewiesen, um die Probleme herauszufinden, mit denen ich konfrontiert war. Google ist der beste Freund eines Entwicklers und es ist sehr wahrscheinlich, dass jemand anderes auf denselben Fehler gestoßen ist, auf den Sie gestoßen sind.

Ich habe alle zwei Tage an Sprints gearbeitet, die sich mit JavaScript-Grundlagen, Frontend-Frameworks, Servern, Datenbanken, Bereitstellung und vielem mehr befassten. Ich habe in den ersten Wochen nur mit den Bewegungen gearbeitet, aber als ich endlich eine komplette Full-Stack-Anwendung erstellt habe, hat dort alles geklickt. Endlich verstand ich den Zweck bestimmter Technologien, die ich verwendete, und alles ergab einen Sinn.

Lass uns etwas bauen

Sobald der Grundstein gelegt war, verlagerte sich der Lehrplan meines Programms in Richtung Bauprojekte. Ich würde an Schlusssteinprojekten mit Teams arbeiten, die entweder Frontend oder Backend hervorheben. Sie sagen, dass Sie herauskommen, was Sie eingegeben haben, also habe ich darauf geachtet, meine absolut beste Arbeit in diesen Projekten zu zeigen. Es musste nicht nur funktionieren, sondern der Code musste auch sauber und lesbar sein, falls potenzielle Arbeitgeber meine Git-Repositories überprüften.

Das letzte Schlusssteinprojekt hieß MVP, auch bekannt als Minimal Viable Product. Wir hatten im Grunde 72 Stunden Zeit, um alles zu erstellen, was wir wollten, solange es sich um eine Full-Stack-Anwendung handelte. Die begrenzte Zeit war eine Herausforderung und ich musste sicherstellen, dass ich meine Zeit effizient verwalten konnte. Ich konnte mit meinem Projekt nicht zu ehrgeizig sein, aber ich wollte auch, dass es etwas ist, auf das ich stolz sein würde.

Meine erste Idee war es, eine dezentrale App zu erstellen, die die Ethereum-Blockchain verwendet. Für Arbeitgeber klang es beeindruckend, aber ich war mit der Solidity-Sprache nicht vertraut und war mir nicht sicher, ob ich den gesamten Dapp rechtzeitig fertigstellen könnte. Eine andere Idee, über die ich Witze machen würde, war eine Boba-Bewertungs-App für alle nahe gelegenen Boba-Läden, die meine Klassenkameraden und ich besuchen würden.

Als es an der Zeit war, mich zu entscheiden, erinnerte ich mich, dass ich mit dem Codieren angefangen hatte, weil es mir Spaß machte. Ich hatte das Gefühl, ich würde 110% in etwas investieren, das mir Spaß macht, und nicht in etwas, über das ich ständig Stress habe. Am Ende habe ich mich für die Boba Rating App entschieden und jede Sekunde davon geliebt.

Sobald ich die Grundfunktionalität erreicht hatte, implementierte ich weitere Funktionen. Es wurde schließlich ein Leidenschaftsprojekt und wird immer ein unvergessliches Projekt sein, auf das ich stolz bin. Tun Sie nichts, weil es für andere beeindruckend aussehen kann, tun Sie es, weil Sie es wirklich genießen.

Am Ende der 13. Woche änderte sich meine gesamte Denkweise seit Beginn meines Programms. Als Entwickler fühlte ich mich sicherer und stolz auf alles, was ich erreicht habe. Ich habe so viele neue Technologien gelernt, dass ich Jahre gebraucht hätte, um sie alleine zu lernen. Ich bin autonomer geworden und verlasse mich auf meine eigenen Fähigkeiten, um Probleme zu lösen. Ich war endlich bereit, in meine Jobsuche einzusteigen und konnte es kaum erwarten, zu beginnen.

Das Zermahlen

Bevor mein Programm endete, wusste ich, dass ich sofort loslegen musste. Ich hatte mich monatelang vorbereitet und jetzt war es meine Chance, den Arbeitgebern zu zeigen, was ich hatte. Ich kannte die gesamte MVC und wusste, wie man den vollen Stapel aufbaut, aber wenn ich Scheininterviews hatte, wurde ich so nervös und völlig leer. An diesem Punkt wäre es eine Abwärtsspirale und mein gesamter Denkprozess würde entgleisen. Wie sollte ich ein tatsächliches technisches Interview bestehen, wenn ich nicht einmal mit Scheininterviews umgehen konnte?

Ich habe mich beim Studium von Datenstrukturen und Algorithmen verdoppelt, während ich Leetcode-Fragen bearbeitet habe. Ich musste sicherstellen, dass ich mir keine spezifischen Probleme einprägte, sondern den Problemlösungsprozess verstand, um jede Frage anzugehen. Als ich in der Lage war, eine grundlegende Lösung für ein Problem (auch als Brute Force bekannt) zu finden, wusste ich, dass Interviewer nach einer optimalen Lösung suchen würden. Sie möchten wissen, ob Sie mit Ihren Algorithmen sowohl zeitlich als auch räumlich effizient arbeiten können.

Nachdem ich eine bessere Grundlage für die Problemlösung geschaffen hatte, war es Zeit für mich, mich meiner Angst vor Interviews zu stellen. Ich habe von dem Konzept der Schocktherapie gehört und mich Ihren Ängsten direkt gestellt. Ähnlich wie Batman seine Angst vor Fledermäusen überwunden hatte, indem er sich in einer Höhle voller Fledermäuse umgab, musste ich mehr Interviews üben.

Ich habe eine Seite namens Pramp verwendet, die Sie mit einer anderen Person zusammenbringt und Sie abwechselnd miteinander interviewt. Ich nahm den Mut zusammen und plante mein erstes Interview. Ich würde meinen Denkprozess aussprechen und die Lösung kam natürlich zu mir. Ich konnte langsam spüren, wie meine Nervosität nachließ und ich fing an, gerne zu interviewen.

Am Ende des Scheininterviews bat ich um Feedback und erfuhr, was ich verbessern könnte. Nachdem alles vorbei war, fühlte ich mich großartig! Das Interview war nicht so beängstigend und Sie können wirklich von dem Prozess profitieren. Ich habe dann jeden Tag geübt, um mich auf ein tatsächliches Interview vorzubereiten.

"Erfolg ist nicht endgültig, Misserfolg ist nicht tödlich: Es zählt der Mut, weiterzumachen." - Winston Churchill

Alles ein Zahlenspiel

Während ich mich auf Interviews vorbereitete, begann ich mich auch für Jobs zu bewerben, da der Bewerbungsprozess einige Zeit in Anspruch nehmen würde, insbesondere für größere Unternehmen, die Wochen oder Monate dauern könnten.

Mir ist aufgefallen, dass es für neue Entwickler üblich ist, sich vor der Bewerbung ausschließlich auf die Vorbereitung zu konzentrieren, aber das könnte ein kostspieliger Fehler sein. Wenn es um Software-Engineering geht, gibt es immer etwas zu lernen, sodass Sie sich nicht auf alles vorbereiten können. Ich wurde zu allen möglichen Themen wie Datenstrukturen und Algorithmen, Systemdesign, Frontend-Design, Testen und Domänenwissen befragt. Wenn Sie „alles“ studiert haben, kann es Monate dauern, bis Sie Ihr erstes Interview erhalten.

Eine Strategie besteht darin, mit Unternehmen zu sprechen, von denen Sie wissen, dass sie nicht Ihre erste Wahl sind. Auf diese Weise sind Sie besser vorbereitet und wissen, was Sie richtig machen müssen, wenn Sie die Möglichkeit haben, ein Interview für Ihre Traumunternehmen zu führen.

Ich wusste, dass der Besuch eines Bootcamps mir keinen Job garantieren würde. Ich konkurrierte mit denen mit Informatik-Abschluss und vorheriger Branchenerfahrung. Als Bewerber ohne technischen Abschluss oder einschlägige Berufserfahrung bin ich mit einem Nachteil in die Arbeitssuche gegangen.

Ich habe mich bei jeder Ingenieur- oder Entwicklerrolle beworben, die mir begegnet ist, und mich an alle Verbindungen zu potenziellen Unternehmen gewandt, bei denen ich arbeiten möchte. Ich habe über 300 Kaltanträge verschickt und eine unglaublich niedrige Rücklaufquote erhalten. Ich wurde herausgefiltert und erhielt unzählige automatische Ablehnungs-E-Mails.

Was ich als die effektivste Methode empfand, um mit einem Personalvermittler in Kontakt zu treten, waren Empfehlungen. Überweisungen sind aus Sicht des Arbeitgebers durchaus sinnvoll. Warum sollten Sie einem völlig Fremden vertrauen, den Sie nicht kennengelernt haben, wenn Sie einen Kandidaten haben, für den ein aktueller Mitarbeiter bürgt, dem Sie vertrauen können? Eine Sache, die jeder tun kann, ist, sein Netzwerk zu erweitern, indem er zu Meetups und Veranstaltungen geht. LinkedIn ist ein großartiges Tool, um gegenseitige Verbindungen in Unternehmen zu finden. Nutze es in vollen Zügen.

Bei Ihrer ersten Jobsuche gibt es viele Hindernisse. Ich habe es mehrmals in technischen Bildschirmen getötet und vom Interviewer großartiges Feedback erhalten, um später eine Ablehnungs-E-Mail vom Personalvermittler zu erhalten. Sie müssen nur hartnäckig sein, aus früheren Interviews lernen und weitermachen. Wenn Sie weiterhin alles richtig machen, müssen Sie irgendwann die richtige Gelegenheit finden und ein Angebot erhalten.

Ehrliche harte Arbeit zahlt sich aus

Am Ende meiner dreimonatigen Jobsuche wurde ich zu fünf Vor-Ort-Interviews eingeladen und erhielt drei Angebote. Nach langem Überlegen freue ich mich, Ihnen mitteilen zu können, dass ich zu Zume Inc. in der San Francisco Bay Area wechseln werde. Ich liebe die Mission und jeden, den ich getroffen habe. All meine harte Arbeit und meine langen Nächte haben sich gelohnt und ich könnte nicht glücklicher sein, wo ich gerade in meinem Leben bin. Ich bin so dankbar für alle, die mich auf dieser Reise unterstützt haben. Ich weiß, dass ich jeden Tag herausgefordert werde und mehr Einfluss auf meine Arbeit habe.

Was ich an der Softwareentwicklung liebe, ist, dass es egal ist, welchen Hintergrund Sie haben. Jeder kann lernen, wie man seine Fähigkeiten codiert und verbessert. Wenn Sie von einem nicht traditionellen Weg wie mir kommen, kann es etwas mehr Arbeit kosten als der Rest, aber es wird sich alles auszahlen. Das Leben ist zu kurz, um sich mit weniger zufrieden zu geben. Tun Sie also etwas, das Sie lieben.

Ich wünsche Ihnen viel Glück bei Ihren Bemühungen - Andrew

Nehmen Sie Kontakt mit mir auf LinkedIn auf und folgen Sie mir, um diejenigen zu inspirieren, die in die Tech-Branche einsteigen möchten: www.linkedin.com/in/andrew-ngo/