ديستوبيا مخيفة من المقابلات للمبرمجين

التجارب



رن هاتفي.



"مرحبا ، هذا جاريد.



- مرحبا. أتصل بك بخصوص مقابلة هاتفية في Giant Search and Advertising Company [من الواضح أن هذه شركة Google - تقريبًا. خط].



- نعم! كنت أتطلع إلى مكالمتك!



- حسنا. هل يمكنك كتابة خوارزمية للعثور على أكبر قيمة K-th في شجرة ثنائية؟



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



- هل يمكنك كتابة حالة اختبار لهذه الخوارزمية؟



بالتأكيد. كان بإمكاني ، إذا لم أكن مخدرًا تمامًا ولم تذوب الأنا الداخلية تحت الغضب الشديد لحلم يموت أمام عيني. هل هذا هو كل ما قمت به من عمل شاق خلال الأشهر القليلة الماضية؟ في حوالي يناير 2019 ، قررت أن الوقت قد حان للعثور على وظيفة جديدة. كما لو أن آلهة هندسة البرمجيات باركوا هذه الفكرة بالذات ، واتصل بي أحد المجندين في Giant Search and Advertising Company على LinkedIn لإجراء مقابلة عبر الهاتف. كان هذا مذهلاً!



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



أنت تتحدث لغتنا ... تريد حل مشكلة؟

1. نعم

2. لا ، شكرًا


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



تحصل على مصفوفة تحتوي على n + 1 أعداد صحيحة ، حيث يكون كل عدد صحيح بين 1 و n (ضمناً). إثبات تكرار رقم واحد على الأقل. لنفترض أن هناك نسخة مكررة واحدة فقط. ابحث عنه.



لديك 24 ساعة!


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



تهانينا! هذا الرمز جيد جدا! هل تبحث عن مقابلة في شركة Giant Search and Advertising Company؟


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



كانت المقابلة الهاتفية بمثابة كابوس. طُلب مني برمجة لعبة Conway's Life في 45 دقيقة. في الواقع ، لقد قمت بعمل جيد. لقد كتبت البرنامج بالكامل واختبرته. في اليوم التالي رُفضت. داخليًا ، كنت مكتئبة ومربكة. ما الخطأ الذي فعلته بالضبط؟ ألم تعني كل الاختبارات شيئًا؟ لماذا اضطررت إلى كتابة مثل هذه الخوارزمية المعقدة في مثل هذا الوقت القصير؟



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



حالات الفشل



انتهت مقابلة مع Giant Search and Advertising Company بالنيران. لم أستطع حل المشكلة. لكن هذا كان مجرد بداية الجنون. في البداية ، تعاملت بشكل استراتيجي مع الشركات التي يجب الاتصال بها. لم أكن بحاجة إلى عمل "جيد" فحسب ، بل "عمل صحيح".



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



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



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



مثال آخر كان مع شركة Giant Social Media Platform: "جاريد! شكرا لطلبك! نعتقد أنك ستكون مثاليًا للعمل في شركتنا! لقد أرسلت طلبك مباشرة إلى مدير التوظيف في مكتبك الإقليمي! " بعد ثماني دقائق ، تلقيت رسالة رفض نمطية تفيد بأن مهاراتي لم تكن مناسبة لهذا المنصب.



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



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





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



  1. . , , -, . - — , . , , -. , , . , . .  — .



    • :

    • — , .

    • — , .

    • — . , : , .

    • — , . , . . . . - , -, .


    , , - . , , - .
  2. , — , , .



    • ? . , , , , . , . , ? . , .

    • ? , , . , . « ». . , , .  — , , . , , , , , . , , ?

    • . , . , . LinkedIn . , . , . , , , , «» .

    • , . . , . , . . .  — () , . . : « . ? : «, ». « ? ?» : « . ». . ,  — ?

    • , . , . , . , A. . ! ! . , . . ! ! - , , . : , , A : , - .

    • . 45 . . , . «», 50 , , . , 15 , . . , , . . 45 ?

    • . , Google. , . : « » « ». . , . , , , . , , « , , ». , , , . , «» , , , «» . , . - , . , . , . , , , , . ! ?
  3. , ? , . , , « ». ?! , ? , , . ? , ? . , , . , . , , , , . , .


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



  • , — 85 000 Java- , , . Python, . embedded C C++ , . Flutter . Clojure, . C#. , -. .

  • لا أفهم سبب عدم السماح لي بكتابة البرامج - هناك تناقض جوهري بين الادعاءات العامة بأن الشركات تبحث بشدة عن مهندسي برمجيات والواقع القاسي المتمثل في فرز المرشحين. يبدو أن تحديات الترميز هذه تحت ضغط التشغيل أو الموت الشديد هي آلية تقويض أكثر من كونها أداة تقييم قيّمة. إن استخدامها يشبه إطلاق النار على مرشحي الشرطة قبل سؤالهم عما يعرفونه عن القانون.

  • لا أعرف كيف يبدو الأمر من الجانب الآخر  - النقطة المهمة هي أن العملية التي يتم انتقادها قد تكون الطريقة الوحيدة التي يمكن للشركات من خلالها فرز المرشحين الجيدين والسيئين. لم أكن أبدًا في فريق توظيف ، وأنا متأكد من أنني لا أعرف الكثير.


في الختام لدي بعض الأفكار:



  •  — , . , , . . , , ( ) , . , . , . , . , . , , , — , .

  •  — -. , : -. , . , . ? , ? , ? . , . , Agile. , . , . Java Python, Python, ? , , , . , - , .

  • — . , . . , -, . , , , :



    .



    . :






All Articles