لن تصل الشفرة الجيدة إلى Google

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

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

سنيور ، من هو ... أليس سنيور؟


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

نتيجة لذلك ، يواجه المطورون عددًا من المشاكل: بدون تعريف كافٍ للمتطلبات ، لا توجد رؤية واضحة لمسار وظيفي وخطوات تطوير. الأسئلة: "ما هو المستوى الذي أمتلكه الآن؟ هل أكسبه بما يتناسب معه؟ كم أحتاج للترقية إلى المستوى التالي؟ " - نسمع في كل مكان.

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

تقييم المبرمج - عمل المبرمج؟




يعتمد تطورك على المرحلة التي أنت فيها الآن. لكن كيف تقيمها؟ هذه هي المشكلة الثانية.

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

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

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

إذا كنت لا تعرف وجهتك ، فستجد نفسك على الأرجح في مكان ما في المكان الخطأ.




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

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

إذن من هو الأقدم ؟ من أجل إضفاء الطابع الرسمي على المتطلبات ، كان علينا أن نذهب إلى أقصى حد ممكن ونجمع كل ما تعرضه شركات Yandex و Luxoft و Mail.Ru Group وحتى Google على مستوى مفتوح في مصادر مفتوحة. وكذلك تم التحقق من هذه المعلومات في محادثات مع مديري تطوير الشركات البارزة.

مهارات صعبة

1. نظافة الكود ؛
2. المهارات الصعبة المستوى العلوي:

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

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

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

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

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

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

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


All Articles