Kann Ich Einen Job Bei Google Oder Anderen Großartigen Unternehmen Bekommen, Wenn Ich Python Beherrsche?

Kann Ich Einen Job Bei Google Oder Anderen Großartigen Unternehmen Bekommen, Wenn Ich Python Beherrsche?

January 28, 2023, by Eckhart Stumpfegger, Arbeit

Das Beherrschen von Python wird Ihnen sicherlich nicht schaden und ist eine wertvolle Fähigkeit, die Sie während Ihrer gesamten Programmierkarriere haben sollten. Es wird für Websites, maschinelles Lernen, Skripterstellung und vieles mehr verwendet. Wenn Sie es wirklich beherrschen, werden Sie in der Lage sein, Arbeit zu finden, und während Sie diese Arbeit erledigen, können Sie versuchen, Ihre Fähigkeiten auf die nächste Stufe zu heben. Diese Fähigkeiten der nächsten Stufe werden Ihnen helfen, einen Job bei einem beliebigen Technologieunternehmen zu finden, das Sie interessiert.

Was sind diese Next-Level-Fähigkeiten? Sie werden im Internet gut diskutiert, und eine Ihrer Fähigkeiten muss es sein, sie auf Quora und anderswo zu finden.

Ich würde sagen, die Frage ist schlecht definiert.

Sie müssen die Fähigkeit erwerben und zeigen, Probleme mit Computern zu lösen (Programmieren). Dazu benötigen Sie ein solides Verständnis von Algorithmen und Datenstrukturen, Softwareentwicklung und (verteilten) Computersystemkonzepten, grundlegender Mathematik, wobei etwas Datenanalyse und maschinelles Lernen von Vorteil sind.

Ihre Fähigkeit, diese Fähigkeiten zu zeigen, ist orthogonal zur Sprache Ihrer Wahl.

Konkret ist bekannt, dass die Google-Codebasis in 4–5 Sprachen geschrieben ist, von denen Python eine ist. Sie sollten in der Lage sein, alle Interviews mit python bu durchzugehen

Weiterlesen

Ich würde sagen, die Frage ist schlecht definiert.

Sie müssen die Fähigkeit erwerben und zeigen, Probleme mit Computern zu lösen (Programmieren). Dazu benötigen Sie ein solides Verständnis von Algorithmen und Datenstrukturen, Softwareentwicklung und (verteilten) Computersystemkonzepten, grundlegender Mathematik, wobei etwas Datenanalyse und maschinelles Lernen von Vorteil sind.

Ihre Fähigkeit, diese Fähigkeiten zu zeigen, ist orthogonal zur Sprache Ihrer Wahl.

Konkret ist bekannt, dass die Google-Codebasis in 4–5 Sprachen geschrieben ist, von denen Python eine ist. Sie sollten in der Lage sein, alle Interviews mit Python durchzugehen, aber in vielen Regionen müssen Sie mindestens ein Interview in einer niedrigeren Sprache wie Java bestehen (ich weiß, dass ich das in EMEA tun musste).

Sobald Sie diese Fähigkeiten beherrschen und in Python anzeigen, ist es das geringste Problem, dies auch in Java zu tun.

Unabhängig davon, selbst wenn Sie die Interviews nur mit Python-Kenntnissen bestehen konnten, würde ich empfehlen, auch mit Java oder C/C++ vertraut zu sein, da die Teams und Projekte, die vollständig auf Python basieren, begrenzt sind.

Um eine Programmiersprache zu beherrschen, erhalten Sie keinen Job bei Top-Tech-Unternehmen wie Google, Facebook, Amazon usw. Es erfordert Problemlösungsfähigkeiten und ein starkes Verständnis und Implementierungswissen der Datenstrukturen und Algorithmen sowie Softwaredesignfähigkeiten, einige Programmierkenntnisse Sie können diese Datenstrukturen implementieren.

Und wenn Sie wirklich bei Google oder einem anderen Top-Tech-Unternehmen ankommen möchten, besuchen Sie bitte die folgenden Links, die Sie auf die richtige Weise führen.

Vorbereitung auf das Facebook-Interview.

Sie können diesen Vorbereitungsleitfaden für jedes Interview mit einem Top-Tech-Unternehmen anwenden.

Hoffe es hilft dir weiter

Weiterlesen

Um eine Programmiersprache zu beherrschen, erhalten Sie keinen Job bei Top-Tech-Unternehmen wie Google, Facebook, Amazon usw. Es erfordert Problemlösungsfähigkeiten und ein starkes Verständnis und Implementierungswissen der Datenstrukturen und Algorithmen sowie Softwaredesignfähigkeiten, einige Programmierkenntnisse Sie können diese Datenstrukturen implementieren.

Und wenn Sie wirklich bei Google oder einem anderen Top-Tech-Unternehmen ankommen möchten, besuchen Sie bitte die folgenden Links, die Sie auf die richtige Weise führen.

Vorbereitung auf das Facebook-Interview.

Sie können diesen Vorbereitungsleitfaden für jedes Interview mit einem Top-Tech-Unternehmen anwenden.

Ich hoffe, es hilft Ihnen und wenn Sie Zweifel haben, können Sie sich gerne an mich wenden. Ich werde Sie mit meinem besten Ansatz führen.

Danke…

Google und andere große Technologieunternehmen kümmern sich weniger um Ihre Sprachkenntnisse. Sie interessieren sich normalerweise mehr für CS-Grundlagen wie Algorithmen, Datenstrukturen usw. Ich habe mehrere Kandidaten interviewt und eingestellt, und wenn Sie eine gute Beherrschung einer Sprache demonstrieren, haben Sie definitiv einen Vorsprung im Vergleich zu denen, die mit der Syntax ihrer „ gewählte Sprache“.

Ich habe ungefähr 4 Jahre für Google gearbeitet und aufgrund meiner Erfahrung, viele Male für Rollen bei Google interviewt zu werden, sowohl vor meiner Anstellung bei Google als auch später für verschiedene Rollen, während ich dort arbeitete, kann ich sagen, dass es viele Faktoren gibt, die das beeinflussen Entscheidung, jemanden für eine Rolle einzustellen, und manchmal sind sie nicht fair. Hier sind einige Faktoren, die viele Menschen nicht kennen.

1 - Google stellt die intelligentesten Leute ein?

Nein. Ich kann sagen, dass der Einstellungsprozess von Google meistens sehr effizient ist und nicht die intelligentesten Leute eingestellt werden, sondern die Leute, die für eine bestimmte Rolle am besten geeignet sind

Weiterlesen

Ich habe ungefähr 4 Jahre für Google gearbeitet und aufgrund meiner Erfahrung, viele Male für Rollen bei Google interviewt zu werden, sowohl vor meiner Anstellung bei Google als auch später für verschiedene Rollen, während ich dort arbeitete, kann ich sagen, dass es viele Faktoren gibt, die das beeinflussen Entscheidung, jemanden für eine Rolle einzustellen, und manchmal sind sie nicht fair. Hier sind einige Faktoren, die viele Menschen nicht kennen.

1 - Google stellt die intelligentesten Leute ein?

Nein. Ich kann sagen, dass der Einstellungsprozess von Google meistens sehr effizient ist und nicht die intelligentesten Leute eingestellt werden, sondern die Leute, die für eine bestimmte Rolle am besten geeignet sind. Sie sind wirklich clever. Es geht nicht nur um Ihr Wissen und Ihre Fähigkeiten, sondern auch darum, wie gut Sie diese Rolle erfüllen.

2 - Der Bewerbungsprozess von Google ist sehr schwierig?

Ja und Nein. Es kommt darauf an. Es hängt vom Interviewer, dem Personalvermittler und davon ab, wie lange die Stelle geöffnet ist, wie schnell sie jemanden für die Rolle und die Fähigkeiten anderer Kandidaten brauchen. Einige Interviewer möchten eine Kopie von sich selbst einstellen, und in diesem Fall spielt es keine Rolle, wie gut Sie sind, wenn Sie nicht den gleichen Stil und die gleiche Persönlichkeit wie der Personalchef haben, werden Sie den Job nicht bekommen.

3 - Meistens haben sie jemanden für die Rolle im Sinn.

Ich kann das später ausführlicher erklären, aber bei Google müssen sie eine Reihe von Leuten für eine Rolle interviewen. Manchmal haben sie den ersten Kandidaten geliebt und wenn Sie zum Vorstellungsgespräch erscheinen, haben sie sich bereits in jemand anderen verliebt. Sie sind jedoch immer noch verpflichtet, die anderen Kandidaten zu interviewen, und manchmal tun sie es sehr schlecht, weil sie es als Zeitverschwendung ansehen. In solchen Fällen werden Sie das Vorstellungsgespräch wahrscheinlich mit dem Gefühl verlassen, die Stelle nicht zu bekommen.

4 - Sie sind immer auf der Suche nach dem besten Kandidaten?

Nicht immer. Es gibt viele interne Empfehlungen für die Rollen, und wenn die empfohlene Person nicht wirklich schlecht ist und Sie unglaublich gut in dem sind, was Sie tun, besteht eine gute Chance, dass Sie die Rolle nicht bekommen.

Google ist das Unternehmen, bei dem ich gesehen habe, wie viele Freunde, Ehemänner, Ehefrauen, Freunde, Freundinnen, Brüder und Schwestern von Google-Mitarbeitern eingestellt wurden. In meinem Team haben mindestens 25 % der Mitarbeiter einen Verwandten oder jemanden, der ihnen wirklich nahe steht, der bei Google arbeitet.

5 - HR kann sehr faul sein

Sie müssen in Bezug auf Nachfrage und Angebot denken, um den Einstellungsprozess bei Google zu verstehen. Sie haben Hunderte, manchmal Tausende von Menschen, die sich um eine Stelle bei Google bewerben. Sie müssen nicht nach Talenten suchen (obwohl sie es meistens tun), sie haben bereits Millionen von Menschen, die unbedingt für sie arbeiten wollen.

Aus diesem Grund sind die Personalvermittler manchmal sehr unorganisiert und kümmern sich nicht sehr um Sie und können Ihnen nicht genügend Informationen zukommen lassen, die Sie benötigen, um beim Vorstellungsgespräch gute Leistungen zu erbringen.

Aber das ist nicht die Regel. Ich denke, die meiste Zeit machen sie einen anständigen Job und zu ihrer Verteidigung erhalten sie Tausende von Bewerbungen pro Monat, 95 % der Zeit von Leuten, die überhaupt nicht für die Rolle geeignet sind.

6 - Sie müssen Glück haben

Ich habe einen Freund bei Google, der sagte, dass die Fragen seines technischen Interviews den Fragen sehr ähnlich seien, die er aus einem Buch über technische Interviewfragen geübt hatte. Er hatte das Glück, darauf vorbereitet zu sein, alle Fragen richtig und schneller zu beantworten. Ich kenne einen anderen Mann, der wirklich durchschnittlich ist, aber mit einem Google-Mitarbeiter in einer Agentur gearbeitet hat, und als eine Stelle frei wurde, wurde ihm die Stelle empfohlen.

Sie müssen bedenken, dass der Einstellungsprozess bei Google nicht perfekt ist. Ich glaube, es liegt zu viel Entscheidungsbefugnis in der Hand des Personalchefs.

7 - Es gibt viele Durchschnittsmenschen

Eine Sache, die Sie in Ihren ersten Monaten bei Google oft hören, ist das Impostor-Syndrom. Google hat großartige Leute, die für sie arbeiten, und einige der klügsten Leute, mit denen ich das Vergnügen hatte zusammenzuarbeiten, die ich bei Google getroffen habe. Allerdings gibt es auch viele Durchschnittsmenschen. Was Sie nicht sehen, ist jemand unter dem Durchschnitt. Jeder hat mindestens genug Fähigkeiten, um eine vernünftige Arbeit zu leisten. Ich denke, Google ist gut darin, ein fruchtbares Umfeld für persönliches Wachstum zu schaffen. Es fordert Sie auch heraus, sich weiter zu verbessern, aber dennoch gibt es einige Leute, die glücklich genug sind, bei Google zu sein, und sich keine Sorgen um Verbesserungen machen. Solange Sie keine schreckliche Arbeit leisten und das Glück haben, nicht in einem leistungsschwachen Team zu sein (wo normalerweise der Druck sehr hoch ist), können Sie durchschnittlich sein und dort bleiben, bis Sie in Rente gehen.

8 - Nicht-technische Rollen

Nicht-technische Rollen sind am schwierigsten, da es schwierig ist, die richtigen Erfolgsmetriken für einen Kandidaten festzulegen. Technische Rollen sind einfacher, da 70 % des Prozesses darin bestehen, zu zeigen, dass Sie über großartige Fähigkeiten und Ihre Methoden zur Lösung eines Problems verfügen.

Wenn Sie sich mit nicht-technischen Rollen befassen, ist es wirklich einfach, ein falsches Positiv zu erhalten. Es ist nicht schwer, den Prozess zu betrügen, wenn Sie wirklich gut darin sind, Vorstellungsgespräche zu führen, oder wenn der Personalchef auch jemand ist, der nicht sehr geschickt ist. Ich habe für ein großes und bekanntes Unternehmen gearbeitet, in dem der Teamleiter wirklich unqualifiziert und unvorbereitet auf seine Rolle war, aber sein Manager (der Abteilungsleiter) war ebenfalls unqualifiziert und unvorbereitet. Wenn Sie sich also für eine Stelle bewerben, in der die Personalchefs schlecht in dem sind, was sie tun, besteht eine gute Chance, dass sie einfach jemanden einstellen, der genauso schlecht ist wie sie. In meinem Fall wurde ich eingestellt, weil jemand anderes mit großem Einfluss im Unternehmen entschied, dass ich der richtige Kandidat sei.

9 - Googleness

Sie hören viel über Googleness, aber ich denke, solange Sie während des Interviews nichts wirklich Ungeschicktes oder Unprofessionelles tun, ist Googleness nicht so wichtig. Googleness ist eine „Metrik“, die zeigt, wie geeignet Sie sind, im Google-Umfeld zu arbeiten.

Schritt 1: Finden Sie heraus, nach welchen Fähigkeiten Unternehmen suchen.

Reverse-Engineer!

Finden Sie zunächst heraus, welche Fähigkeiten Unternehmen von Ihnen erwarten.

Der beste Weg, dies herauszufinden, ist der Besuch beliebter Jobbörsen.

Hier ist eine solche Auflistung, die ich bei der Suche nach dem Schlüsselwort „Python“ erhalten habe:

Wie Sie sehen können, ist Python allein nicht das erforderliche Skillset.

Unternehmen erwarten, dass Sie auch andere Technologien kennen.

Zum Beispiel sollen Sie in der obigen Auflistung auch Pandas, SQLalchemy und Django kennen.

Meine Empfehlung ist, dass Sie sich auch andere Stellenangebote ansehen und alle wesentlichen Fähigkeiten notieren, die

Weiterlesen

Schritt 1: Finden Sie heraus, nach welchen Fähigkeiten Unternehmen suchen.

Reverse-Engineer!

Finden Sie zunächst heraus, welche Fähigkeiten Unternehmen von Ihnen erwarten.

Der beste Weg, dies herauszufinden, ist der Besuch beliebter Jobbörsen.

Hier ist eine solche Auflistung, die ich bei der Suche nach dem Schlüsselwort „Python“ erhalten habe:

Wie Sie sehen können, ist Python allein nicht das erforderliche Skillset.

Unternehmen erwarten, dass Sie auch andere Technologien kennen.

Zum Beispiel sollen Sie in der obigen Auflistung auch Pandas, SQLalchemy und Django kennen.

Meine Empfehlung ist, dass Sie sich auch andere Stellenangebote ansehen und alle wesentlichen Fähigkeiten notieren, die das Unternehmen verlangt.

Machen Sie sich keine Sorgen, wenn Sie diese Fähigkeiten nicht besitzen oder kein Experte darin sind. Ihre Aufgabe für diesen Schritt besteht lediglich darin, sich ein Bild davon zu machen, was Unternehmen von einem Kandidaten erwarten.

Wenn Sie eine Auflistung öffnen, werden weitere Details zu den Fähigkeiten sowie zur Art der Rolle bereitgestellt.

Schritt 2: Klassifizieren Sie die Fähigkeiten.

Sobald Sie die Fähigkeiten auf der Jobbörse aufgeführt haben, ist es an der Zeit, sie je nach Ihrem Kenntnisstand zu klassifizieren.

Machen Sie 3 Spalten auf einem Blatt Papier und klassifizieren Sie sie in diese 4 Kategorien:

  1. Völlig unbekannt: Diese Spalte würde alle Fähigkeiten enthalten, die Sie nie gelernt haben. Wenn Sie zum Beispiel nie Pandas gelernt haben, schreiben Sie es in diese Spalte. Alle Fähigkeiten in dieser Spalte müssen von Grund auf neu erlernt werden. Sie könnten anfangen, sie über YouTube-Videos oder vielleicht einen Kurs zu lernen.
  2. Wenig wissen: Dies würde aus den Fähigkeiten bestehen, von denen Sie die Grundlagen kennen, aber noch nie tiefer eingetaucht sind. Ihre Aufgabe ist es, dafür zu sorgen, dass Sie fortgeschrittenere Konzepte aus diesen Technologien lernen. Um fortgeschrittenere Themen zu lernen, empfehle ich Ihnen dringend, lieber aus der Dokumentation zu lernen, da es nicht viele YouTube-Videos oder Kurse zu solchen fortgeschrittenen Themen gibt.
  3. Qualifiziert: Dies sollte aus Fähigkeiten bestehen, die Sie gut genug beherrschen und mit denen Sie über angemessene Erfahrung verfügen. Sobald Sie mit einer Technologie vertraut genug sind, können Sie sie am besten testen, indem Sie ein Projekt erstellen, das sie verwendet. Wenn Sie beispielsweise mit Django vertraut genug sind, versuchen Sie einfach, eine komplexe Webanwendung damit zu erstellen. Sie können mit einer Basisversion der Web-App beginnen, aber schließlich erweiterte und komplexere Funktionen hinzufügen.

Sobald Sie diesen Schritt abgeschlossen haben, sollten Sie sich der Fähigkeiten bewusst werden, die Ihnen fehlen und die Fähigkeiten, die Sie besitzen.

Kommen wir nun zum nächsten Schritt.

Schritt 3: Lernen.

Sobald Sie wissen, was Sie lernen müssen, können Sie mit dem Lernen beginnen.

Die Lernmethode hängt jedoch vollständig von Ihrem Kenntnisstand ab.

Lernen als Anfänger:

Wenn Sie ein absoluter Anfänger sind und von Grund auf neu lernen möchten, empfehle ich Ihnen dringend, diesen Artikel zu lesen, der einige nützliche Ressourcen auflistet, um mit dem Erlernen von Python zu beginnen.

Als Anfänger sind YouTube-Videos und Udemy-Kurse die beste Wahl, um schnell mit jeder Technologie loszulegen.

Lernen als Mittelstufe:

Sie sollten YouTube und andere Kurse strikt überspringen und stattdessen aus der Dokumentation lernen, da dies eine sehr effiziente Art des Lernens ist.

Überspringen Sie die Grundlagen und bewegen Sie sich zu fortgeschritteneren Themen in einer bestimmten Technologie und stellen Sie sicher, dass Sie sie gründlich lernen.

Sie können auf einige Website-Artikel verweisen, wenn Sie nicht weiterkommen, halten Sie sich jedoch so weit wie möglich an die Dokumentation.

Lernen als Experte:

Wenn Sie ein Experte in etwas sind, müssen Sie das nur zeigen.

Und was kann der beste Weg sein, Ihre Fähigkeiten zu zeigen, außer Ihr eigenes Projekt zu bauen.

Stellen Sie sicher, dass Sie ein komplexes Projekt um einfache Dinge herum aufbauen. Sie können das einfachste Thema wie eine Todo-App auswählen und erweiterte Funktionen darum herum entwerfen.

Wenn Sie eine komplexe Projektidee im Kopf haben, gehen Sie einfach weiter und verfolgen Sie sie.

Schritt 4: Legen Sie Ziele und einen Zeitplan fest.

Lernen Sie nicht einfach, ohne sich ein Ziel oder eine Zielvorgabe zu setzen. Wenn Sie dies tun, werden Sie monatelang beim Erlernen einer einfachen Technologie stecken bleiben und nirgendwo hinkommen.

Setzen Sie sich stattdessen ein Ziel, X-Technologie in Y-Zeit zu lernen.

Dadurch wird sichergestellt, dass Sie keine Zeit verschwenden und während der gesamten Lernphase produktiv sind.

Wenn Sie Absolvent sind und nicht woanders arbeiten, haben Sie viel Zeit zur Verfügung, also stellen Sie sicher, dass Sie das Beste daraus machen.

Wenn Sie ein Student sind, stehen Sie eine Stunde früher auf, um zu lernen.

Wenn Sie ein Berufstätiger sind, wäre es ziemlich schwierig, einen Job zu bewältigen und nebenbei zu lernen, aber wenn Sie mit Ihrer Zeit und Energie geizen, sollten Sie in der Lage sein, etwas Lernen herauszuholen, besonders an den Wochenenden.

Schritt 5: Bewerben Sie sich für Jobs.

Sobald Sie sicher sind, dass Sie über ausreichende Fähigkeiten verfügen, können Sie sich auf Stellen von der Website mit Stellenangeboten bewerben.

Seien Sie jedoch vorsichtig, nicht alle Jobs auf solchen Websites sind gut. Viele von ihnen sind nur Müll und würden erwarten, dass Sie fast alles wissen, und würden Ihnen Erdnüsse bezahlen, also stellen Sie sicher, dass Sie sich von solchen Auflistungen fernhalten.

Recherchieren Sie ein wenig über das Unternehmen, versuchen Sie, wenn möglich, mit einigen bestehenden Mitarbeitern auf linked in in Kontakt zu treten und versuchen Sie, ihre Erfahrungen einzuschätzen.

Wenn Sie ein Anfänger sind, würde ich Ihnen raten, sich auf das Unternehmen und nicht auf die Position zu konzentrieren.

Sobald Sie die guten Angebote in die engere Wahl gezogen haben, beginnen Sie mit der Bewerbung und seien Sie geduldig.

Denken Sie daran, dass sie mit Lebensläufen von mehreren anderen Kandidaten bombardiert werden und es daher eine Weile dauern kann, bis Sie eine Antwort von ihnen erhalten.

Stellen Sie sicher, dass Sie weiter lernen und Ihre Fähigkeiten verbessern, während Sie weiterhin Vorschläge an Unternehmen senden.

Ich habe zweimal einen Job bei Google bekommen. Ich musste beide Male komplette Software-Engineering-Interviewschleifen durchlaufen. Dort habe ich zunächst von 2006–2012 gearbeitet. Ich bin kürzlich im Februar 2017 zurückgekehrt.

Wenn Sie mich aus meiner Erziehung kennen, würden Sie mich vielleicht für „normal“ halten:

  • Ich bin in einem kleinen Haus im Wald in einer halb ländlichen Stadt am Ende einer Schotterstraße aufgewachsen. Meine Eltern und ein Geschwister leben noch in diesem Haus. Bis zu meiner Jugend stand auf dem Grundstück zur Straße hin ein Wohnwagen. Früher bin ich barfuß durch den Wald gelaufen und habe zur Unterhaltung Schlangen und Frösche gefangen.
  • Ich habe eine 100% öffentliche Schulausbildung
Weiterlesen

Ich habe zweimal einen Job bei Google bekommen. Ich musste beide Male komplette Software-Engineering-Interviewschleifen durchlaufen. Dort habe ich zunächst von 2006–2012 gearbeitet. Ich bin kürzlich im Februar 2017 zurückgekehrt.

Wenn Sie mich aus meiner Erziehung kennen, würden Sie mich vielleicht für „normal“ halten:

  • Ich bin in einem kleinen Haus im Wald in einer halb ländlichen Stadt am Ende einer Schotterstraße aufgewachsen. Meine Eltern und ein Geschwister leben noch in diesem Haus. Bis zu meiner Jugend stand auf dem Grundstück zur Straße hin ein Wohnwagen. Früher bin ich barfuß durch den Wald gelaufen und habe zur Unterhaltung Schlangen und Frösche gefangen.
  • Ich habe eine 100% öffentliche Schulausbildung von der Grundschule bis zum College. K-12 befand sich ausschließlich in Louisiana, einem Bundesstaat, der in Bezug auf Qualität der öffentlichen Bildung, Alphabetisierung, Fettleibigkeit, Teenagerschwangerschaft, Inhaftierungsrate usw.
  • Keiner meiner Eltern war in angesehenen Berufen tätig. Mein Vater hat ein Semester Abitur gemacht und ist selbstständig. Meine Mutter ist eine pensionierte Lehrerin an öffentlichen Schulen mit einem Abschluss in Pädagogik von der University of New Orleans. Sie alle schätzten Bildung und prägten mir den Wert harter Arbeit ein.
  • In meinem Stammbaum gibt es keinerlei Reichtum. Nur ganz gewöhnliche Arbeiter aus der Mittelklasse. Ich bin der Erste in meiner Familie, der den Staat für eine Ausbildung oder Arbeit verlässt. Ich bin tatsächlich der erste Mann in meiner väterlichen Linie, der nicht zu Lebzeiten eingesperrt wurde. (Aber hey, es ist noch Zeit, oder?)
  • Als Kind nahm mich der Vater meines Freundes, der in leitender Position bei einem Fortune-500-Unternehmen arbeitete, mit seinem Sohn zu einer Monstertruck-Rallye mit, für die er Freikarten bekam. Ich denke, dass professionelle Leute in meiner Gemeinde mich aufgrund meiner Erziehung hierher gebracht haben: roter Hals. Die Trucks waren wirklich groß und sehr laut, aber sie haben mich nicht dazu inspiriert, Ingenieur zu werden.
  • Ich habe meine Teenager-Sommer damit verbracht, mit meinem Vater Teppiche zu putzen, um genug Geld für mein erstes Auto zu sparen. Ich habe einen Teil dieses Geldes ausgegeben, um einen Computer zu bauen und eine Breitband-Internetverbindung für unseren Haushalt zu kaufen (das war Mitte der 90er Jahre).
  • Ich habe einen Bachelor-Abschluss in Informatik von der Texas A&M, die zu den 50 besten Informatikschulen des Landes gehört. Ivy League sicher nicht. Es war die beste Schule, die ich mir leisten konnte.
  • Mit Hilfe eines bescheidenen Stipendiums habe ich meinen Weg durch das College selbst bezahlt. Ich bin keiner Studentenverbindung beigetreten, habe nicht im Ausland studiert oder mich in der Studentenvertretung oder anderen sozialen Vereinen engagiert. Ich habe Praktika bei Hewlett-Packard und IBM gemacht.
  • Mein Gesamtdurchschnitt an der Universität war 3,4. Nicht schlecht, aber alles andere als außergewöhnlich. Ich glaube, ich hatte einen Notendurchschnitt von 3,6 in Informatik mit einem C in Algorithmen und einem C in Betriebssystemen.
  • Obwohl ich weit über ein Jahrzehnt in Top-Tech-Unternehmen gearbeitet habe, habe ich immer noch Probleme, mich sozial „einzufügen“. Ich genieße Angeln, Jagen und Profifußball, worüber ich normalerweise nicht im Büro spreche. Ich gehe jeden Sonntag in die Kirche. Ich habe keine Ahnung, was die neueste Männermode ist. Habe nie.

Abgesehen davon, dass ich das College abgeschlossen habe, denke ich, dass ich mehr mit dem durchschnittlichen Amerikaner gemeinsam habe als mit dem durchschnittlichen Bewohner des Silicon Valley.

Also um deine Frage zu beantworten: Ja. Eine normale Person kann einen Job bei Google bekommen. (Manchmal zweimal, was beweist, dass es kein Zufall oder Zufall ist, oder?) Eine normale Person kann auch Jobs bei Facebook, Amazon und Microsoft bekommen (ich habe Angebote von allen erhalten.) Eine normale Person kann auch an die Spitze kommen Start-ups (Ich habe bei Elite-VC-unterstützten Unternehmen in der Frühphase gearbeitet und zuletzt bei Pinterest.) Ja, diese Unternehmen sind übersät mit Absolventen aus der Ivy League und Top-Ingenieurschulen. Sie wissen nicht, was sie von mir halten sollen, aber sie respektieren meine Arbeit.

Ein normaler Mensch kann diese Jobs bekommen, aber er oder sie wird härter arbeiten müssen, um die Gelegenheit zu bekommen. Ein normaler Mensch wird keine extrem erfolgreiche und gebildete Familie haben, die ihn dazu drängt, in der Schule hervorragende Leistungen zu erbringen. Niemand wird für SAT-Nachhilfe und College-Bewerbungsberatung bezahlen. Keine Alumni-Verbindungen bedeuten, dass es schwieriger ist, zu den renommierten Institutionen zu gelangen. Kein Familiengeld bedeutet, dass staatliche Schulen privaten vorgezogen werden müssen. Eine durchschnittliche staatliche Schule bedeutet, dass die Top-Unternehmen möglicherweise nicht von diesem Campus rekrutieren. Einem normalen Menschen fehlen die familiären Verbindungen, um Praktikumsmöglichkeiten und garantierte Interviewplätze bei den Top-Unternehmen zu erhalten.

Als normaler Mensch sind die Möglichkeiten immer noch da. Es ist nur so, dass dich niemand darauf aufmerksam macht. Oder wenn sie es tun, implizieren sie, dass es unwahrscheinlich ist, dass Sie diese Gelegenheiten nutzen können. Die Chancen sind noch da. DU musst sie finden. DU musst sie ergreifen. Um das zu tun, müssen Sie hart arbeiten.

„Harte Arbeit“ bedeutet für unterschiedliche Einkommensklassen unterschiedliche Dinge. Dort, wo ich aufgewachsen bin, bedeutete es so etwas wie jeden Tag pünktlich zu erscheinen, egal was passiert, und die schmutzige Arbeit zu erledigen, ohne sich zu beschweren. Für ein paar Kinder von Ärzten bedeutet „harte Arbeit“, den Abschluss im Beruf ihrer Wahl zu machen, ein fairer, aber harter Arbeitgeber zu werden, die Dinge auszuhandeln, auf die es ankommt, und immer vorzeigbar auszusehen und sich vornehm zu verhalten.

Ironischerweise hat die Erledigung der schmutzigen Arbeit, ohne sich zu beschweren, dazu geführt, dass ich beim ersten Mal schnell bei Google aufgestiegen bin. Mal sehen, wo es mich diesmal hinführt. Die technischen Interview- und Beförderungsprozesse von Google kümmern sich nicht darum, wie Sie sich kleiden, wer Ihre Eltern sind oder welcher griechischen Organisation Sie angehören. Sie sind eine brutal ehrliche Einschätzung, wie gut Sie Ihr Handwerk kennen und anwenden.

Erfolg lässt sich fördern. In Ermangelung von Fürsorge kann ein normaler Mensch immer noch auf altmodische Weise erfolgreich sein. Das ist die Essenz des amerikanischen Traums: Arbeite hart und Gelegenheit wird folgen. Erfolg ist in diesem Land unabhängig von Ihrer Ausgangssituation erreichbar. Jeder, der dir etwas anderes sagt, versucht, es dir zu rauben.

A2A

Sie erwähnen zwei Unternehmen. Die Antwort fällt bei den beiden unterschiedlich aus.


Apfel

Apple verwendet intern nicht wirklich viel Python.

Es gibt einige Stellen im Bereich Test Engineering, in denen es fast ausschließlich verwendet wird, aber Apple hat eine Hassliebe zum Test Engineering als separate Disziplin.

Wenn Sie ein Testingenieur sind, haben Sie ziemlich freie Hand bei den Tools, die Sie verwenden (im Rahmen des Zumutbaren und bei den gebräuchlichsten).

Wenn Sie jedoch Testingenieur sind, werden Sie bei der Revolution als erster gegen die Wand fahren. Mit anderen Worten: Die Lebenserwartung Ihrer Position ist so, dass Sie davon ausgehen können

Weiterlesen

A2A

Sie erwähnen zwei Unternehmen. Die Antwort fällt bei den beiden unterschiedlich aus.


Apfel

Apple verwendet intern nicht wirklich viel Python.

Es gibt einige Stellen im Bereich Test Engineering, in denen es fast ausschließlich verwendet wird, aber Apple hat eine Hassliebe zum Test Engineering als separate Disziplin.

Wenn Sie ein Testingenieur sind, haben Sie ziemlich freie Hand bei den Tools, die Sie verwenden (im Rahmen des Zumutbaren und bei den gebräuchlichsten).

Wenn Sie jedoch Testingenieur sind, werden Sie bei der Revolution als erster gegen die Wand fahren. Mit anderen Worten: Die Lebenserwartung Ihrer Position ist so, dass Sie damit rechnen können, in jedem Entlassungsszenario der Erste zu sein, der entlassen wird.

Apple stellt auch nicht viele Testingenieure direkt ein, es sei denn, ein Projekt hat Qualitätsprobleme und sie möchten ein externes Paar Augen darauf haben. Wenn das Projekt vorbei ist, müssen Sie damit rechnen, dass diese Augen nicht mehr benötigt werden, und dann werden sie versuchen, den Prozess so zu jonglieren, dass Testingenieure als separate Disziplin nicht mehr erforderlich sind.

Nur Python zu kennen, ist mit anderen Worten eine Art karrierebegrenzender Schachzug bei Apple.


Google

Google mag Python und verwendet es häufig.

Auch hier dient es jedoch hauptsächlich zum Testen, und von Ingenieuren wird erwartet, dass sie ihre eigenen Tests schreiben.

In den Gruppen, an denen ich direkt beteiligt war und mit denen ich zufällig verbunden war, bei Google, wurden fast alle Tests in Python geschrieben. Ebenso wie Teile der Build-Infrastruktur.

Aus dem gleichen Grund hatte Google keine separaten B&I- (Build and Integration) oder Test-Engineering-Rollen. Mit anderen Worten: Nur Python zu kennen war nicht genug.

Python wird im Allgemeinen nicht für Backend-Dienste verwendet, zumindest nicht für weit verbreitete Dienste, mit Ausnahme der Generierung statischer Inhalte.

Das Problem ist das gleiche wie bei Facebook, nämlich dass Skriptsprachen nicht gut skalieren. Wenn Sie einen verwenden, zahlen Sie im Vergleich zu Go oder Java oder einer anderen Sprache für die 5-fache Anzahl von Servern, um dieselbe Aufgabe zu erledigen.

Die gute Nachricht ist, dass dies Sie nicht davon abhält, eingestellt zu werden, aber die schlechte Nachricht ist, dass von Ihnen erwartet wird, dass Sie die primäre Computersprache für eine bestimmte Gruppe schnell lernen, also erwarten Sie, dass Sie eine andere Sprache lernen müssen und dies auch erwartet wird mach es schnell.


Je mehr Sprachen Sie kennen, desto besser können Sie Konzepte über Computersprachen hinweg verallgemeinern.

Sie sind besser dran, wenn Sie die Konzepte und ein paar Sprachen kennen, in denen Sie sie ausdrücken können, als sich tief in eine einzelne Computersprache einzuarbeiten.

Als „das neue Mädchen/der neue Mann“ haben Sie ein wenig Zeit, sich einzuarbeiten, insbesondere wenn Sie in einer niedrigeren Position eingestellt werden, da die Erwartungen geringer sein werden … anfangs.

Wenn Sie die Konzepte kennen und eine oder zwei Sprachen auf einem ziemlich guten Niveau (dh wenn eine davon C ist, wird nicht erwartet, dass Sie wissen, dass Sie einen Aufzählungswertnamen nicht in zwei verschiedenen Aufzählungen wiederverwenden können, selbst wenn es in beiden Aufzählungen denselben Wert hat, auch wenn einige Compiler dies zulassen), ist die Sache wahrscheinlich in Ordnung. Solche Feinheiten können später kommen.


Übrigens: Google lässt Sie viel eher auf eigene Kosten lernen (vorausgesetzt, Sie lernen schnell) als Apple. Apple erwartet, dass Sie in der Lage sind, die Arbeit zu erledigen, für die sie Sie jetzt eingestellt haben, während Google im Allgemeinen damit bald zufrieden ist.

TL;DR: Java.

Nachdem ich bei Amazon und derzeit bei Microsoft ein Praktikum absolviert habe, kann ich Ihnen einen kleinen Einblick geben, welche Sprachen Sie lernen können, um eine aufregende Karriere als Softwareentwickler zu beginnen (Entschuldigung, wenn Sie nach Ratschlägen suchen, wie Sie ein Datenwissenschaftler oder eine andere Art von Ingenieur werden können )! :)

Java ist die primäre Entwicklungssprache bei Amazon, aber es gibt einige Teams, die Python, C, C++, Ruby usw. verwenden. Wenn Sie neu in der Programmierung sind, kann es schwierig sein, Java zu lernen, aber Amazon lässt Sie in der Regel nur zwischen ihnen wählen Java, C und C++ für seine Interviews, daher würde ich empfehlen, Java zu lernen, wenn Sie es angeben

Weiterlesen

TL;DR: Java.

Nachdem ich bei Amazon und derzeit bei Microsoft ein Praktikum absolviert habe, kann ich Ihnen einen kleinen Einblick geben, welche Sprachen Sie lernen können, um eine aufregende Karriere als Softwareentwickler zu beginnen (Entschuldigung, wenn Sie nach Ratschlägen suchen, wie Sie ein Datenwissenschaftler oder eine andere Art von Ingenieur werden können )! :)

Java ist die primäre Entwicklungssprache bei Amazon, aber es gibt einige Teams, die Python, C, C++, Ruby usw. verwenden. Wenn Sie neu in der Programmierung sind, kann es schwierig sein, Java zu lernen, aber Amazon lässt Sie in der Regel nur zwischen ihnen wählen Java, C und C++ für seine Vorstellungsgespräche, daher würde ich empfehlen, Java zu lernen, wenn Sie speziell bei Amazon arbeiten möchten.

Bei Microsoft sind die verwendeten Sprachen etwas unterschiedlich, aber C# ist das, was Sie als Software Engineer dort wahrscheinlich verwenden werden. C# ist in der Syntax Java sehr ähnlich, so dass das Erlernen des einen das Erlernen des anderen erleichtert. Bei meinem Vorstellungsgespräch bei Microsoft habe ich Java verwendet, aber ich habe von Leuten gehört, die andere Sprachen wie C++ und Python ohne Probleme verwenden. Um jedoch optimal auf den Job vorbereitet zu sein, sind C#/Java eine gute Wahl, wenn Sie hauptsächlich am Backend arbeiten.

Für Google/Facebook habe ich Freunde gesehen, die in Python und Java interviewt haben, aber in ihrem Job eine Vielzahl von Sprachen verwendet haben, wie Hack (Dialekt von PHP gemäß den Interwebs), Java, ein Javascript-Framework usw. Aber Keine Sorge, Sie müssen nicht all diese Sprachen lernen, um erfolgreich zu sein, Sie können sie bei der Arbeit lernen.

Meiner Meinung nach wäre Python die am einfachsten zu erlernende Sprache, da sie einen sehr geringen Overhead hat. Die Industrie neigt jedoch mehr zu statisch typisierten Sprachen (wo Sie den Typ einer Variablen wie $$ int x = 4; $$ anstelle von $$ x = 4; $$ definieren). Dies ist sinnvoll, da Sie beim Erstellen Ihres Produkts oder Ihrer Dienstleistung genau wissen müssen, mit welchen Eingabe- und Ausgabetypen Sie es zu tun haben, und mit einer ganzen Reihe anderer Dinge. Auch Java ist sehr umfangreich dokumentiert und in der Industrie sehr weit verbreitet, nicht nur bei den genannten Firmen. Java-Kenntnisse werden dir auch helfen, andere Jobs zu bekommen.

Viel Glück, und selbst wenn Sie nicht bei den von Ihnen erwähnten Unternehmen arbeiten, wird Ihnen der Weg zum Software-Ingenieur auf jeden Fall Spaß machen! :D

Nur Kenntnisse in irgendeiner Programmiersprache bringen Sie nicht in Unternehmen wie Google.

Fast alle Top-MNCs führen mehrere Testrunden und Interviews durch, um das Verständnis und die Fähigkeiten zu bewerten. Ich hoffe, dass dieses Feedback von genau den Orten, die oft Traumjobs für Studenten darstellen, die Entschlossenheit der Studenten stärken könnte, die hart arbeiten wollen, um zu lernen und ihre Fähigkeiten aufzubauen (der einzige Weg!), um ihren Weg fortzusetzen.

–In Meta/Soft Skills sind einige Fähigkeiten/Fähigkeiten, die in verschiedenen Formen am meisten hervorgehoben wurden:

Fähigkeit, schnell neue Konzepte, Sprachen, Technologien usw. zu lernen

Weiterlesen

Nur Kenntnisse in irgendeiner Programmiersprache bringen Sie nicht in Unternehmen wie Google.

Fast alle Top-MNCs führen mehrere Testrunden und Interviews durch, um das Verständnis und die Fähigkeiten zu bewerten. Ich hoffe, dass dieses Feedback von genau den Orten, die oft Traumjobs für Studenten darstellen, die Entschlossenheit der Studenten stärken könnte, die hart arbeiten wollen, um zu lernen und ihre Fähigkeiten aufzubauen (der einzige Weg!), um ihren Weg fortzusetzen.

–In Meta/Soft Skills sind einige Fähigkeiten/Fähigkeiten, die in verschiedenen Formen am meisten hervorgehoben wurden:

Fähigkeit, schnell neue Konzepte, Sprachen, Technologien und Best Practices zu lernen:
Wie zu erwarten ist, ist in der heutigen Welt eine kontinuierliche Aufwertung unerlässlich, und es ist zu erwarten, dass alles, was man weiß, bald veraltet sein wird, und man muss dazu in der Lage sein lernen. In einer High-End-Technologiekarriere (wie in den meisten wissensbasierten Karrieren) sind die Fähigkeit und der Wunsch zu lernen entscheidend, zusammen mit dem Wunsch und der Motivation, sich in allem, was man tut, weiter zu verbessern.

–Problemlösungsfähigkeit:-
Diese hat viele Aspekte und wurde unterschiedlich ausgedrückt als: logisches und kritisches Denken; Fähigkeit, neue Herausforderungen mit alten Problemen und Erfahrungen aus der Vergangenheit zu verbinden; Fähigkeit, verschiedene/ungleiche Konzepte zur Lösung eines Problems anzuwenden; Fähigkeit, auf abstrakter Ebene zu denken und Details aufzuschlüsseln; Fähigkeit, vorhandene Tools und Kenntnisse zur Problemlösung zu nutzen; Fähigkeit, ein Problem zu formulieren, über verschiedene Herangehensweisen nachzudenken; Fähigkeit, mit Unbekanntem/ Ungewissheit zu arbeiten; Fähigkeit, Engpässe zu erkennen und gut zu artikulieren; Fähigkeit, nach Informationen zu suchen, um diese Unbekannten zu füllen, Unsicherheiten zu reduzieren, Engpässe zu beseitigen.

–Kommunikationsfähigkeiten:-
Anderen Dinge klar und strukturiert erklären; Fähigkeit, klar und prägnant zu sprechen und zu schreiben.

–Teamarbeit:-
Fähigkeit, in Teams zu arbeiten, was Fähigkeiten wie die Übernahme der Führung bei Bedarf, aber die Verfolgung bei Bedarf erfordern kann; Fähigkeiten, Konflikte zu verhandeln und zu lösen, unter Zeitdruck und mit Verantwortung zu arbeiten usw.

Während die Meta-/Soft-Skills allgemein für High-End-Engineering-Fähigkeiten gelten können, konzentrierte sich das Feedback für technische Fähigkeiten viel stärker auf CSE (da sich der Fragebogen auf Informatik konzentrierte). Die Liste der gewünschten Fähigkeiten und Fertigkeiten ist hier länger und detaillierter. Einige der wichtigsten Fähigkeiten, die hervorgehoben wurden, sind:

– Solide Datenstrukturen und Algorithmen: –
Tiefes Verständnis dieser Themen, wie man sie kombiniert, wie man geeignete für ein Problem findet/gestaltet usw. Dies ist nicht überraschend, da dies in der Tat die grundlegendsten Themen sind, auf denen ein Großteil von CS beruht .

–Stark in OOPS:-
OO-Design und -Prinzipien, subtile Aspekte der Sprache, starkes Verständnis der Sprachfähigkeiten und -beschränkungen, ihres Designs und ihrer Implementierung.

–Gutes Verständnis von OS, DBMS, Netzwerken:-
Diese Themen wurden hervorgehoben, deren Verständnis extrem wichtig ist, um ein erfolgreicher Software-Ingenieur für High-End-Arbeit zu sein.
–Fähigkeit, gut strukturierten und effizienten Code zu schreiben. Diese Ansicht wurde auf verschiedene Weise zum Ausdruck gebracht. B. Fähigkeit, die Effizienz des Codes auf verschiedenen Ebenen zu bewerten – Algo, DS, Ausführungsebene (OS), Hardware – um sowohl Speicher als auch Zeit zu reduzieren; Verständnis der verschiedenen Schichten des Systems und Fähigkeit, das Programm auf diesen verschiedenen Schichten zu evaluieren/bewerten.

–Verschiedene andere Fähigkeiten, auf die hingewiesen wurde, waren: Fähigkeit, Bibliotheken aus unterschiedlichen Quellen zu nutzen und darüber Abstraktionen zu erstellen; gute Debugging-Fähigkeiten; Vertrautheit mit verschiedenen Programmierparadigmen – was sie können, wie sie implementiert werden, wo sie nützlich sind…; verschiedene Situationen verstehen, in denen ein System funktionieren oder versagen kann oder verwendet werden kann; Arbeitskenntnisse von Standardwerkzeugen und IDEs; Fähigkeit, den Code anderer zu lesen und zu analysieren, Feedback dazu zu geben, damit zu arbeiten / ihn effizient zu verbessern; Erfahrung in der Arbeit an einem realen Projekt (mit realer Lieferung und Benutzern/Kunden).

Dies sind einige Aspekte, die Voraussetzungen für Unternehmen wie goog sind:-

1. Sie müssen über ein anständiges Wissen über Datenstruktur und Betriebssystem verfügen.
Noch wichtiger ist, dass Sie wissen, wie alle Fächer und Theorien, Algorithmen in der Informatik miteinander verbunden sind.

2. Versuchen Sie einfach, jede Woche neue Technologien und Programmiersprachen zu lernen.
Damit Sie mehr über diesen Bereich wissen.

3. Sie sollten die Integration von Programmiersprachen, Tools und Plattformen kennen.

4. Üben, üben und üben.
Frischen Sie jeden Tag Ihre Fähigkeiten durch Codieren auf und versuchen Sie, neue Dinge aus Ihrem Wissen abzuleiten.

Können Sie als intelligenter Programmierer, dessen Hauptsprache Python ist, zu Google kommen? Jawohl. Das heißt, Sie werden C++ lernen wollen, wenn Sie eine Karriere bei Google planen, denn es ist die angesehenste der "Google-Sprachen" (Go war zu neu für mich, um es in dieser Hinsicht zu bewerten, als ich es war dort) und die maschinellen Lernprojekte werden es höchstwahrscheinlich verwenden. Der Ruf von Python ist, dass es nicht für die Produktion geeignet ist, und Java würde Sie zu einem Java-Programmierer machen. (Java bei Google zu machen - zumindest nach meiner Erfahrung, die 3 Jahre alt ist, aber ich bezweifle, dass sich viel geändert hat - bedeutet tatsächlich zu schreiben

Weiterlesen

Können Sie als intelligenter Programmierer, dessen Hauptsprache Python ist, zu Google kommen? Jawohl. Das heißt, Sie werden C++ lernen wollen, wenn Sie eine Karriere bei Google planen, denn es ist die angesehenste der "Google-Sprachen" (Go war zu neu für mich, um es in dieser Hinsicht zu bewerten, als ich es war dort) und die maschinellen Lernprojekte werden es höchstwahrscheinlich verwenden. Der Ruf von Python ist, dass es nicht für die Produktion geeignet ist, und Java würde Sie zu einem Java-Programmierer machen. (Java bei Google zu machen - zumindest nach meiner Erfahrung, die 3 Jahre alt ist, aber ich bezweifle, dass sich viel geändert hat - bedeutet tatsächlich Java zu schreiben, nicht Scala oder Clojure, also schreiben die coolen Kids C++ und Sie sollten es auch.) Die gute Nachricht ist, dass Google C++ viel zivilisierter ist als C++ in freier Wildbahn. Google hat einige verrottende Projekte, aber im Durchschnitt des Unternehmens Die Codequalität ist dort verdammt hoch. Das C++, auf das Sie stoßen, ist also wahrscheinlich besser als das, was Sie in einem C++-Shop erwarten würden.

Es hängt wirklich davon ab, wie gut Sie Ihre Informatik- und Software-Engineering-Prinzipien kennen. Wenn Sie sich mit der Analyse von Algorithmen, Datenstrukturen, Netzwerken, verteiltem Rechnen, maschinellem Lernen und einigen anderen zentralen CS- und SWE-Themen auskennen, sollten Sie kein Problem haben. Die Konzentration auf Programmiersprachen verfehlt wirklich das Wesentliche.

Related Post: