المطورين Perekrestok.ru. ما نقوم به ومن نبحث عنه في الفرق

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



سيرجي // iOS-teamlead



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

لدينا فريق منتج داخلي ، نحن نتحدث عن النمو "بعمق" ، لذلك نحن معتادون على هؤلاء الأشخاص المهتمين بهذا النوع من النمو المهني.

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

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

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

لتسريع العمل ، قمنا بتطوير نظام التصميم الخاص بنا. نولي الكثير من الاهتمام للتشغيل السلس لواجهة المستخدم. نحن ندعم موضوع "الظلام".

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

رسلان // Android-teamlead



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

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

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

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

يناير // قائد الفريق ، إنوبوليس



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

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

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

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

لقد بحثنا عن الأشخاص ، بدءًا من المكدس (لدينا PHP و PostgeSQL و JS) ، ورغبة الشخص ليس فقط في الجلوس والعمل بشكل رتيب ، ولكن في صنع منتج جيد ، ليكون مهتمًا به. من الناحية المثالية ، لديك رؤيتك وقدرتك على التعبير عن وجهة نظرك حول مختلف القضايا.

إيفان // teamlead فريق تكامل المشروع



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

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

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

نحن الآن مشغولون باستبدال API لتطبيقات الهاتف المحمول وإعادة تصميم بعض صفحات الموقع وإعادة هيكلتها.

الكسندر // نظام اللوجستيات teamlead



نحن نعمل على المهام في اتجاه التسليم وكل ما يتعلق بذلك. لقد طورنا تطبيقًا يعمل بنظام Android يسافر من خلاله حامل الحقيبة ويسلم الطلبات. مستخدم من قبل Kotlin و Java. هنا تكمن المهام الكبيرة للتكامل مع أنظمة تسجيل المدفوعات النقدية وأنظمة الدفع.

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

في المستقبل ، سننفذ خدمة بواجهة برمجة تطبيقات لتغليف كامل المنطق وعملية التسليم ، ونقلها من مجموعة متجانسة إلى خدمات صغيرة. سيحتاج الشخص الذي يريد العمل معنا في هذا الأمر إلى معرفة وفهم جيدين لـ PHP و Laravel و PostgreSQL و (يفضل) golang. ستكون هناك أيضًا مهام واجهة للعمل مع الخرائط والبيانات المجدولة ، وهنا سيحتاج المرشح إلى معرفة جيدة بلغة HTML و CSS و JS وبعض أنواع أطر العمل.

نخطط لكتابة أدوات جديدة للعمل مع البيانات الإحصائية وإنشاء التقارير (postgreSQL و RabbitMQ و MongoDB و PHP) والتكامل مع حافلة السيارات CAN BUS لأخذ ومعالجة المعلمات والمؤشرات الفنية للأسطول.

دميتري // teamlead نظام مستودع الفريق



يعمل فريقي على تطوير نظام إدارة المستودعات (WMS). بالنسبة للجزء الأكبر ، هذا هو تطوير الواجهة الخلفية في PHP (Laravel) ، ولكننا بدأنا أيضًا في استخدام Go.
بالنسبة لقاعدة البيانات ، نستخدم PostgreSQL. فيما يلي المهام الرئيسية التي نقوم بحلها:

  • إدارة المستودعات: فرز الإمدادات ووضع البضائع في الخلايا ومراقبة الجودة وعمليات الشطب والمزيد.
  • معالجة الطلب: الحجز ، وإنشاء وتعيين مهام الاختيار ، واختيار البضائع حسب المهام.
  • التكامل مع BO (الطلبات والبيانات الرئيسية للسلع) ونظام X5 ERP (الأسعار والتسليم وعمليات الشطب وما إلى ذلك). للتكامل مع BO نستخدم RabbitMQ.
  • نحن نعمل على تطوير تطبيق لـ TSD على Android. يفتح تطبيق TSD الأصلي في webview تطبيق من صفحة واحدة مكتوب بلغة jQuery و knockout.js.
  • نقوم بتطوير وصيانة التقارير التشغيلية لموظفي المستودعات.

// -



ما هو فريق تطوير الموقع؟ الآن هذان فريقان من المتخصصين في مجال الواجهة الأمامية والخلفية ، مهمتهما تطوير ودعم الموقع الرئيسي perekrestok.ru وجميع عملياته التجارية الداخلية ، باستثناء التسليم والمخزن (WMS) وواجهة برمجة تطبيقات الجوال (التي يركز عليها الزملاء الآخرون).

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

ما لا يسعني إلا أن أتساءل عنه وأفتخر به هو مدى قوة الدافع في الفريق: لا أحد منا يهتم بمصير المشروع. كل شخص مهتم بإيصال المهمة إلى الإنتاج ولا يتردد في التواصل بشأن جميع القضايا مع PM و QA.

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

سيخبرك Roman و Semyon بالمزيد عن فرقهم بأنفسهم.

Roman // teamlead فرق التسويق والتجارة



يتكون فريقنا من قائد الفريق ومطوري الواجهة الخلفية. نحن نشارك بشكل رئيسي في تطوير الجزء الخلفي من النافذة www.perekrestok.ru ، مكتبه الخلفي (CRM / CMS) ، بالإضافة إلى تطوير نسخة B2B من الموقع ، opt.perekrestok.ru .

معظم فرقنا متعددة الوظائف ، لذلك توجد المهام في مناطق مختلفة. يمكن أن يكون هذا: البحث عن المنتج ، والتكامل مع الأنظمة الداخلية والخارجية (ERP لدعم B2B ، ونظام الولاء والدفع WMS ، و B2C و B2B ، وتوصيات لشراء السلع أو استبدالها) ، وإدارة وحساب حملات التسويق ، والسوق ، وإشعار البريد الإلكتروني / الرسائل القصيرة والتقارير التحليلية وموجز البيانات وما شابه ذلك.

يساعدنا التالي في حل معظم المهام: الخبرة في أطر PHP الحديثة (Laravel ، Symfony ، Yii) ؛ تنامي الأسلحة من الكتفين ؛ القدرة على تعريف عمل استعلامات PHP و SQL ؛ فهم الفرق بين تفاعل الأنظمة المتزامنة وغير المتزامنة ؛ الاستعداد لتبادل المعرفة مع الزملاء.

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

المني // موقع teamlead وواجهات المحلات



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

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

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

بالنسبة للواجهة الأمامية ، اخترنا VueJS ونستخدمها لمدة عام الآن ، ونكتب كل شيء جديد عليها ، ونستبدل الرمز القديم تدريجيًا. في الواجهة الخلفية ، نحاول الابتعاد عن استخدام نماذج ActiveRecord القياسية في Laravel ، ولكنها حريصة جدًا على وحدة المعالجة المركزية. إن تخصيص استعلامات قاعدة البيانات ورفض التأمل غير الضروري يعطي زيادة في الإنتاجية بترتيب من الحجم ، مما يؤثر بشكل إيجابي على Time To First Byte.

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

في الفريق ، يشارك الجميع بقوة في المشروع ، عندما يحدث نوع من حالات الطوارئ ، ثم كل شخص يمكنه الاتصال لحل المشكلة.

دنيس // teamlead خط الدعم الثالث



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

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

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

هناك أيضًا أشياء قياسية مثل الخطأ "500" أو "404" ، تحتاج إلى مراقبتها والاستجابة لها.

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

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

Rinat // teamlead فريق التطوير في إنوبوليس



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

لقد أدركت الحلم في Perekrestok.ru - تجميع فريق بالكامل من الصفر ، لموازنته مع مهارات الجميع. تظهر النتائج أننا نسير بشكل جيد للغاية ، وننضم بنشاط ومساعدة الفرق الرئيسية في موسكو.

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

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

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

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

بالمناسبة ، داخل المشروع يسمى "XO". X - Crossroads، O - Online.


All Articles