Wie ich zu ThoughtWorks gekommen bin oder ein Beispielinterview

Wie ich zu ThoughtWorks gekommen bin oder ein Beispielinterview

Kommt es Ihnen nicht merkwürdig vor, dass Sie, wenn Sie kurz vor einem Jobwechsel stehen und die Notwendigkeit haben, ein Vorstellungsgespräch zu bestehen, als Erstes denken: „Sie müssen sich auf das Vorstellungsgespräch vorbereiten.“ Lösen Sie Probleme auf HackerRank, lesen Sie das Coding-Interview Crack, merken Sie sich, wie ArrayList funktioniert und wie es sich von LinkedList unterscheidet. Oh ja, vielleicht fragen sie auch nach dem Sortieren, und es wäre natürlich unprofessionell zu sagen, dass eine schnelle Sortierung höchstwahrscheinlich die beste Wahl wäre.
Aber warten Sie, Sie programmieren 8 Stunden am Tag, lösen interessante und nicht triviale Probleme, und bei Ihrem neuen Job werden Sie dasselbe tun, plus oder minus. Aber um ein Vorstellungsgespräch zu bestehen, müssen Sie sich trotzdem irgendwie zusätzlich vorbereiten, nicht einmal Ihre täglichen Fähigkeiten verbessern, sondern etwas lernen, das Sie in Ihrem aktuellen Job nicht brauchten und bei Ihrem nächsten wahrscheinlich nicht brauchen werden. Zu Ihren Einwänden, dass uns die Informatik im Blut liegt und wir, wenn Sie uns mitten in der Nacht aufwecken, gezwungen sind, mit geschlossenen Augen auf einen Kissenbezug zu schreiben und einen Spaziergang um die Breite eines Baumes zu machen, ohne überhaupt das Bewusstsein wiederzuerlangen, ich Ich werde antworten, wenn ich einen Job im Zirkus bekomme und meine Hauptaufgabe der Trick genau das wäre - dann stimme ich vielleicht ja zu. Diese Fähigkeit muss getestet werden.

Aber warum sollten Sie Fähigkeiten testen, die für Ihren aktuellen Job irrelevant sind? Nur weil es in Mode gekommen ist? Weil Google das macht? Oder weil Ihr zukünftiger Teamleiter vor dem Vorstellungsgespräch alle Sortiermethoden erlernen musste und nun glaubt, dass „jeder gute Programmierer die Implementierung des Findens eines Palindroms in einem String auswendig kennen muss“.

Nun, Sie sind nicht Google (c). Was sich Google leisten kann, können sich normale Unternehmen nicht leisten. Google kam nach der Analyse der Daten seiner Mitarbeiter zu dem Schluss, dass Ingenieure mit Olympia-Hintergrund seine spezifischen Aufgaben gut bewältigen können. Darüber hinaus können sie es sich durch die Gestaltung ihres Auswahlprozesses leisten, das Risiko einzugehen, dass sie einige gute Ingenieure nicht einstellen, weil sie mathematische Probleme nicht leicht lösen können. Für sie ist das aber kein Problem, es gibt viele Leute, die bei Google arbeiten wollen, die Stelle wird geschlossen.
Schauen wir nun aus dem Fenster: Wenn vor Ihrem Büro die Ingenieure, die für Sie arbeiten möchten, noch kein Zeltlager aufgebaut haben und Ihre Entwickler häufiger auf Stackoverflow nach der nächsten Spring-Annotation suchen, die installiert werden muss, Anstatt sich mit den Feinheiten von Ranking-Algorithmen zu befassen, ist es offenbar an der Zeit, darüber nachzudenken, ob Sie Google kopieren sollten.

Nun, wenn Google dieses Mal versagt hat und keine Antwort gegeben hat, was sollten Sie dann tun? Prüfen Sie genau, was der Entwickler bei der Arbeit tun wird. Was schätzen Sie an Entwicklern?
Legen Sie Kriterien dafür fest, wen Sie einstellen möchten, und entwickeln Sie Tests, die genau diese Fähigkeiten prüfen.

Thought

Was hat ThoughtWorks damit zu tun? Hier habe ich ein Beispiel für ein Model-Interview für mich gefunden. Wer sind ThoughtWorks? Kurz gesagt handelt es sich um ein High-End-Beratungsunternehmen mit Niederlassungen auf der ganzen Welt, von China über Singapur bis hin zu den amerikanischen Kontinenten, das seit etwa 25 Jahren im Bereich Entwicklung berät und über eine eigene Wissenschaftsabteilung unter der Leitung von Martin verfügt Fowler. Wenn Sie nach einer Liste mit 10 Büchern suchen, die ein Software-Ingenieur unbedingt lesen muss, dann werden vielleicht zwei bis drei davon von den Jungs von ThoughtWorks geschrieben, etwa „Refactoring“ von Martin Fowler und „Building Microservices: Designing Fine-Grained Systems“ von Sam Newman oder der Aufbau evolutionärer Architekturen
von Patrick Kua, Rebecca Parsons, Neal Ford.

Das Geschäft des Unternehmens basiert auf der Bereitstellung relativ teurer Dienstleistungen, aber der Kunde zahlt für phänomenale Qualität, die aus Fachwissen, internen Standards und natürlich Menschen besteht. Daher ist es hier von entscheidender Bedeutung, die richtigen Leute einzustellen.
Was für Leute haben Recht? Natürlich gibt es für jeden etwas anderes. ThoughtWorks hat festgestellt, dass die wichtigsten Kriterien für ihr Entwickler-Geschäftsmodell sind:

  • Fähigkeit, sich paarweise zu entwickeln. Es geht um Fähigkeit, nicht um Erfahrung oder Können. Niemand rechnet damit, dass Leute kommen werden, die seit 5 Jahren Paarprogrammierung praktizieren. Aber für die Meinungen anderer Menschen empfänglich zu sein und zuhören zu können, ist eine notwendige Fähigkeit.
  • Fähigkeit, Tests zu schreiben und idealerweise TDD zu üben
  • SOLID und OOP verstehen und anwenden können.
  • Präsentieren Sie Ihre Meinung. Als Berater muss man mit den Entwicklern des Kunden und mit anderen Beratern zusammenarbeiten, und es nützt nicht viel, wenn jemand weiß, wie man etwas gut macht, es aber dem Rest des Teams überhaupt nicht vermitteln kann.

Jetzt ist es wichtig, diese besonderen Fähigkeiten des Kandidaten zu bewerten. Und hier möchte ich über meine Erfahrungen mit Vorstellungsgesprächen bei ThoughtWorks sprechen. Ich möchte gleich sagen, dass ich nach Singapur gegangen bin und bestanden habe, aber der Rekrutierungsprozess ist einheitlich und wird sich von Land zu Land kaum unterscheiden.

Stufe 0. HR

Wie so oft ein 20-minütiges Interview mit der Personalabteilung. Ich werde nicht weiter darauf eingehen, sondern nur sagen, dass ich noch nie einen HR-Mitarbeiter getroffen habe, der 15 Minuten lang über die Entwicklungskultur im Unternehmen sprechen konnte, warum sie TDD verwenden, warum Pair Programming. Normalerweise geben HR-Mitarbeiter bei dieser Frage nach und sagen, dass ihr Prozess normal sei: Entwickler entwickeln, Tester testen, Manager fahren.

Stufe 1. Wie gut sind Sie in OOP, TDD?

1.5 Stunden vor Beginn des Interviews erhielt ich den Auftrag, einen Mars-Rover-Simulator zu bauen.

Mars-Rover-MissionEine Gruppe Roboterrover soll von der NASA auf einem Plateau auf dem Mars gelandet werden. Dieses Plateau, das seltsamerweise rechteckig ist, muss von den Rovers befahren werden, damit ihre Bordkameras einen vollständigen Überblick über das umliegende Gelände erhalten und sie zur Erde zurücksenden können. Die Position und der Standort eines Rovers werden durch eine Kombination aus X- und Y-Koordinaten und einem Buchstaben dargestellt, der eine der vier Himmelsrichtungen darstellt. Zur Vereinfachung der Navigation ist das Plateau in ein Raster unterteilt. Eine Beispielposition könnte 0, 0, N sein, was bedeutet, dass sich der Rover in der unteren linken Ecke befindet und nach Norden zeigt. Um einen Rover zu steuern, sendet die NASA eine einfache Buchstabenfolge. Die möglichen Buchstaben sind „L“, „R“ und „M“. „L“ und „R“ bewirken, dass sich der Rover um 90 Grad nach links bzw. rechts dreht, ohne sich von seiner aktuellen Position zu bewegen. „M“ bedeutet, einen Rasterpunkt vorwärts zu bewegen und den gleichen Kurs beizubehalten.
Nehmen Sie an, dass das Quadrat direkt nördlich von (x, y) (x, y+1) ist.
EINGANG:
Die erste Eingabezeile sind die oberen rechten Koordinaten des Plateaus, die unteren linken Koordinaten werden mit 0,0 angenommen.
Der Rest der Eingabe besteht aus Informationen zu den eingesetzten Rovern. Jeder Rover verfügt über zwei Eingabezeilen. Die erste Zeile gibt die Position des Rovers an und die zweite Zeile enthält eine Reihe von Anweisungen, die dem Rover sagen, wie er das Plateau erkunden soll. Die Position besteht aus zwei ganzen Zahlen und einem durch Leerzeichen getrennten Buchstaben, die den x- und y-Koordinaten und der Ausrichtung des Rovers entsprechen.
Jeder Rover wird nacheinander fertiggestellt, was bedeutet, dass der zweite Rover sich erst dann in Bewegung setzt, wenn der erste seine Bewegung beendet hat.
AUSGABE:
Die Ausgabe für jeden Rover sollte seine endgültigen Koordinaten und seinen Kurs sein.
HINWEISE:
Implementieren Sie einfach die oben genannten Anforderungen und beweisen Sie, dass ein Staubsauger funktioniert, indem Sie Unit-Tests dafür schreiben.
Das Erstellen einer Benutzeroberfläche jeglicher Art liegt außerhalb des Rahmens.
Die Lösung des Problems durch einen TDD-Ansatz (Test Driven Development) wird bevorzugt.
In der kurzen zur Verfügung stehenden Zeit legen wir mehr Wert auf Qualität als auf Vollständigkeit.
*Ich kann die mir zugesandte Aufgabe nicht veröffentlichen, da es sich um eine alte Aufgabe handelt, die vor einigen Jahren erteilt wurde. Aber glauben Sie mir, im Grunde bleibt alles beim Alten.

Besonders hervorheben möchte ich die Bewertungskriterien. Wie oft sind Sie schon auf eine Situation gestoßen, in der Dinge, die für einen Kandidaten wichtig sind, während des Audits völlig unwichtig waren und umgekehrt. Nicht jeder denkt so wie Sie, aber viele können Ihre Werte akzeptieren und ihnen folgen, wenn sie klar dargelegt werden. Aus den Bewertungskriterien geht also sofort hervor, dass es sich in dieser Phase um die wichtigsten Fähigkeiten handelt

  • TDD;
  • Fähigkeit, OOP zu verwenden und wartbaren Code zu schreiben;
  • Paarprogrammierungsfähigkeiten

Daher wurde ich gewarnt, diese 1.5 Stunden damit zu verbringen, darüber nachzudenken, wie ich die Aufgabe erledigen würde, anstatt Code zu schreiben. Wir werden den Code gemeinsam schreiben.

Als wir anriefen, erzählten uns die Jungs kurz, wer sie sind und was sie tun, und boten an, mit der Entwicklung zu beginnen.

Während des gesamten Interviews hatte ich zu keinem Zeitpunkt das Gefühl, interviewt zu werden. Man hat das Gefühl, dass man Code im Team entwickelt. Wenn man irgendwo nicht weiterkommt, helfen sie, beraten, diskutieren und diskutieren sogar miteinander, wie man es am besten macht. Beim Interview habe ich vergessen, wie man in JUnit 5 überprüft, ob eine Methode eine Ausnahme auslöst – sie boten an, mit dem Schreiben des Tests fortzufahren, während einer von ihnen googelte, wie das geht.

Buchstäblich wenige Stunden nach dem Vorstellungsgespräch erhielt ich konstruktives Feedback – was mir gefiel und was nicht. In meinem Fall wurde ich dafür gelobt, dass ich Sealed-Klassen als Alternative zum Nullobjekt verwendet habe; dafür, dass ich vor dem Schreiben des Codes in Pseudocode geschrieben habe, wie ich den Rover steuern möchte, und so eine Skizze der Klassen erhalten habe, zumindest derjenigen, die an der API des Roboters beteiligt sind.

Schritt 2: Sagen Sie es uns

Eine Woche vor dem Vorstellungsgespräch wurde ich gebeten, eine Präsentation zu einem beliebigen Thema vorzubereiten, das mich interessierte. Das Format ist einfach und vertraut: 15 Minuten Präsentation, 15 Minuten Beantwortung von Fragen.
Ich habe mich für Clean Architecture von Uncle Bob entschieden. Und wieder wurde ich von ein paar Leuten interviewt. Dies war meine erste Erfahrung mit einer Präsentation auf Englisch, und wenn ich in einer stressigen Situation gewesen wäre, wäre ich vielleicht nicht in der Lage gewesen, damit umzugehen. Aber auch hier hatte ich nie das Gefühl, bei einem Vorstellungsgespräch zu sein. Alles ist wie immer – ich sage es ihnen, sie hören aufmerksam zu. Selbst die traditionelle Frage-und-Antwort-Sitzung war nicht wie ein Interview; es war klar, dass die Fragen nicht zum „Untergehen“ gestellt wurden, sondern diejenigen, die sie in meiner Präsentation wirklich interessierten.

Ein paar Stunden nach dem Interview erhielt ich Feedback – die Präsentation war sehr nützlich und es hat ihnen wirklich Spaß gemacht, zuzuhören.

Stufe 3. Produktionsqualitätskodex

Nachdem ich gewarnt hatte, dass dies die letzte Phase der technischen Interviews sei, wurde ich gebeten, den Code zu Hause in einen produktionsbereiten Zustand zu bringen, ihn dann zur Überprüfung zu senden und Interviews zu vereinbaren, bei denen sich die Anforderungen für die Aufgabe und der Code ändern würden erfordern eine Änderung. Mit Blick auf die Zukunft kann ich sagen, dass die Codeüberprüfung blind durchgeführt wird, die Prüfer nicht wissen, auf welche Stelle sich der Kandidat bewirbt, sie sehen seinen Lebenslauf nicht, sie sehen nicht einmal seinen Namen.

Das Telefon klingelte und wieder waren ein paar Leute auf der anderen Seite des Monitors. Alles ist wie beim ersten Interview: Die Hauptsache ist, TDD nicht zu vergessen, zu sagen, was Sie tun und warum. Wenn Sie TDD noch nie praktiziert haben, empfehle ich Ihnen, sofort damit zu beginnen, nicht weil es in Unternehmen notwendig ist, sondern weil es Ihr Leben erheblich vereinfacht und Ihren Stresspegel senkt, wenn Sie möchten. Erinnern Sie sich daran, wie Sie mit einem Debugger hektisch nach einem Fehler suchen mussten, der nur über den Browser reproduziert werden kann, Sie ihn aber nicht mit Tests reproduzieren können? Stellen Sie sich nun vor, dass Ihnen im Vorstellungsgespräch ein solcher Fehler auffallen muss – ein paar graue Haare sind Ihnen garantiert. Was bekommen wir mit TDD? Wir haben den Code geändert und unerwartet festgestellt, dass die Tests jetzt rot sind, aber was ist der Fehler, den wir beim ersten Mal nicht herausfinden können? Okay, wir sagen „Ups“ zu den Interviewern, drücken Strg-Z und machen kleine Schritte vorwärts. Und ja, Sie müssen die Fähigkeit entwickeln, mithilfe von TDD in sich selbst zu entwickeln, die Fähigkeit, auf das Ziel zuzugehen, sodass Ihre Tests dauerhaft grün und nicht einen halben Tag lang rot sind, denn „Sie müssen viel umgestalten“. Dies ist genau die gleiche Fähigkeit wie das Schreiben von wartbarem Code oder dem Schreiben von produktivem Code.

Wie gut sich Ihr Code ändern lässt, hängt also davon ab, welches Design Sie zunächst im Sinn haben, wie einfach es ist und wie gut Ihre Tests sind.

Nach dem Vorstellungsgespräch erhielt ich innerhalb weniger Stunden eine Rückmeldung. Zu diesem Zeitpunkt wurde mir klar, dass ich fast fertig war und nur noch sehr wenig übrig war, bis ich „Fowler traf“.

Stufe 4. Finale. Genug technische Fragen. Wir wollen wissen, wer Sie sind!

Ehrlich gesagt war ich etwas verwirrt über diese Formulierung der Frage. Wie kann man in einer Stunde Gespräch verstehen, was für ein Mensch ich bin? Und noch mehr: Wie kann man das verstehen, wenn ich eine Sprache spreche, die nicht meine Muttersprache ist und, ehrlich gesagt, sehr mies und sprachlos ist? In früheren Interviews fiel es mir persönlich leichter zu sprechen, als Fragen zu beantworten, und der Akzent war schuld daran. Mindestens einer der Interviewer war Asiate – und sein Akzent ist, sagen wir mal, eher spezifisch für das europäische Ohr. Deshalb habe ich mich für einen proaktiven Ansatz entschieden – bereite eine Präsentation über mich selbst vor und biete zu Beginn des Interviews an, mit dieser Präsentation über mich selbst zu sprechen. Wenn sie zustimmen, gibt es zumindest weniger Fragen für mich; wenn sie das Angebot ablehnen, sind drei Stunden meines Lebens, die ich für eine Präsentation aufgewendet habe, kein so hoher Preis. Aber was sollten Sie in Ihre Präsentation schreiben? Biografie – Damals dort geboren, zur Schule gegangen, Studium abgeschlossen – aber wen interessiert das?

Wenn Sie ein wenig über die Thoughtworks-Kultur googeln, finden Sie einen Artikel von Martin Fowler [https://martinfowler.com/bliki/ThreePillars.html], der die drei Säulen beschreibt: Nachhaltiges Geschäft, Software-Exzellenz und soziale Gerechtigkeit.

Gehen wir davon aus, dass Software Excellence bei mir bereits geprüft wurde. Es bleibt, nachhaltiges Wirtschaften und soziale Gerechtigkeit zu zeigen.

Darüber hinaus habe ich beschlossen, mich auf Letzteres zu konzentrieren.

Zunächst erzählte ich ihm, warum ThoughtWorks – ich habe Martin Fowlers Blog zu Studienzeiten gelesen, daher meine Liebe zu Clean Code.

Projekte können auch aus verschiedenen Blickwinkeln präsentiert werden. Er entwickelte auch Software für die Medizin, die das Leben von Patienten vereinfachte und Gerüchten zufolge sogar ein Leben rettete. Außerdem habe ich Software für Banken entwickelt, die auch den Bürgern das Leben erleichtert. Vor allem, wenn diese Bank von 70 % der Bevölkerung des Landes genutzt wird. Hier geht es nicht um die Sberbank und nicht einmal um Russland.

Möchten Sie mehr über mich erfahren? OK. Mein Hobby ist die Fotografie, auf die eine oder andere Weise halte ich seit ca. 10 Jahren eine Kamera in den Händen, es gibt Fotos, bei denen es mir nicht zu peinlich ist, sie zu zeigen. Außerdem habe ich einmal einem Katzenheim geholfen: Ich habe Katzen fotografiert, die ein dauerhaftes Zuhause brauchten. Und mit guten Fotos ist es viel einfacher, eine Katze zu platzieren. Ich habe wahrscheinlich hundert Katzen fotografiert :)

Am Ende waren 80 % meiner Präsentation mit Katzen gefüllt.

Unmittelbar nach der Präsentation schrieb mir die Personalabteilung, dass er die Ergebnisse des Interviews noch nicht kenne, aber das gesamte Büro sei bereits von den Katzen beeindruckt.

Letztendlich habe ich auf Feedback gewartet – ich habe jeden als Person zufrieden gestellt.

Aber während des Abschlussgesprächs sagte die Personalabteilung taktvoll, dass soziale Gerechtigkeit sehr gut und notwendig sei, aber nicht alle Projekte so seien. Und er fragte, ob es mir Angst machte. Im Allgemeinen habe ich es mit sozialer Gerechtigkeit etwas übertrieben, das kommt vor :)

Ergebnis

Aus diesem Grund arbeite ich jetzt seit mehreren Monaten bei Thoughtworks in Singapur und sehe, dass auch hier viele Unternehmen „Best Interview Practices“ von Google übernehmen und Blätter und Whiteboard zum Codieren verwenden, obwohl sie über mehr Kenntnisse als Spring verfügen. Symfony, RubyOnRails (Unterstreichen Sie, was erforderlich ist) sind in der Arbeit nicht erforderlich. Ingenieure nehmen sich vor einem Vorstellungsgespräch eine Woche frei, um sich „vorzubereiten“.

Bei Thoughtworks stehen neben adäquaten Anforderungen an den Kandidaten folgende Grundsätze im Vordergrund:
Freude am Vorstellungsgespräch. Darüber hinaus für beide Seiten. Wenn Sie tatsächlich das beste Personal bekommen möchten (und wer möchte das nicht?), dann ist ein Vorstellungsgespräch kein Markt, auf dem Sklaven ausgewählt werden, sondern eine Show, bei der sich sowohl der Arbeitgeber als auch der Kandidat gegenseitig bewerten. Und wenn ein Kandidat angenehme Emotionen mit einem Unternehmen verbindet, ist es wahrscheinlich, dass er sich für dieses Unternehmen entscheidet

Mehrere Interviewer, um Voreingenommenheit abzumildern. Bei Thoughtworks ist Pair Programming der De-facto-Standard. Und wenn diese Praxis auf andere Bereiche übertragen werden kann, versucht TW dies zu tun. In jeder Phase wird das Interview von 2 Personen geführt. Daher wird jede Person von mindestens 8 Personen beurteilt und TW versucht, Interviewer mit unterschiedlichem Hintergrund, unterschiedlicher Richtung (nicht nur Technikfreaks) und Geschlecht auszuwählen.

Letztendlich wird die Einstellungsentscheidung auf der Grundlage der Meinungen von mindestens acht Personen getroffen, und niemand hat eine ausschlaggebende Stimme.

Attributbasierte Einstellung Anstatt eine Entscheidung auf der Grundlage der Vorlieben oder Abneigungen eines Kandidaten zu treffen, wird für jede Rolle und jede Phase ein Formular entwickelt, das die zu bewertenden Eigenschaften enthält. Gleichzeitig wird dringend empfohlen, bei der Beurteilung nicht die Erfahrung in einer bestimmten Fertigkeit, sondern die Fähigkeit, diese anzuwenden, zu bewerten. Wenn also ein Kandidat nicht in der Lage war, Fähigkeiten wie TDD anzuwenden, er aber dennoch versucht, sie anzuwenden, sich Ratschläge zum richtigen Einsatz anhört, hat er alle Chancen, das Vorstellungsgespräch zu bestehen.

Bildungsnachweise nicht erforderlich TW erfordert keine Zertifizierung oder Ausbildung in Informatik. Bewertet werden nur Fertigkeiten.

Dies ist das erste Interview, das ich mit ausländischen Unternehmen geführt habe, auf das ich mich nicht vorbereiten musste. Nach jeder Etappe fühlte ich mich nicht erschöpft, sondern im Gegenteil, ich war froh, dass ich die Best Practices anwenden konnte, dass die Leute auf der anderen Seite des Monitors es zu schätzen wussten und sie jeden Tag anwendeten.

Nach einigen Monaten kann ich sagen, dass meine Erwartungen voll erfüllt wurden. Wie unterscheidet sich ThoughtWorks von einem normalen Unternehmen? In einem normalen Unternehmen kann man gute Entwickler und nette Leute finden, aber bei TW ist ihre Konzentration zu hoch.

Wenn Sie daran interessiert sind, bei ThoughtWorks mitzuarbeiten, können Sie sich unsere offenen Stellen ansehen hier
Ich empfehle außerdem, auf interessante Stellenangebote zu achten:
Leitender Softwareentwickler: Deutschland, London, Madrid, Singapur
Senior-Software-Entwickler: Sydney, Deutschland, Manchester, Bangkok
Softwareentwickler: Sydney, Barcelona, Mailand
Leitender Dateningenieur: Mailand
Qualitätsanalyst: Deutschland China
Infrastruktur: Deutschland, London, Chile
(Ich möchte Sie ehrlich warnen, dass es sich bei dem Link um einen Empfehlungslink handelt. Wenn Sie zu TW gehen, erhalte ich einen schönen Bonus.) Wählen Sie ein Büro, das Ihnen gefällt, Sie müssen sich nicht auf Europa beschränken, schließlich verlegt TW Sie alle 2 Jahre gerne in ein anderes Land, denn... Dies ist Teil der ThoughtWorks-Richtlinie, sodass die Kultur verbreitet und homogenisiert wird.

Stellen Sie gerne Fragen in den Kommentaren oder fragen Sie mich nach Empfehlungen.
Wenn das Thema interessant erscheint, werde ich darüber schreiben, wie es ist, bei ThoughtWorks zu arbeiten und wie das Leben in Singapur ist.

Source: habr.com

Kommentar hinzufügen