Seit ich Boot.dev gestartet habe, werde ich mit „Treibsandfragen“, wie ich es nenne, überschwemmt. Oberflächlich betrachtet scheint eine Treibsandfrage eine gute Frage zu sein. Wenn Sie sie beantworten könnten, würde sie Sie von Ihrem jetzigen Standort (Nachtschicht im Wendy's Drive-in) dorthin katapultieren, wo Sie sein möchten (Freunden erzählen, dass Sie arbeiten). Netflix übrigens).
Bei Treibsandfragen geht es darum, Abkürzungen zu finden.
Ich brauche in 3 Monaten einen Entwicklerjob; Wie geht das am besten?
Wie ich sehe, haben Sie in Ihrem Backend-Lernpfad 20 Kurse geplant, aber *zwinker* welche kann ich überspringen?
Nun möchte ich es klarstellen : Es ist absolut nichts Falsches daran, einen kürzeren Weg zu seinem Karriereziel einzuschlagen. Alles andere wäre Wahnsinn. Wenn es eine Pille gäbe, die Sie über Nacht zu einem leitenden Entwickler macht, würde ich Sie ermutigen, diesen Trottel zu platzen.
Theoretisch scheint pädagogisches Min-Maxing eine solide Strategie zu sein, aber in der Praxis funktioniert es einfach nicht.
Warum? Weil das Ziel unbekannt ist.
Der Algorithmus von Dijkstra ist großartig, wenn Sie wissen, wohin Sie wollen. Wenn nicht, brauchen Sie etwas anderes.
Die Tech-Szene ist ein Haufen Komplexität. Ich habe im College ungefähr zehn verschiedene Programmiersprachen gelernt und selbst drei Jahre nach meinem Abschluss wusste ich immer noch nicht, dass ich am Ende als Backend-Ingenieur arbeiten würde, der Go schreibt.
Ich habe Vorstellungsgespräche für alle Arten von Unsinn geführt, von eingebetteten Systemen bis hin zur Front-End-Entwicklung. Ja, es stellte sich heraus, dass mein Prolog-Kurs bei meinem ersten Interview nicht viel geholfen hat, aber wissen Sie was? Es hat nicht geschadet , und wenn jetzt jemand sagt: „Es ist ein deklaratives System“, verrät mein Gesichtsausdruck nicht Unwissenheit.
Wenn Sie genau wüssten, welche Konzepte Sie beherrschen müssen, um Ihr erstes Vorstellungsgespräch zu bestehen, könnten Sie möglicherweise eine effektive Abkürzung finden. Das Problem besteht darin, dass es keinen genauen Teil des Wissens gibt, der immer ausreicht, um jedes mögliche erste Vorstellungsgespräch zu bestehen.
Jedes Unternehmen hat seinen eigenen ausgefeilten Tech-Stack
Jeder PM hat seine eigene Version von „agil“
Jeder Personalmanager hat seinen eigenen 7-stufigen Interviewprozess
Jeder Job erfordert unterschiedliche Teile arkanen Wissens
Sie haben keine Ahnung , was Sie in Ihrem ersten Job täglich tun werden, wenn Sie anfangen, das Programmieren zu lernen. Ich höre Leute Dinge sagen wie: „Ich nutze meine DSA-Fähigkeiten nicht einmal bei der Arbeit“, und bei näherer Betrachtung stellt sich heraus, dass sie ein WordPress-„Entwickler“ sind.
Du solltest; Es ist einfach nicht dort, wo Sie glauben, es zu finden. Der kürzeste Weg zu einem Job als Programmierer besteht nicht darin, die Menge an Dingen zu minimieren, die Sie lernen und erstellen müssen. Eine solche Denkweise führt zu einer viel längeren und geistig anstrengenderen Reise. Etwas wie das:
n
-mal, wobei n
ein d4_roll * your_stubbornness
istDer kürzeste Weg (oder zumindest ein kürzerer Weg) sieht normalerweise so aus:
Lernen Sie grundlegende Programmier-/CS- Konzepte in einer Sprache
Entscheiden Sie vorläufig, welche Art von Programmierung Sie durchführen möchten (Frontend, Backend, mobil usw.).
Erlernen Sie die Grundlagen dieser Art der Programmierung in dafür geeigneten Technologien
Hören Sie nie auf zu lernen und aufzubauen, während Sie nach einem Job suchen
Verstehen Sie mich nicht falsch, dieser zweite Weg ist immer noch nicht kurz. Programmieren ist nicht einfach; Es tut mir leid, wenn Ihnen das gesagt wurde, aber wenn Sie bereit sind, sich die Mühe zu machen, können Sie einen ziellosen Spaziergang durch den 9. Kreis der Tutorial-Hölle vermeiden.
Die Leute verbringen Äonen damit, den kürzesten Lernweg zu finden oder zu vermeiden, Dinge zu lernen, die sie „nie wieder verwenden werden“. Es ist ihnen egal, Monate oder Jahre damit zu verschwenden, absolut nichts zu lernen, um unnötige Arbeit zu vermeiden. Warum nicht in den sauren Apfel beißen und … riskieren Sie, ein paar Tage damit zu verbringen, etwas zu lernen, das nicht direkt auf den Job anwendbar ist, den Sie schließlich bekommen?
Seien wir 100000000 % ehrlich. Manche Leute suchen nach einem guten, altmodischen Plan, um schnell reich zu werden. Nachdem sie ein paar Wochen lang mit Schleifen zu kämpfen hatten, geben sie auf und kaufen einen KI-gestützten Krypto-Handelsbot auf Fiverr. Sei nicht wie diese Leute.
Ein Software-Ingenieur zu werden ist KEIN Plan, um schnell reich zu werden. Es ist ein „Werde langsam in die obere Mittelklasse“-Schema
Der Trick, es zu „schaffen“? Man muss tatsächlich gut werden.
Anstatt also willkürlich aus StackOverflow zu kopieren und einzufügen, um den nächsten Fehler zu „beheben“, sollten Sie sich die zusätzlichen Minuten nehmen, um herauszufinden, was das bedeutet . Ich kann Ihnen gar nicht sagen, wie viele PRs ich überprüft habe, die etwas „reparieren“, aber nur ein Patch von einem Patch sind, weil der Entwickler das zugrunde liegende Problem nie erkannt hat.
Ein ehemaliger Java-Entwickler (es ist immer ein Java-Entwickler) stellt beispielsweise fest, dass diese Funktion (in Go) manchmal in Panik gerät:
// sendEmail sends emails, but sometimes panics func sendEmail(e *email) error { // ... }
Sie gehen direkt zu Google und stellen fest, dass Panik in Go mit einem „ recover
“ „gelöst“ werden kann. Also öffnen sie eine Pull-Anfrage:
func sendEmail(e *email) error { defer func() { if r := recover(); r != nil { log.Println("recovered from panic in sendEmail") } }() // ... }
Funktioniert das irgendwie? Ein besserer Entwickler würde jedoch versuchen, das zugrunde liegende Problem im Code zu verstehen und zu beheben. Sie würden nil
hinzufügen oder einfach ganz auf die Verwendung von Zeigern für diese Funktion verzichten ...
// now sendEmail never panics func sendEmail(e email) error { // ... }
Sie möchten die Tendenz haben, besser zu werden und nicht das Ende zu erreichen. Es gibt kein „Ende“. Es gibt einfach zu viel zu lernen. Der Umfang der gesamten Softwareentwicklung ist größer als der Umfang des globalen Namensraums Ihres letzten Programms.
Fit zu werden, die Sucht aufzugeben, ein Unternehmen aufzubauen und, ja, den ersten Job als Entwickler zu bekommen, ist alles schwer . Machen Sie es sich nicht noch schwerer, indem Sie Ihre Zeit mit der Suche nach Abkürzungen verschwenden.
Lernen Sie immer wiederkehrende Grundlagen, bauen Sie Projekte auf, die Sie interessieren , und Sie werden erstaunt sein, wie weit Sie in nur ein oder zwei Jahren konsequenter Anstrengung kommen können.
Auch hier veröffentlicht.