
Kommen Sie nicht auch ins GrĂŒbeln, wenn Sie die Stelle wechseln wollen und ein VorstellungsgesprĂ€ch ansteht? ZunĂ€chst denkt man: âIch muss mich auf das Interview vorbereitenâ. Man muss Aufgaben auf HackerRank bearbeiten, Crack the Coding Interview lesen, auswendig lernen, wie eine ArrayList funktioniert und was sie von einer LinkedList unterscheidet. Ach ja, und sie könnten auch nach Sortieralgorithmen fragen, und es wĂ€re eindeutig unprofessionell, zu sagen, dass Quick Sort wahrscheinlich die beste Wahl ist.
Aber Moment mal, Sie programmieren doch 8 Stunden am Tag, lösen interessante und knifflige Aufgaben, und an Ihrem neuen Arbeitsplatz werden Sie mehr oder weniger dasselbe tun. Dennoch muss man sich irgendwie zusĂ€tzlich auf das Interview vorbereiten, nicht um die tĂ€glichen FĂ€higkeiten zu verfeinern, sondern um das zu lernen, was man an der aktuellen Stelle nicht benötigt hat und wahrscheinlich auch nicht am nĂ€chsten. Auf Ihre EinwĂ€nde, dass Computerwissenschaft in unserem Blut liegt, und dass wir, wenn wir mitten in der Nacht geweckt werden, blind und mit geschlossenen Augen einen Breitensuchbaumalgorithmus auf ein Kissen schreiben sollten, werde ich antworten: Wenn ich mich fĂŒr den Zirkus bewerben wĂŒrde und mein Haupttrick genau das wĂ€re â dann ja, wĂŒrde ich zustimmen. Dieses Können muss man ĂŒberprĂŒfen.
Aber warum sollte man irrelevante FĂ€higkeiten fĂŒr den aktuellen Job ĂŒberprĂŒfen? Nur weil es modern geworden ist? Weil Google das so macht? Oder weil Ihr zukĂŒnftiger Teamleiter alle Sortiermethoden auswendig lernen musste, bevor er ein VorstellungsgesprĂ€ch hatte, und jetzt glaubt, dass âjeder gute Programmierer den Algorithmus zur Erkennung von Palindromen im String auswendig kennen mussâ?
Also, Sie sind nicht Google. Was sich Google leisten kann, können normale Unternehmen nicht. Google hat, nachdem sie die Daten ihrer Mitarbeiter analysiert haben, herausgefunden, dass genau bei ihnen Ingenieure mit olympischen HintergrĂŒnden am besten mit ihren spezifischen Aufgaben zurechtkommen. DarĂŒber hinaus können sie, wĂ€hrend sie den Auswahlprozess gestalten, das Risiko in Kauf nehmen, dass sie möglicherweise einige gute Ingenieure nicht einstellen, weil sie nicht so leicht mathematische Probleme lösen können. Aber fĂŒr sie ist das kein Problem, es gibt viele, die bei Google arbeiten möchten, die Stelle wird besetzt werden.
Schauen wir jetzt aus dem Fenster, und falls vor Ihrem BĂŒro immer noch Ingenieure stehen, die bei Ihnen arbeiten möchten und kein Zeltlager errichtet haben, und Ihre Entwickler öfter auf Stack Overflow nach dem nĂ€chsten Spring-Annotation suchen, anstatt sich mit den Feinheiten von Ranking-Algorithmen zu beschĂ€ftigen, dann ist es offensichtlich an der Zeit, sich zu fragen, ob es sinnvoll ist, Google zu kopieren.
Was tun, wenn Google beim ersten Mal versagt hat und keine Antwort gibt? ĂberprĂŒfen Sie genau das, was der Entwickler bei der Arbeit tun wird. Was schĂ€tzen Sie an Entwicklern?
Legen Sie die Kriterien fest, wen Sie einstellen möchten, und entwickeln Sie Tests, die genau diese FĂ€higkeiten ĂŒberprĂŒfen.
ThoughtWorks
Und was hat ThoughtWorks damit zu tun? Hier habe ich fĂŒr mich selbst ein Beispiel fĂŒr ein hervorragendes VorstellungsgesprĂ€ch gefunden. Wer sind ThoughtWorks? Kurz gesagt, es ist eine High-End-Consulting-Firma mit BĂŒros auf der ganzen Welt, von China und Singapur bis hin zu den amerikanischen Kontinenten, die seit etwa 25 Jahren in der Softwareentwicklung berĂ€t und eine eigene Wissenschaftsabteilung hat, die von Martin Fowler geleitet wird. Wenn Sie eine Liste von 10 BĂŒchern suchen, die ein Software-Ingenieur unbedingt lesen sollte, dann werden wahrscheinlich 2-3 davon von Leuten aus ThoughtWorks geschrieben sein, wie zum Beispiel "Refactoring" von Martin Fowler und "Building Microservices: Designing Fine-Grained Systems" von Sam Newman oder "Building Evolutionary Architectures" von Patrick Kua, Rebecca Parsons, Neal Ford.
von Patrick Kua, Rebecca Parsons, Neal Ford.
Das GeschĂ€ftsmodell des Unternehmens basiert auf dem Angebot recht teurer Dienstleistungen, doch der Kunde bezahlt fĂŒr die phĂ€nomenale QualitĂ€t, die sich aus Expertise, internen Standards und natĂŒrlich Menschen zusammensetzt. Daher ist es hier unerlĂ€sslich, die richtigen Leute einzustellen.
Wer sind also die richtigen Leute? NatĂŒrlich ist das fĂŒr jeden anders. ThoughtWorks hat festgestellt, dass fĂŒr ihr GeschĂ€ftsmodell die wichtigsten Kriterien fĂŒr Entwickler sind:
- Die FĂ€higkeit zum Pair Programming. Und zwar die FĂ€higkeit, nicht die Erfahrung oder das Können. Niemand erwartet, dass Leute kommen, die bereits seit 5 Jahren Pair Programming praktizieren. Aber empfĂ€nglich fĂŒr die Meinungen anderer zu sein und zuhören zu können - das ist eine notwendige FĂ€higkeit.
- Die FĂ€higkeit, Tests zu schreiben, idealerweise die Praktik von TDD zu praktizieren.
- SOLID und OOP zu verstehen und anwenden zu können.
- Seine Meinung zu prÀsentieren. Ein Berater muss mit den Entwicklern des Auftraggebers und anderen Beratern zusammenarbeiten, und es bringt wenig Nutzen, wenn eine Person etwas gut kann, aber völlig unfÀhig ist, dies den anderen Teammitgliedern zu vermitteln.
Es ist nun wichtig, genau diese FÀhigkeiten des Kandidaten zu bewerten. Hier möchte ich von meiner Erfahrung bei einem VorstellungsgesprÀch bei ThoughtWorks berichten. Ich werde gleich sagen, dass ich in Singapur war und das GesprÀch bestanden habe, aber der Rekrutierungsprozess ist einheitlich und wird sich von Land zu Land nicht stark unterscheiden.
Phase 0. HR
Wie so oft gab es ein 20-minĂŒtiges GesprĂ€ch mit HR. Ich werde darauf nicht nĂ€her eingehen, nur sagen, dass ich noch nie zuvor einen HR getroffen habe, der 15 Minuten ĂŒber die Entwicklungskultur im Unternehmen reden konnte, warum sie TDD anwenden, warum Paarprogrammierung. Normalerweise versinken die HRs an diesem Punkt und erzĂ€hlen, dass ihr Prozess gewöhnlich ist: Entwickler entwickeln, Tester testen, Manager treiben an.
Phase 1. Wie gut bist du in OOP, TDD?
1,5 Stunden vor Beginn des Interviews erhielt ich die Aufgabe, einen Simulator fĂŒr den Mars-Rover zu erstellen.
Aufgabe Mars RoverEin Team von robotergestĂŒtzten Rovern soll von der NASA auf ein Plateau auf dem Mars gelandet werden. Dieses Plateau, das kurioserweise rechteckig ist, muss von den Rovern befahren werden, damit ihre Bordkameras eine vollstĂ€ndige Ansicht des umliegenden GelĂ€ndes erhalten, um sie zur Erde zurĂŒckzusenden. Die Position und Lage eines Rovers wird durch eine Kombination aus x- und y-Koordinaten sowie einem Buchstaben dargestellt, der einen der vier Himmelsrichtungen entspricht. Das Plateau ist in ein Raster unterteilt, um die Navigation zu vereinfachen. Eine Beispielposition könnte 0, 0, N sein, was bedeutet, dass der Rover in der unteren linken Ecke steht und nach Norden schaut. Um einen Rover zu steuern, sendet die NASA eine einfache Buchstabenkette. Die möglichen Buchstaben sind 'L', 'R' und 'M'. 'L' und 'R' lassen den Rover 90 Grad nach links oder rechts drehen, ohne sich von seiner aktuellen Position zu bewegen. 'M' bedeutet, einen Rasterpunkt nach vorne zu bewegen und die gleiche Richtung beizubehalten.
Nehmen Sie an, dass das Quadrat direkt nördlich von (x, y) (x, y+1) ist.
EINGABE:
Die erste Zeile der Eingabe sind die oberen rechten Koordinaten des Plateaus, die unteren linken Koordinaten werden als 0,0 angenommen.
Der Rest der Eingabe enthÀlt Informationen zu den eingesetzten Rovern. Jeder Rover hat zwei Zeilen Eingabe. Die erste Zeile gibt die Position des Rovers an, und die zweite Zeile ist eine Reihe von Anweisungen, die dem Rover sagen, wie er das Plateau erkunden soll. Die Position setzt sich aus zwei Ganzzahlen und einem Buchstaben zusammen, die durch Leerzeichen getrennt sind und den x- und y-Koordinaten sowie der Orientierung des Rovers entsprechen.
Jeder Rover wird nacheinander abgeschlossen, was bedeutet, dass der zweite Rover sich nicht bewegen kann, bevor der erste beendet hat.
AUSGABE:
Die Ausgabe fĂŒr jeden Rover sollte seine endgĂŒltigen Koordinaten und die Richtung sein.
ANMERKUNGEN:
Setzen Sie einfach die oben genannten Anforderungen um und beweisen Sie, dass ein Staubsauger funktioniert, indem Sie Unit-Tests dafĂŒr schreiben.
Die Erstellung irgendeiner Form von BenutzeroberflÀche ist nicht Teil des Auftrags.
Die Lösung des Problems unter Verwendung eines TDD-Ansatzes (Testgetriebene Entwicklung) wird bevorzugt.
In der kurzen zur VerfĂŒgung stehenden Zeit sind wir mehr an QualitĂ€t als an VollstĂ€ndigkeit interessiert.
*Ich kann die Aufgabe, die mir geschickt wurde, nicht veröffentlichen, da es sich um eine alte Aufgabe handelt, die vor einigen Jahren vergeben wurde. Aber glauben Sie mir, prinzipiell ist alles gleich geblieben.
Besonders möchte ich auf die Bewertungskriterien hinweisen. Wie oft sind Sie schon in einer Situation gewesen, in der fĂŒr den Kandidaten wichtige Dinge bei der PrĂŒfung völlig unwichtig waren und umgekehrt? Nicht jeder denkt so wie Sie, aber viele können Ihre Werte annehmen und ihnen folgen, wenn sie klar formuliert sind. Daher ist aus den Bewertungskriterien sofort ersichtlich, dass die wichtigsten FĂ€higkeiten auf dieser Ebene sind
- TDD;
- Die FĂ€higkeit, OOP zu verwenden und wartbaren Code zu schreiben;
- FĂ€higkeiten im Pair Programming
Also wurde ich gewarnt, diese 1,5 Stunden damit zu verbringen, darĂŒber nachzudenken, wie ich die Aufgabe angehen will, und nicht mit dem Schreiben von Code. Den Code werden wir gemeinsam schreiben.
Als wir telefonierten, haben die Jungs kurz erzÀhlt, wer sie sind und was sie machen, und haben vorgeschlagen, mit der Entwicklung zu beginnen.
WĂ€hrend des gesamten Interviews hatte ich nie das GefĂŒhl, dass ich in einem VorstellungsgesprĂ€ch bin. Es fĂŒhlt sich an, als ob Sie im Team Code entwickeln. Wenn Sie irgendwo stecken bleiben â sie helfen, beraten, diskutieren, argumentieren sogar untereinander, wie es am besten zu machen ist. In dem VorstellungsgesprĂ€ch habe ich vergessen, wie man in JUnit 5 ĂŒberprĂŒft, ob eine Methode eine Exception auslöst â sie haben vorgeschlagen, weiterhin den Test zu schreiben, wĂ€hrend einer von ihnen gegoogelt hat, wie das geht.
Schon wenige Stunden nach dem Interview erhielt ich konstruktives Feedback â was gut war und was nicht. In meinem Fall wurde ich fĂŒr die Verwendung von Sealed-Klassen als Alternative zu null-Objekten gelobt; dafĂŒr, dass ich vor dem Schreiben von Code mit Pseudocode skizziert habe, wie ich den Rover steuern möchte, und so zumindest einen Entwurf der Klassen erhalten habe, die im API des Roboters verwendet werden.
Schritt 2. ErzÀhl uns
Eine Woche vor dem VorstellungsgesprÀch wurde ich gebeten, eine PrÀsentation zu einem beliebigen Thema vorzubereiten, das mich interessiert. Das Format ist einfach und vertraut: 15 Minuten PrÀsentation, 15 Minuten Fragen.
Ich habe Clean Architecture von Uncle Bob gewĂ€hlt. Und wieder wurde ich von ein paar Personen interviewt. Das war meine erste Erfahrung, eine PrĂ€sentation auf Englisch zu halten, und ich muss sagen, dass ich in einer stressigen Situation wahrscheinlich nicht zurechtgekommen wĂ€re. Aber andererseits hatte ich nie das GefĂŒhl, dass ich in einem VorstellungsgesprĂ€ch bin. Alles wie gewohnt â ich erzĂ€hle, sie hören aufmerksam zu. Selbst die traditionelle Frage-und-Antwort-Runde erinnerte nicht an ein Interview, es war offensichtlich, dass die gestellten Fragen nicht dazu dienten, mich âunterzutauchenâ, sondern Interesse an meiner PrĂ€sentation zeigten.
Ein paar Stunden nach dem VorstellungsgesprĂ€ch erhielt ich Feedback â die PrĂ€sentation war sehr hilfreich und sie hatten von der Zuhörung aufrichtig Freude.
Phase 3. ProduktionsqualitÀt Code
Nachdem ich darauf hingewiesen wurde, dass dies die letzte Phase der technischen Interviews ist, wurde ich gebeten, den Code zu Hause auf einen produktionsreifen Zustand zu bringen, danach den Code zur ĂberprĂŒfung einzureichen und Interviews zu planen, bei denen sich die Anforderungen an die Aufgabe Ă€ndern und der Code modifiziert werden muss. Um vorzugreifen, kann ich sagen, dass die CodeĂŒberprĂŒfung blind erfolgt, die Reviewer kennen weder die Position, auf die der Kandidat sich bewirbt, noch sehen sie seinen Lebenslauf, sie sehen nicht einmal seinen Namen.
Ein Anruf, und wieder mal ein paar Leute auf der anderen Seite des Bildschirms. Alles wie beim ersten VorstellungsgesprĂ€ch: wichtig ist, das TDD nicht zu vergessen, zu erzĂ€hlen, was du machst und warum. Wenn du TDD vorher noch nicht praktiziert hast, empfehle ich dir dringend, sofort damit zu beginnen, nicht weil es in Unternehmen notwendig ist, sondern weil es dein Leben erheblich erleichtert und den Stress level senkt, wenn du so willst. Erinnerst du dich, wie du verzweifelt nach einem Bug gesucht hast, der nur im Browser auftritt und den du mit Tests nicht reproduzieren kannst? Stell dir jetzt vor, dass du so einen Bug wĂ€hrend des VorstellungsgesprĂ€chs finden musst â da kannst du dir sicher ein paar graue Haare sparen. Was haben wir mit TDD? Du hast den Code geĂ€ndert und stellst ĂŒberraschend fest, dass die Tests rot sind, aber du kannst beim ersten Mal nicht herausfinden, worin der Fehler liegt? Okay, du sagst den Interviewern âUpsâ, drĂŒckst Ctrl-Z und beginnst, kleine Schritte nach vorne zu machen. Und ja, die FĂ€higkeit, mit TDD zu entwickeln, musst du dir aneignen, die FĂ€higkeit, auf ein Ziel hinzuarbeiten, sodass deine Tests dauerhaft grĂŒn sind und nicht den halben Tag rot, nur weil âdu eine groĂe Ăberarbeitung machstâ. Das ist genau die gleiche FĂ€higkeit wie die FĂ€higkeit, wartbaren Code zu schreiben oder leistungsfĂ€higen Code.
Wie gut dein Code fĂŒr Ănderungen geeignet ist, hĂ€ngt davon ab, welches Design du ursprĂŒnglich festgelegt hast, wie einfach es ist und wie gut deine Tests sind.
Nach dem VorstellungsgesprĂ€ch erhielt ich nach ein paar Stunden ein Feedback. In diesem Stadium wurde mir klar, dass ich praktisch bestanden hatte und nur noch wenig bis zum âTreffen mit Fowlerâ fehlte.
Schritt 4. Finale. GenĂŒgend technische Fragen. Wir möchten wissen, wer du bist!
Ehrlich gesagt hat mich diese Fragestellung etwas verwirrt. Wie kann man in einer Stunde GesprĂ€ch herausfinden, was fĂŒr ein Mensch ich bin? Und schon gar nicht, wenn ich in einer mir fremden Sprache spreche, und, um es offen zu sagen, ziemlich schlecht und holprig. Bei vorherigen Interviews fiel es mir persönlich leichter, etwas zu erzĂ€hlen, als Fragen zu beantworten, und das lag am Akzent. Jedenfalls war einer der Interviewer asiatisch â und ihr Akzent ist, sagen wir mal, ziemlich speziell fĂŒr europĂ€ische Ohren. Deshalb habe ich beschlossen, einen proaktiven Ansatz zu verfolgen â eine PrĂ€sentation ĂŒber mich vorzubereiten und zu Beginn des Interviews vorzuschlagen, diese ĂŒber mich zu zeigen. Wenn sie zustimmen â dann gibt es zumindest weniger Fragen an mich, wenn sie das Angebot ablehnen â nun ja, 3 Stunden meines Lebens, die ich fĂŒr die PrĂ€sentation aufgewendet habe â ist nicht so ein hoher Preis. Aber was soll ich in der PrĂ€sentation schreiben? Eine Biografie â Geboren hier und dort, dann zur Schule gegangen, Uni abgeschlossen â das interessiert doch niemanden?
Wenn man ein wenig ĂŒber die Kultur von Thoughtworks googelt, findet man einen Artikel von Martin Fowler [https://martinfowler.com/bliki/ThreePillars.html], in dem die 3 SĂ€ulen beschrieben werden: Nachhaltiges GeschĂ€ft, Software-Exzellenz und soziale Gerechtigkeit.
Angenommen, meine Software-Exzellenz wurde bereits ĂŒberprĂŒft. Ich muss noch Nachhaltiges GeschĂ€ft und soziale Gerechtigkeit zeigen.
Ich habe beschlossen, mich dabei besonders auf letzteres zu konzentrieren.
ZunĂ€chst habe ich erzĂ€hlt, warum ThoughtWorks fĂŒr mich wichtig ist â ich habe wĂ€hrend des Studiums den Blog von Martin Fowler gelesen, daher meine Liebe zu Clean Code.
Projekte lassen sich auch aus verschiedenen Perspektiven prĂ€sentieren. Ich habe Software fĂŒr das Gesundheitswesen entwickelt, die das Leben der Patienten erleichtert hat, und es gibt sogar GerĂŒchte, dass sie ein Leben gerettet hat. Ich habe auch Software fĂŒr Banken entwickelt, die ebenfalls das Leben der BĂŒrger erleichtert. Besonders, wenn diese Bank von etwa 70 % der Bevölkerung des Landes genutzt wird. Es geht nicht um Sberbank und auch nicht um Russland.
Möchten Sie mehr ĂŒber mich erfahren? Okay. Mein Hobby ist Fotografie, ich halte seit etwa 10 Jahren eine Kamera in der Hand, ich habe Fotos, die ich nicht ganz so peinlich finde, um sie zu zeigen. AuĂerdem habe ich eine Zeit lang einem Tierheim fĂŒr Katzen geholfen: Ich habe Fotos von Katzen gemacht, die ein dauerhaftes Zuhause brauchten. Mit guten Fotos ist es viel einfacher, eine Katze zu vermitteln. Ich habe wahrscheinlich rund 100 Katzen fotografiert đ
Letztendlich waren 80 % der PrĂ€sentation mit Katzen gefĂŒllt.
Sofort nach der PrĂ€sentation hat mir die Personalabteilung geschrieben, dass sie die Ergebnisse des Interviews noch nicht kennt, aber das ganze BĂŒro bereits von den Katzen beeindruckt ist.
Letztendlich habe ich das Feedback erhalten â ich habe alle als Person zufriedengestellt.
Aber die Personalabteilung hat im abschlieĂenden GesprĂ€ch taktvoll erwĂ€hnt, dass soziale Gerechtigkeit sehr wichtig ist und notwendig, aber nicht alle Projekte so sind. Und sie fragte, ob mich das beĂ€ngstigt. Insgesamt habe ich es ein wenig mit der sozialen Gerechtigkeit ĂŒbertrieben, passiert đ
Fazit
Wie dem auch sei, ich arbeite seit mehreren Monaten in Singapur bei Thoughtworks, und ich sehe, dass hier viele Unternehmen auch die âbesten Interviewpraktikenâ von Google ĂŒbernehmen, indem sie Zettel und Whiteboards zum Programmieren verwenden, wĂ€hrend in der Arbeit keine Kenntnisse ĂŒber Spring, Symfony, RubyOnRails (was relevant ist, bitte unterstreichen) erforderlich sind. Ingenieure nehmen eine Woche Urlaub vor dem Interview, um sich âvorzubereitenâ.
Bei Thoughtworks stehen neben angemessenen Anforderungen an den Kandidaten solche Prinzipien an erster Stelle:
Freude am Interviewen. Und zwar fĂŒr beide Seiten. TatsĂ€chlich, wenn Sie die besten Talente gewinnen möchten (und wer möchte das nicht?), dann ist ein Interview kein Markt, auf dem Sklaven ausgewĂ€hlt werden, sondern ein Kennenlernen, bei dem sowohl der Arbeitgeber als auch der Kandidat sich gegenseitig bewerten. Und wenn der Kandidat mit dem Unternehmen angenehme Emotionen verbindet, ist es sehr wahrscheinlich, dass er genau dieses Unternehmen wĂ€hlt.
Mehrere Interviewer zur Minderung von Vorurteilen. Bei Thoughtworks ist Pair Programming der De-facto-Standard. Und wenn diese Praxis in anderen Bereichen angewendet werden kann, versucht TW, dies zu tun. In jeder Phase des Interviews fĂŒhren zwei Personen das GesprĂ€ch. Auf diese Weise wird jede Person von mindestens 8 Personen bewertet, und TW bemĂŒht sich, Interviewer mit unterschiedlichem Hintergrund, aus verschiedenen Fachrichtungen (nicht nur Techniker) und Geschlechtern auszuwĂ€hlen.
Letztendlich wird die Entscheidung ĂŒber die Einstellung auf der Grundlage der Meinungen von mindestens 8 Personen getroffen, und niemand hat das Recht, das endgĂŒltige Urteil zu fĂ€llen.
Attributbasiertes Einstellen Anstatt die Entscheidung auf der Grundlage von âgefĂ€llt mir, gefĂ€llt mir nichtâ des Kandidaten zu treffen, wurde fĂŒr jede Rolle und jede Phase ein Formular entwickelt, das die zu bewertenden Attribute umfasst. Dabei wird dringend empfohlen, nicht die Erfahrung in einer bestimmten FĂ€higkeit zu bewerten, sondern die FĂ€higkeit, sie anzuwenden. Wenn ein Kandidat also keine Möglichkeit hatte, FĂ€higkeiten wie TDD anzuwenden, aber dennoch versucht, sie anzuwenden und RatschlĂ€ge zur richtigen Nutzung befolgt, hat er alle Chancen, das Interview zu bestehen.
Bildungszertifikate nicht erforderlich TW verlangt von den Kandidaten keine zwingenden Zertifikate oder einen Abschluss in Informatik. Es werden nur FĂ€higkeiten bewertet.
Das ist das erste Interview, fĂŒr das ich mich bei auslĂ€ndischen Unternehmen nicht vorbereiten musste. Nach jeder Phase fĂŒhlte ich mich nicht wie eine ausgepresste Zitrone, sondern war im Gegenteil froh, dass ich die besten Praktiken anwenden konnte und dass die Menschen auf der anderen Seite des Monitors dies schĂ€tzen und ebenfalls tĂ€glich anwenden.
Nach einigen Monaten kann ich sagen, dass die Erwartungen vollstĂ€ndig erfĂŒllt wurden. Was unterscheidet ThoughtWorks von einem gewöhnlichen Unternehmen? In einem gewöhnlichen Unternehmen finden Sie gute Entwickler und angenehme Menschen, aber bei TW ist ihre Dichte ĂŒberwĂ€ltigend.
Wenn Sie sich ThoughtWorks anschlieĂen möchten, können Sie die offenen Stellenangebote einsehen.
Ich empfehle auch, auf interessante Stellenangebote zu achten:
Lead Software Engineer: , , ,
Senior Software Engineer: , , ,
Software Engineer: , ,
Senior Data Engineer:
Quality Analyst:
Infrastruktur: , ,
(Ich möchte ehrlich warnen, dass der Link ein Referral-Link ist; wenn Sie bei TW eingestellt werden, erhalte ich ein nettes Bonus.) WĂ€hlen Sie das BĂŒro, das Ihnen gefĂ€llt; es ist nicht nötig, sich nur auf Europa zu beschrĂ€nken. SchlieĂlich ist ThoughtWorks bereit, Sie alle zwei Jahre in ein anderes Land zu versetzen, da dies Teil der Unternehmenspolitik von ThoughtWorks ist, wodurch die Kultur verbreitet und nivelliert wird.
Zögern Sie nicht, Fragen in den Kommentaren zu stellen oder mich zu bitten, Sie zu empfehlen.
Wenn das Thema interessant erscheint, werde ich darĂŒber schreiben, wie es ist, bei ThoughtWorks zu arbeiten und wie das Leben in Singapur ist.
Quelle: habr.com
