كيف انضممت إلى ThoughtWorks أو إلى عينة من المقابلة

كيف انضممت إلى ThoughtWorks أو إلى عينة من المقابلة

ألا يبدو غريباً بالنسبة لك أنه عندما تكون على وشك تغيير وظيفتك وتظهر الحاجة إلى اجتياز مقابلة، فإن أول ما تفكر فيه هو "أنك بحاجة إلى الاستعداد للمقابلة". قم بحل المشكلات في HackerRank، واقرأ حل مقابلة البرمجة، واحفظ كيفية عمل ArrayList وكيف يختلف عن LinkedList. نعم، قد يسألون أيضًا عن الفرز، ومن الواضح أنه سيكون من غير المهني القول إن الفرز السريع سيكون على الأرجح الخيار الأفضل.
لكن مهلا، أنت تبرمج 8 ساعات يوميا، وتحل مشاكل شيقة وغير تافهة، وفي وظيفتك الجديدة ستفعل نفس الشيء، زائدا أو ناقصا. ولكن مع ذلك، من أجل اجتياز المقابلة، تحتاج إلى الاستعداد بطريقة أو بأخرى، ولا حتى صقل مهاراتك اليومية، ولكن تعلم ما لم تكن بحاجة إليه في وظيفتك الحالية ومن غير المرجح أن تحتاج إليه في وظيفتك التالية. على اعتراضاتك على أن علوم الكمبيوتر تجري في دمائنا، وإذا أيقظتنا في منتصف الليل، فإننا مجبرون على أن نكتب وأعيننا مغلقة على غطاء وسادة نسير حول عرض شجرة دون حتى أن نستعيد وعينا، أنا سوف يجيبني أنه إذا حصلت على وظيفة في السيرك، والشيء الرئيسي بالنسبة لي هو أن الحيلة ستكون على وجه التحديد - إذن ربما نعم، أوافق. هذه المهارة تحتاج إلى اختبار.

ولكن لماذا تختبر مهارات لا علاقة لها بوظيفتك الحالية؟ فقط لأنه أصبح من المألوف؟ لأن جوجل تفعل هذا؟ أو لأن قائد فريقك المستقبلي كان عليه أن يتعلم جميع طرق الفرز قبل المقابلة، وهو الآن يعتقد أن "كل مبرمج جيد يجب أن يعرف عن ظهر قلب كيفية تنفيذ العثور على متناظر في سلسلة".

حسنا، أنت لست جوجل (ج). وما تستطيع شركة جوجل أن تتحمله، لا تستطيع الشركات العادية أن تتحمله. توصلت Google، بعد تحليل بيانات موظفيها، إلى استنتاج مفاده أن المهندسين ذوي الخلفية الأولمبية جيدون في التعامل مع مهامها المحددة. علاوة على ذلك، فمن خلال تصميم عملية الاختيار الخاصة بهم، يصبح بوسعهم خوض مخاطر عدم توظيف عدد قليل من المهندسين الجيدين لأنهم لا يستطيعون حل المسائل الرياضية بسهولة. لكن هذه ليست مشكلة بالنسبة لهم، فهناك الكثير من الأشخاص الذين يرغبون في العمل في Google، وسيتم إغلاق الوظيفة.
الآن دعنا ننظر من النافذة، وإذا كان المهندسون الذين يرغبون في العمل لديك أمام مكتبك لم يقوموا بعد بإعداد معسكر للخيام، وكان المطورون لديك يبحثون في كثير من الأحيان عن تدفق المكدس لمعرفة ما يجب تثبيته في الربيع القادم، بدلاً من تعقيدات خوارزميات الترتيب، يبدو أن الوقت قد حان لكي تفكر فيما إذا كان يجب عليك نسخ Google.

حسنًا، إذا فشل جوجل هذه المرة ولم يقدم إجابة، فماذا عليك أن تفعل؟ تحقق بالضبط مما سيفعله المطور في العمل. ما الذي تقدره في المطورين؟
ضع معايير لمن تريد توظيفه وقم بتطوير الاختبارات التي تختبر هذه المهارات بالضبط.

ThoughtWorks

ما علاقة ThoughtWorks بهذا؟ هذا هو المكان الذي وجدت فيه مثالاً لمقابلة نموذجية لنفسي. من هم شركة ThoughtWorks؟ باختصار، هذه شركة استشارية راقية لها مكاتب في جميع أنحاء العالم، من الصين وسنغافورة إلى القارات الأمريكية، تقدم الاستشارات في مجال التطوير منذ حوالي 25 عامًا، ولديها قسم علمي خاص بها، يرأسه مارتن الصياد. إذا كنت تبحث عن قائمة تضم 10 كتب يجب قراءتها لمهندس برمجيات، فمن المحتمل أن يكتب 2-3 منها بواسطة شباب من ThoughtWorks، مثل Refactoring بقلم Martin Fowler وBuilding Microservices: Designing Fine-Grained Systems بقلم Sam نيومان أو بناء البنى التطورية
بواسطة باتريك كوا، ريبيكا بارسونز، نيل فورد.

يعتمد عمل الشركة على تقديم خدمات باهظة الثمن إلى حد ما، لكن العميل يدفع مقابل الجودة الهائلة، والتي تتكون من الخبرة والمعايير الداخلية وبالطبع الأشخاص. ولذلك، فإن توظيف الأشخاص المناسبين أمر حيوي هنا.
أي نوع من الناس على حق؟ بالطبع، هناك أشياء مختلفة للجميع. حددت شركة ThoughtWorks أن أهم المعايير لنموذج أعمال المطورين الخاص بها هي:

  • القدرة على التطور في أزواج. إنها القدرة، وليست الخبرة أو المهارة. لا أحد يتوقع أن يأتي الأشخاص الذين مارسوا البرمجة الزوجية لمدة 5 سنوات، لكن تقبل آراء الآخرين والقدرة على الاستماع هي مهارة ضرورية.
  • القدرة على كتابة الاختبارات وممارسة TDD بشكل مثالي
  • فهم SOLID وOOP والقدرة على تطبيقهما.
  • اعرض رأيك. كمستشار، عليك أن تعمل مع مطوري العميل، مع مستشارين آخرين، وليس هناك فائدة كبيرة إذا كان الشخص يعرف كيفية القيام بشيء ما بشكل جيد، لكنه غير قادر على نقله إلى بقية الفريق.

من المهم الآن تقييم هذه المهارات الخاصة لدى المرشح. وهنا أريد أن أتحدث عن تجربتي في إجراء المقابلات في ThoughtWorks. سأقول على الفور أنني ذهبت إلى سنغافورة ونجحت، لكن عملية التوظيف موحدة ولن تختلف كثيرًا من بلد إلى آخر.

المرحلة 0. الموارد البشرية

كما يحدث غالبًا، مقابلة مدتها 20 دقيقة مع قسم الموارد البشرية. لن أسهب في الحديث عن ذلك، سأقول فقط أنني لم أقابل قط شخصًا في مجال الموارد البشرية يمكنه التحدث لمدة 15 دقيقة عن ثقافة التطوير في الشركة، ولماذا يستخدمون TDD، ولماذا البرمجة المزدوجة. عادة، يتجاهل مديرو الموارد البشرية هذا السؤال ويقولون إن عمليتهم عادية: المطورون يطورون، ويختبرون، ويقود المديرون.

المرحلة 1. ما مدى براعتك في OOP وTDD؟

قبل 1.5 ساعة من بدء المقابلة، أُرسلت لي مهمة إنشاء جهاز محاكاة لمركبة Mars Rover.

مهمة المريخ روفرمن المقرر أن تهبط وكالة ناسا مجموعة من المركبات الجوالة الآلية على هضبة على سطح المريخ. يجب أن يتم التنقل في هذه الهضبة، وهي مستطيلة بشكل غريب، بواسطة المركبات الجوالة حتى تتمكن الكاميرات الموجودة على متنها من الحصول على رؤية كاملة للتضاريس المحيطة لإرسالها إلى الأرض. يتم تمثيل موضع المركبة الجوالة وموقعها بمزيج من إحداثيات x وy وحرف يمثل إحدى نقاط البوصلة الأساسية الأربع. الهضبة مقسمة إلى شبكة لتبسيط عملية التنقل. قد يكون الموضع كمثال 0، 0، N، مما يعني أن العربة الجوالة موجودة في الزاوية اليسرى السفلية وتواجه الشمال. من أجل التحكم في المركبة الجوالة، ترسل ناسا سلسلة بسيطة من الرسائل. الحروف المحتملة هي "L" و"R" و"M". "L" و"R" يجعلان المركبة تدور بمقدار 90 درجة إلى اليسار أو اليمين على التوالي، دون التحرك من مكانها الحالي. "M" يعني التحرك للأمام بمقدار نقطة واحدة في الشبكة، والحفاظ على نفس العنوان.
افترض أن المربع الذي يتجه مباشرة إلى الشمال من (x, y) هو (x, y+1).
إدخال:
السطر الأول من الإدخال هو الإحداثيات العلوية اليمنى للهضبة، ومن المفترض أن تكون الإحداثيات السفلية اليسرى 0,0.
أما باقي المدخلات فهي معلومات تتعلق بالمركبات الجوالة التي تم نشرها. تحتوي كل مركبة جوالة على سطرين من الإدخال. يوضح السطر الأول موقع العربة الجوالة، والسطر الثاني عبارة عن سلسلة من التعليمات التي تخبر العربة الجوالة بكيفية استكشاف الهضبة. يتكون الموقع من عددين صحيحين وحرف مفصول بمسافات، يتوافق مع إحداثيات x وy واتجاه العربة الجوالة.
سيتم الانتهاء من كل عربة جوالة بشكل تسلسلي، مما يعني أن العربة الجوالة الثانية لن تبدأ في التحرك حتى تنتهي العربة الجوالة الأولى من التحرك.
انتاج:
يجب أن يكون الناتج لكل مركبة جوالة هو الإحداثيات النهائية والعنوان.
الملاحظات:
ما عليك سوى تنفيذ المتطلبات المذكورة أعلاه وإثبات عمل المكنسة الكهربائية عن طريق كتابة اختبارات الوحدة لها.
يعد إنشاء أي شكل من أشكال واجهة المستخدم خارج النطاق.
سيكون حل المشكلة باتباع نهج TDD (التطوير القائم على الاختبار) هو المفضل.
في الوقت القصير المتاح، نحن مهتمون بالجودة أكثر من الاكتمال.
*لا أستطيع نشر الواجب الذي أرسل لي، فهو واجب قديم تم تكليفي به منذ عدة سنوات. لكن صدقوني، في الأساس كل شيء يبقى كما هو.

وأود بشكل خاص أن ألفت الانتباه إلى معايير التقييم. كم مرة واجهت موقفًا تكون فيه الأشياء المهمة للمرشح غير مهمة على الإطلاق أثناء عملية التدقيق، والعكس صحيح. لا يفكر الجميع بنفس الطريقة التي تفكر بها، ولكن يمكن للكثيرين قبول قيمك واتباعها إذا تم ذكرها بوضوح. لذلك، من معايير التقييم يتضح على الفور أن أهم المهارات في هذه المرحلة هي

  • تد؛
  • القدرة على استخدام OOP وكتابة تعليمات برمجية قابلة للصيانة؛
  • قدرات البرمجة الزوجية

لذلك، تم تحذيري من قضاء تلك الساعة والنصف في التفكير في كيفية القيام بالمهمة، بدلاً من كتابة التعليمات البرمجية. سنكتب الكود معًا.

عندما اتصلنا بالهاتف، أخبرنا الرجال بإيجاز من هم وماذا يفعلون وعرضوا البدء في التطوير.

خلال المقابلة بأكملها، لم أشعر مطلقًا أنني سأجري مقابلة. هناك شعور بأنك تقوم بتطوير التعليمات البرمجية في فريق. إذا واجهتك مشكلة في مكان ما، فإنهم يساعدونك، ويقدمون لك النصح، ويناقشون، بل ويتجادلون مع بعضهم البعض حول أفضل السبل للقيام بذلك. في المقابلة، نسيت كيفية التحقق في JUnit 5 من أن الطريقة تطرح استثناءً - لقد عرضوا الاستمرار في كتابة الاختبار، بينما كان أحدهم يبحث في Google عن كيفية القيام بذلك.

حرفيًا، بعد ساعات قليلة من المقابلة، تلقيت تعليقات بناءة - ما أعجبني وما لم يعجبني. في حالتي، تم الإشادة بي لاستخدامي الفئات المختومة كبديل للكائن الفارغ؛ لحقيقة أنني قبل كتابة الكود، كتبت برمز زائف كيف أرغب في التحكم في العربة الجوالة، وبالتالي تلقيت رسمًا تخطيطيًا للفئات، على الأقل تلك التي تشارك في واجهة برمجة التطبيقات الخاصة بالروبوت.

الخطوة 2: أخبرنا

قبل أسبوع من المقابلة، طُلب مني إعداد عرض تقديمي حول أي موضوع يثير اهتمامي. التنسيق بسيط ومألوف: عرض مدته 15 دقيقة، و15 دقيقة للإجابة على الأسئلة.
اخترت العمارة النظيفة للعم بوب. ومرة أخرى أجريت مقابلة مع شخصين. كانت هذه تجربتي الأولى في التقديم باللغة الإنجليزية، وربما لو كنت في موقف مرهق، لم أكن لأتمكن من التعامل معه. ولكن مرة أخرى، لم أشعر أبدًا أنني كنت في مقابلة. كل شيء كالمعتاد - أقول لهم إنهم يستمعون بعناية. حتى جلسة الأسئلة والأجوبة التقليدية لم تكن مثل المقابلة؛ كان من الواضح أن الأسئلة لم تكن مطروحة "للغرق"، ولكن تلك التي أثارت اهتمامهم حقًا في العرض الذي قدمته.

بعد بضع ساعات من المقابلة، تلقيت تعليقات - كان العرض التقديمي مفيدًا جدًا وقد استمتعوا حقًا بالاستماع.

المرحلة 3. كود جودة الإنتاج

بعد أن حذرت من أن هذه كانت المرحلة الأخيرة من المقابلات الفنية، طُلب مني إحضار الكود في المنزل إلى حالة الاستعداد للإنتاج، ثم إرسال الكود للمراجعة وتحديد موعد للمقابلات التي ستتغير فيها متطلبات المهمة وسيتغير الكود تتطلب التعديل. بالنظر إلى المستقبل، أستطيع أن أقول إن مراجعة الكود تتم بشكل أعمى، ولا يعرف المراجعون الوظيفة التي يتقدم لها المرشح، ولا يرون سيرته الذاتية، ولا يرون حتى اسمه.

رن الهاتف، ومرة ​​أخرى كان هناك رجلان على الجانب الآخر من الشاشة. كل شيء هو نفسه كما في المقابلة الأولى: الشيء الرئيسي هو عدم نسيان TDD، وإخبار ما تفعله ولماذا. إذا لم تكن قد مارست TDD من قبل، فإنني أوصي بالبدء في القيام بذلك على الفور، ليس لأنه ضروري في الشركات، ولكن لأنه يبسط حياتك بشكل كبير، ويقلل من مستوى التوتر لديك إذا أردت. هل تتذكر كيف كان عليك البحث بشكل محموم باستخدام مصحح الأخطاء عن خطأ لا يمكن إعادة إنتاجه إلا من خلال المتصفح، ولكن لا يمكنك إعادة إنتاجه من خلال الاختبارات؟ تخيل الآن أنه سيتعين عليك اكتشاف مثل هذا الخطأ أثناء المقابلة - نضمن لك بضع شعرات رمادية. ماذا نحصل مع TDD؟ قمنا بتغيير الكود وأدركنا بشكل غير متوقع أن الاختبارات الآن باللون الأحمر، ولكن ما هو الخطأ الذي لا يمكننا اكتشافه في المرة الأولى؟ حسنًا، نقول "عفوًا" للمحاورين، اضغط على Ctrl-Z وابدأ في اتخاذ خطوات صغيرة للأمام. ونعم، أنت بحاجة إلى تطوير القدرة على التطوير باستخدام TDD في نفسك، والقدرة على التوجه نحو الهدف بحيث تكون اختباراتك خضراء بشكل دائم، وليست حمراء لمدة نصف يوم، لأن "لديك الكثير من إعادة البناء". هذه هي بالضبط نفس مهارة كتابة تعليمات برمجية قابلة للصيانة، أو كتابة تعليمات برمجية منتجة.

لذا، مدى جودة تغيير الكود الخاص بك يعتمد على التصميم الذي تفكر فيه للبدء به، ومدى بساطته، ومدى جودة اختباراتك.

بعد المقابلة، تلقيت ردود الفعل في غضون ساعات قليلة. في هذه المرحلة، أدركت أنني قد انتهيت تقريبًا ولم يتبق سوى القليل جدًا حتى "التقيت بفاولر".

المرحلة 4. النهائي. ما يكفي من الأسئلة التقنية. نريد أن نعرف من أنت!

بصراحة، لقد حيرتني بعض الشيء من صياغة السؤال هذه. كيف يمكنك أن تفهم أي نوع من الأشخاص أنا في ساعة واحدة من المحادثة؟ والأكثر من ذلك، كيف يمكنك أن تفهم هذا عندما أتحدث لغة ليست لغتي الأم، وبصراحة، رديئة للغاية ومقيدة اللسان. في المقابلات السابقة، كان من الأسهل بالنسبة لي شخصيًا التحدث بدلاً من الإجابة على الأسئلة، وكانت اللهجة هي السبب. وكان واحد على الأقل من الأشخاص الذين أجروا المقابلة آسيويا - ولنقل، حسنا، لهجتهم خاصة إلى حد ما بالأذن الأوروبية. لذلك، قررت أن أتبع نهجًا استباقيًا - حيث أقوم بإعداد عرض تقديمي عن نفسي وفي بداية المقابلة أعرض التحدث عن نفسي من خلال هذا العرض التقديمي. إذا وافقوا، فسيكون هناك على الأقل أسئلة أقل بالنسبة لي، إذا رفضوا العرض، حسنًا، 3 ساعات من حياتي التي أمضيتها في العرض التقديمي ليست ثمنًا باهظًا. ولكن ماذا يجب أن تكتب في العرض التقديمي الخاص بك؟ السيرة الذاتية - ولدت هناك، في ذلك الوقت، ذهبت إلى المدرسة، وتخرجت من الجامعة - ولكن من يهتم؟

إذا بحثت في Google قليلاً عن ثقافة Thoughtworks، فستجد مقالاً بقلم مارتن فاولر [https://martinfowler.com/bliki/ThreePillars.html] يصف الركائز الثلاث: الأعمال المستدامة، والتميز في البرمجيات، والعدالة الاجتماعية.

لنفترض أنه تم بالفعل اختبار التميز في البرمجيات بالنسبة لي. يبقى أن نظهر الأعمال المستدامة والعدالة الاجتماعية.

علاوة على ذلك، قررت التركيز على الأخير.

في البداية، أخبرته عن سبب استخدام ThoughtWorks - لقد قرأت مدونة Martin Fowler عندما كنت في الكلية، ومن هنا كان حبي للبرمجة النظيفة.

يمكن أيضًا تقديم المشاريع من زوايا مختلفة. كما قام بتطوير برامج طبية سهّلت حياة المرضى، بل وأنقذت حياة شخص واحد بحسب الشائعات. كما قمت بتطوير برامج للبنوك، مما جعل الحياة أسهل للمواطنين أيضًا. خاصة إذا كان هذا البنك يستخدمه 70٪ من سكان البلاد. هذا لا يتعلق بسبيربنك ولا حتى بروسيا.

تريد أن تعرف عني؟ نعم. هوايتي هي التصوير الفوتوغرافي، بطريقة أو بأخرى أحمل الكاميرا بين يدي منذ حوالي 10 سنوات، وهناك صور لا أشعر بالحرج من عرضها. أيضًا، في وقت ما، ساعدت في توفير مأوى للقطط: قمت بتصوير القطط التي تحتاج إلى منزل دائم. ومع الصور الجيدة يكون وضع قطة أسهل بكثير. ربما قمت بتصوير مائة قطة :)

في النهاية، كان 80% من العرض التقديمي مليئًا بالقطط.

مباشرة بعد العرض التقديمي، كتب لي قسم الموارد البشرية أنه لا يعرف بعد نتائج المقابلة، لكن المكتب بأكمله كان معجبًا بالفعل بالقطط.

في النهاية، انتظرت ردود الفعل - لقد أرضيت الجميع كشخص.

لكن خلال المحادثة الأخيرة، قال قسم الموارد البشرية بلباقة إن العدالة الاجتماعية جيدة جدًا وضرورية، ولكن ليست كل المشاريع على هذا النحو. وسأل إذا كان هذا يخيفني. بشكل عام، لقد بالغت قليلاً في مسألة العدالة الاجتماعية، هذا ما يحدث :)

مجموع

ونتيجة لذلك، كنت أعمل في سنغافورة في Thoughtworks منذ عدة أشهر، وأرى أن العديد من الشركات هنا تتبنى "أفضل ممارسات المقابلة" من Google، باستخدام الأوراق والسبورة البيضاء للبرمجة، على الرغم من امتلاكها معرفة أكثر من Spring. Symfony، RubyOnRails (ضع خطًا تحت ما هو ضروري) غير مطلوب في العمل. يأخذ المهندسون إجازة لمدة أسبوع قبل إجراء المقابلة من أجل "التحضير".

في Thoughtworks، بالإضافة إلى المتطلبات الكافية للمرشح، تأتي المبادئ التالية في المقدمة:
فرحة المقابلة. علاوة على ذلك، لكلا الجانبين. في الواقع، إذا كنت ترغب في الحصول على أفضل الموظفين (ومن لا يريد ذلك؟)، فإن المقابلة ليست سوقًا يتم فيه اختيار العبيد، ولكنها عرض حيث يقوم كل من صاحب العمل والمرشح بتقييم بعضهما البعض. وإذا كان المرشح يربط المشاعر اللطيفة مع الشركة، فمن المحتمل أنه سيختار هذه الشركة بالذات

العديد من المقابلات للتخفيف من التحيز. في Thoughtworks، البرمجة الزوجية هي المعيار الفعلي. وإذا كان من الممكن تطبيق هذه الممارسة على مجالات أخرى، فإن TW تحاول القيام بذلك. في كل مرحلة، يتم إجراء المقابلة من قبل شخصين. وبالتالي، يتم تقييم كل شخص من قبل ما لا يقل عن 2 أشخاص، وتحاول TW اختيار المحاورين من خلفيات مختلفة، واتجاهات مختلفة (ليس فقط التقنيين) والجنس.

في النهاية، سيتم اتخاذ قرار التوظيف بناءً على آراء 8 أشخاص على الأقل، وليس لأحد منهم صوت مرجح.

التوظيف على أساس السمات بدلاً من اتخاذ القرار بناءً على ما يحبه أو لا يحبه المرشح، يتم تطوير نموذج لكل دور وكل مرحلة يتضمن السمات التي يتم تقييمها. في الوقت نفسه، عند التقييم، يوصى بشدة بتقييم الخبرة في مهارة معينة، ولكن القدرة على تطبيقها. وبالتالي، إذا لم يكن المرشح قادرا على تطبيق أي مهارات، مثل TDD، ولكن مع ذلك يحاول تطبيقها، يستمع إلى النصائح حول كيفية استخدامها بشكل صحيح، لديه كل فرصة لتمرير المقابلة.

شهادات التعليم غير مطلوبة لا يتطلب TW أي شهادة أو تعليم في علوم الكمبيوتر. يتم تقييم المهارات فقط.

هذه هي المقابلة الأولى التي أجريتها مع شركات أجنبية ولم يكن علي الاستعداد لها. بعد كل مرحلة، لم أشعر بالإرهاق، بل على العكس، كنت سعيدًا لأنني تمكنت من تطبيق أفضل الممارسات، وأن الأشخاص على الجانب الآخر من الشاشة يقدرونها ويطبقونها كل يوم.

وبعد عدة أشهر، أستطيع أن أقول إن توقعاتي قد تحققت بالكامل. كيف تختلف شركة ThoughtWorks عن الشركة العادية؟ في شركة عادية، يمكنك العثور على مطورين جيدين وأشخاص لطيفين، ولكن في TW يكون تركيزهم خارج المخططات.

إذا كنت مهتمًا بالانضمام إلى ThoughtWorks، يمكنك الاطلاع على الوظائف المفتوحة لدينا هنا
أقترح أيضًا الاهتمام بالوظائف الشاغرة المثيرة للاهتمام:
مهندس البرمجيات الرئيسي: ألمانيا, لندن, مدريد, سنغافورة
مهندس برمجيات أول: سيدني, ألمانيا, مانشستر, بانكوك
مهندس برمجيات: سيدني, برشلونة, ميلان
مهندس بيانات أول: ميلان
محلل جودة: ألمانيا الصين
بنية تحتية: ألمانيا, لندن, تشيلي
(أود أن أحذرك بصراحة أن الرابط هو رابط إحالة، إذا ذهبت إلى TW، فسوف أحصل على مكافأة رائعة). اختر مكتبًا يعجبك، ليس عليك أن تقتصر على أوروبا، ففي نهاية المطاف، كل عامين، ستكون TW سعيدة بنقلك إلى بلد آخر، لأن... وهذا جزء من سياسة ThoughtWorks، وبالتالي يتم نشر الثقافة وتجانسها.

لا تتردد في طرح الأسئلة في التعليقات أو تسألني عن التوصيات.
إذا كان الموضوع يبدو مثيرًا للاهتمام، فسأكتب عن طبيعة العمل في ThoughtWorks وعن الحياة في سنغافورة.

المصدر: www.habr.com

إضافة تعليق