سؤال

تفكر شركتنا في إزالة إجراءات المقابلة لدينا وإحضار كل مرشح في الاتجاه لمدة 4-5 ساعات مع بعض المبرمجين، ويفعل بعض برامج الزوج.

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

أي أفكار حول ما إذا كانت هذه فكرة جيدة / فكرة سيئة أو كيفية جعلها تعمل هي ما أبحث عنه هنا.

هتافات!

تعديل:

النتيجة - حسب الطلب

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

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

لذلك النتيجة النهائية هي أننا سنضي قدما في جلسات برمجة الزوج ولكن بطريقة مختلفة تماما وبطريقة مختلفة تماما مما كان مقصرا في الأصل.

أي أفكار أو انتقاد لهذا النهج أكثر من موضع ترحيب !! (يتم نشر هذا التحرير كإجابة أدناه، لذا فلا تتردد في تحويل الرسائل القصيرة إذا كنت تشعر أن هذا ليس أفضل نهج)

هل كانت مفيدة؟

المحلول

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

لذلك تقترح مقابلة مبدئية وربما لها المقابلة الثانية كدورة برمجة الزوج؟ - تيد سميث (منذ 1 دقيقة)

نعم. قد تفكر حتى في إجراء مقابلة ترميز بسيطة على الويب باستخدام شيء مثل مساعد طيار.

نصائح أخرى

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

أسهل طريقة هي إعطاء كل شخص نفس المبرمج للعمل مع التعليمة البرمجية نفسها بالضبط.

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

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

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

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

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

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

كقرازات شخصية، حصلت على صمت في مقابلة بسبب تقنية مثل هذا. لقد ذهبت بعيدا في عملية المقابلة؛ مرت الشيكات السيرة الذاتية، وتقديم الرمز، وكان هذا وجها وجها لوجه المقابلة.

كنت من طازجة خارج الجامعة ولم أقرن أبدا برمجتها قبل أن يتم إنجازها TDD. جلسوني للقيام بممارسة سطح السفينة وتقليمها. بشكل سيئ! لم أفهم لماذا كتب القائم بإجراءات الاختبارات التي تبدو غبية للغاية * (أي "إرجاع فارغة؛") ولم يشرحوا السبب والطبع يجري الأجنبية إلى TDD لم أكن أعرف ما هي الأسئلة التي يجب طرحها. كانت النتيجة النهائية هي أنها تبدو وكأنها لم أستطع برنامجي الخروج من حقيبة ورقية.

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

** الآن بعد أن أفهم TDD، أفهم الاختبارات مثل هذا وكيف من المفترض أن تعمل، لكن الرجل فعل ذلك يبدو غبيا في ذلك الوقت! *

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

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

هذه مجرد تجربتي التي لدي من مقابلة برمجة الزوج، اقتراحي إذا كنت تريد حقا القيام بذلك:

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

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

تستخدم شركة واحدة معينة تقنية تسمى المقابلات الشديدة. وبعد للمقابلة المتطرفة التي سيحضرون فيها 30 مطورا ومجموعة لهم إلى 15 زوجا. سوف يفسرون أنهم يبحثون عن أشخاص يعملون بشكل جيد مع الآخرين. أنهم سيحدثون قرار استئجار يستند فقط إلى قدرتهم على العمل مع الآخرين.

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

يذهلون عدد المبرمجين يركزون على حل المشكلة بدلا من التعاون. من بين 15 زوجا، سيتحددون حوالي 4 إلى 6 مطوري مقابل مقابلة ثانية. سيطلب من ذلك المطورين العودة ونقضي أسبوعا مع الفريق (يحصلون على أموال). بعد أسبوع، يقررون من يحفظون. عموما حوالي نصفها (2 إلى 3 مطورين).

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

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

سؤال جيد رغم ذلك. أشياء للتفكير.

لما لا؟ أيضا، ليس مثل المقابلات دائما (أو من أي وقت مضى). يجب عليك تقييم النتائج النهائية النهج الجديد ضد النهج القائم على المقابلات التقليدية.

أيضا، قد تكون مقابلة مصغرة قبل جلسة برمجة الزوج جيدة للاستمرار من إضاعة وقت المبرمجين مع الأشخاص الذين سيكونون مناسبا سيئا.

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

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

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

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

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

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

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

أنا أكره ذلك عندما يتم الرد على أسئلة محددة للغاية. كان لدي مقابلة بمجرد أن يختبر مبرمج معرفتي من STL الذي استخدمته على نطاق واسع وكان يحاول الحصول على لي للإجابة على مطلوبة مخصص مخصص. كنت قد سمعت منهم ولكن لم أستخدمها أبدا (ESP في Windows) وأصبحت تشعر بالغرب. iow، تجنب كونها حكمية.

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

سؤال جيد!

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

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

جويل spolsky لديه ممتاز دليل حرب العصابات لإجراء المقابلات الذي يتحدث عن، من بين أشياء أخرى، مهام البرمجة.

التوافه: جويل spolsky هو مؤسس مشارك من stackoverflow.com

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top