عن دور مهام الاختبار في حياة المطور

كم عدد المقابلات الفنية التي أجريتها في حياتك؟


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

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

هذه المقالة موجهة للمبرمجين الذين هم في بداية المسار ولم يستنفدوا بعد عمق المعرفة. في ذلك ، أريد أن أتوسع في أطروحة حول الفوائد التعليمية الهائلة لمهام الاختبار والأسئلة الفنية التي طُرحت للمقابلات - وأدعو الجميع إلى بلدي telegram bot المكتوبة حديثًا ActualizeBot ، حيث ، في رأيي ، يمكنك متابعة مقابلة تقنية كل يوم على الأقل حتى النهاية. وبحيث لا تنتهي ، يمكنك أيضًا مشاركة مهمة تقنية أو سؤال أو موقف مفيد / ممتع في مقابلة.

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

لماذا تترك جودة معرفتنا الأساسية الكثير مما هو مرغوب فيه؟


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

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

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

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

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

بالنسبة لجافا سكريبت الخاصة بي ، هناك مثال جيد - إذا لم تظهر React.JS ، فإن 98٪ من مبرمجي جافا سكريبت سيواصلون العيش بسعادة وهم غير مدركين لما هو الربط - بعد أكثر من 20 عامًا من ظهوره - وسيظلون في حيرة طرح أسئلة عنه في المقابلات ، ولن يتمكن من العمل معه إلا أولئك الذين اخترعوا كل هذه المكتبات والأطر والوحدات التجريدية. اليوم ، بفضل رد الفعل ، انخفض هذا الرقم ، حسب المشاعر ، إلى 97 ٪.

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

ما هو محفوف نقص المعرفة الأساسية للغة


تبدو الإجابة على هذا السؤال عادية ، ولكن لسبب ما في الطبيعة الإنسانية - دفع حلها دائمًا إلى الزاوية البعيدة - وهذا يلعب دورًا محزنًا في حياة المبرمجين المبتدئين والمتوسطين ، ويمتد طريقهم إلى ارتفاعات (وعمق) المعرفة اللغوية من خلال زوجين من سنة

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

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

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

ActualizeBot


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

في الوقت الحالي هناك 3 وظائف بسيطة في الروبوت:

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

في الوقت الحالي ، يتم تقديم اللغات التالية للاختيار من بينها: JavaScript و Java و Python و PHP و MySQL. الاختيار محدود بعض الشيء بسبب حدود فهمي. آمل بمساعدة habrasociety لتجديد هذه القائمة.

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

باختصار حول التنفيذ الفني


هذا الروبوت هو واحد من العديد من المشاريع الصغيرة التي أحمل عليها النسخة العامة الأولى من بلدي miniframe مفتوح المصدر مفتوح المصدر لتطوير الروبوتات مع بنية معقدة ، اسمه Hobot بمحبة ومتاحة في NPM ل المتشددين.

تم بناء هذا الإطار على أساس Telegraf.JS و TypeScript ، ويمكن عرض إصداره صفر-صفر ، المجهز بمثال للاستخدام ، على github وتجربته على الفور. قريباً ، سوف أفرغ الإصدار 0.0.2 الممتد ويمشط للشخص من الجانب وأخصص مقالة منفصلة له (الجذع). سأكون سعيدًا إذا اتضح أن الأمر بالنسبة لشخص ما هو مناسب لي.

إذن كم عدد المقابلات التي كان عليك حضورها؟
أنا متأكد من أن لديك ما تقوله!

Source: https://habr.com/ru/post/ar477470/


All Articles