نواصل سلسلة من المقالات حول أولئك الذين يقومون بالمشاريع بأيديهم. مع
Stepan Goncharov ، تحدثنا عن كيفية تغيير اتجاه النشاط المهني بشكل عضوي ، وفي الوقت نفسه ، تغيير مهاراتنا من مطور Android إلى DevOps. سألوا عن
دورة الإصدار والعمليات في Grab ، وهي شركة يعمل فيها 40 شخصًا على تطوير Android فقط. تحدثوا عن مكان الحصول على أفكار للألعاب ، سألوا Stepan
Archetype و kOptional عن مشاريع OpenSource.
عن الضيف : يقوم Stepan Goncharov (
stepango ) بتطوير تطبيقات وألعاب لنظام Android منذ عام 2008 ، منذ الأزل ، عندما لم يتم إصدار Android SDK. خلال حياته المهنية ، تمكن من أن يكون في دور ضمان الجودة ، مدير ، تسويق ، مدون ، محلل ، مستشار والعديد من الآخرين. شارك في تطوير كل من التطبيقات والتطبيقات غير المعروفة مع ملايين المستخدمين حول العالم. يعمل حاليًا في Grab ، ويستخدم Kotlin و Rx على نطاق واسع ، ويكرس المزيد من الوقت لـ OSS.
في ما يلي فك تشفير نص بودكاست
Run Loop . المقدمون: إيليا تساريف ، أليكسي ميلياييف ورومان بوسيجين.
إيليا: أخبرني ما الذي يشارك فيه Grab مباشرة وما هو دورك. هل تكتب الرمز فقط أو شيء آخر؟
ستيبان: في البداية ، Grab هي خدمة الاختباء. يمكنك طلب سيارة أجرة ، سيأتون إليك ويصطحبك ويأخذك. لكن في الآونة الأخيرة ، أصبحت الشركة تحصل بشكل متزايد على خدمات إضافية مثل توصيل الطعام ونظام الدفع الخاص بها. عندما جئت إلى Grab ، قمت بقيادة فريق تطوير تطبيقات السائق. ثم انتقل إلى تطبيق الركاب. كان أحد مشروعاتي الأخيرة
إعادة تصميم كاملة لتطبيق الركاب . الآن أقوم بالمزيد من DevOps - إعداد CI ، وتحسين وقت البناء وكل ذلك.
ديفوبس
أليكسي: ستيبان ، وإذا لم يكن سراً ، فلماذا قررت التحول إلى DevOps و CI؟ غالبًا ما أسمع قصة عندما يأتي مطورو الأجهزة المحمولة إلى النظام الأساسي ، وهم متحمسون ، ويتم ضخهم إلى ارتفاعات لا تصدق ، ثم قرروا فجأة القيام ببعض المهام غير الإنتاجية.
ستيبان: في الواقع ، كل شيء اتضح ،
عضويا . بينما كنت بصدد إعادة تصميم التطبيق ، كان لدينا ترحيل طارئ إلى GitLab نظرًا لأن حالات CircleCI لم تعد قادرة على بناء مشروعنا. اتضح أنها كبيرة جدًا وأكلت الكثير من الذاكرة ، ولكن لم تكن هناك حالات CI مناسبة. بطريقة ما ، علقت لعدة أسابيع محاولًا ترحيل عملياتنا ، وبشكل عام ، كل ما يتعلق بـ CI إلى GitLab. ثم ، بعد انتهاء المشروع ، شكلنا فريق منصة جديد. بينما أمضيت 3 أسابيع في إجازة ، تم اتخاذ جميع المهام الأخرى ، لذلك عندما عدت ، أخبروني: "
هذا كل شيء ، أنت تحسن سرعة البناء و CI".أدوار وأنشطة مختلفة
إيليا: لدينا أيضًا طيور - ليست تلك التي تحتوي على ميكروفونات ، ولكن لا تزال على الذيل أبلغوك أنك زرت QA ، كمدير ،
ومسوق ، ومدون ، ومحلل - بشكل عام ، لقد خضت الكثير من الأنشطة المختلفة . يرجى إخبارنا بمزيد من التفصيل كيف أدخلتك في جميع هذه الأدوار ، منذ متى وأنت فيها ، ما الذي يعجبك في كل منها ، ربما ، لم يعجبك؟ ربما تود العودة إلى المدونين الآن؟
ستيبان: من حيث المبدأ ، في كل من هذه الأدوار اتضح بطريقة أو بأخرى بطريقة عضوية أن يتدفق بسلاسة من واحد إلى آخر. بدأ كل شيء مع حقيقة أنني أصبحت مهتمًا بتطوير Android
قبل إصدار أول جهاز على Android . كنت مهتمًا بالفكرة نفسها - نظام تشغيل في Java - بطريقة غير اعتيادية إلى حد ما. نتيجة لذلك ، أثناء الدراسة في الجامعة ، بدلاً من القيام بالعمل المختبري في C أو غيرها من مشاكل الجامعة المملة ، قمت بتقليل كل شيء تدريجيًا إلى Android. لم يعارض المعلم ، كان مهتمًا أيضًا بتعلم شيء جديد ، وكتبت تطبيقات Android.
في الوقت الذي تخرجت فيه ، كان لدي بعض الخبرة. لقد كتبت طلبي الأول وأطلعته إلى السوق ،
وبدأ هذا
شغفي بالتسويق . كان لدي طلب خاص بي ، وكان عليّ الترويج له بطريقة أو بأخرى. بدأت العبث قليلاً وكتابة المدونات.
في عام 2010 ، وجدت عمل مطور Android ، ثم كان من المستحيل تقريبًا - لم يكن هناك سوق ، لم يكن أحد يعرف عن Android. دخلت إلى شركة الاستعانة بمصادر خارجية ،
وكان عليّ تعيين فريق لديه ستة أشهر فقط من الخبرة و 2 تطبيقات منشورة.
لذا ، من التسويق والتدوين ، عدت إلى التطوير. ثم تخرج من القضاء ، وانتقل إلى سان بطرسبرغ - وأيضاً الاستعانة بمصادر خارجية. هناك بدأت في المشاركة في الاختبار الآلي ، واتضح أنني طورت اتجاه
Robotium في الشركة وعلمت QA
كيفية كتابة الاختبارات الآلية ، حتى
غادرت إلى سنغافورة ، حيث قمت مرة أخرى بتجنيد فريقي إلى إحدى الشركات الناشئة في سنغافورة. بعد ذلك ، بدأ في تطوير Android. الآن دخلت في Grab - أولاً للمديرين ، ثم إلى DevOps.
رومان: من فضلك قل لي ، ستيبان ، هل تفتقد هذه المرة عندما تغيرت مهامك بشكل كبير بما فيه الكفاية؟ الآن ، تقريبًا ، كل يوم تشرب DevOps - وهذا كل شيء؟
ستيبان: في الواقع ، ليس بعد. لقد أكملت مؤخرًا مشروعًا كبيرًا ، ومن حيث المبدأ ، لا تزال هناك مهام كافية. قد يبدو ، بالطبع ، نفس الشيء - أي أن الهدف واحد ، ولكن ما أفعله هو
أشياء كثيرة ومختلفة ، بما في ذلك ، على سبيل المثال ، التنميط الذاكرة ، والعمل مع CI. الآن ألقي نظرة على تحليلات أمازون على S3.
كل هذا جديد بالنسبة لي حتى الآن . لا أعتقد أنني سأشارك في CI وتحسين وقت التجميع لفترة طويلة. على الأرجح ، على سبيل المثال ، في الربع التالي سوف أتحول إلى شيء آخر.
على سبيل المثال ، لدي
دورة انتقالية من اتجاه إلى آخر لمدة 2-2.5 سنة . لقد بدأت في الاختبار ، ثم تحولت إلى اختبار التحميل ، ثم أصبحت مطورًا. كم مرة تغير اهتماماتك ومجالات عملك؟
ستيبان: في مكان ما في منطقة 1.5-2 سنة. لكن في الآونة الأخيرة ، اتضح أنه لمدة ستة أشهر.
الألعاب
أليكسي: ماذا تريد أن تفعل؟ من الناحية المثالية ، ربما ترغب في ترك التطوير ، ولا تلمس أي شيء بيديك؟ أو ربما ، على العكس من ذلك ، هل ترغب في البحث في بعض الأشياء الأصلية العميقة؟ ما الذي تريده على وجه التحديد؟
ستيبان: هذا سؤال جيد! في الواقع لم أقرر.
ما زلت مهتمًا ببعض الأشياء . واحدة من أكثر الأشياء إثارة للاهتمام بالنسبة لي ، حيث لم أستطع الوصول إليها ، هي تطوير الألعاب. أثناء دراستي في الجامعة ، كنت مغرمًا بكتابة جميع أنواع الألعاب. كان لدي مشاريع على Flash. كان تطبيق Android الثاني الخاص بي أيضًا لعبة. لقد عملت لمدة شهر في شركة ألعاب ، ولكن بطريقة ما لم تنجح معي.
من حيث المبدأ ،
أود أن أجرب تصميم اللعبة ، ولكن هذا لا يزال صعبًا. كلما أمضيت وقتًا أطول في تطوير Android ، كلما كان هذا الانتقال أكثر صعوبة ، إذا حدث ذلك على الإطلاق.
إيليا: Styopa ، إذا تطرقنا إلى موضوع الألعاب ، فإن السؤال هو - عن ماذا كانت لعبتك الأولى؟
ستيبان: كان عام 2010 ، لذلك كان الأمر بسيطًا جدًا. كان لغزًا منطقيًا يحتوي على أشعة ليزر ومرايا كان يجب تدويرها بحيث تضرب الليزر الهدف. لسوء الحظ ، تم استضافة هذه اللعبة على حساب صاحب العمل الخاص بي في ذلك الوقت. تم حذف هذا الحساب منذ فترة طويلة ولم تكن اللعبة موجودة. لكني حقا أحببتها تم كتابته بالكامل على Android View ، وهو أمر يؤسفني بالطبع ، لكن التجربة كانت ممتازة.
إيليا: هل تستغلون الوقت لتطوير الألعاب؟
ستيبان: لا. لا يوجد وقت للألعاب على الإطلاق. إلى جانب حقيقة أنني أعمل في الشركة ، أقوم أيضًا
بتنظيم اجتماعات Kotlin في سنغافورة والتحدث في المؤتمرات. أي أن وقت الفراغ ممتلئ تمامًا. ربما سأعود يومًا ما إلى ذلك. اشتريت مؤخرًا Google VR لتجربة Unity عندما يكون هناك وقت ، ولكن حتى الآن لم يكن ذلك ممكنًا.
رومان: وقل لي من فضلك من أين لك أفكار للألعاب؟ كيف وصلوا إلى عقلك؟
ستيبان: أفكار الألعاب تأتي إلي عادةً من الابتكارات التقنية. كنت عادة أشاهد بعض العروض التوضيحية التكنولوجية ، أو ، على سبيل المثال ، في 2008-2010 كان هناك موضة للمحركات المادية. ترى بعض التكنولوجيا الرائعة أو تظليل عصري جديد ،
وتظهر الأفكار نفسها بناءً على ما تراه.
Roman: هل هوايتك في صنع الألعاب تتعلق بكونك لاعبًا بنفسك - أنت تقطع في PlayStation ، في Switch ، على جهاز الكمبيوتر - هل هناك أي ارتباط؟
ستيبان: نعم ، أعتقد أن هناك. عندما كنت طفلاً ، كان لدي Sega ، ثم الكمبيوتر الشخصي ، قضيت الكثير من الوقت في ممارسة الألعاب. لدي الآن كل من PlayStation و Switch ، لكني الآن
أقضي وقتًا أقل بكثير في الألعاب ، حتى لا أضطر إلى لعبها.
ما هي الألعاب التي تتذكرها أكثر من غيرها؟ أو أي نوع من الألعاب تفضل؟ على سبيل المثال ، أنا أفضل الرماة أو نوع من الرعب Survivor.
ستيبان: بطريقة ما لم أعمل مع الرماة. لقد لعبت Counter-Strike عندما كنت طفلاً ، لكنها لم تفعل.
واحدة من ألعابي المفضلة هي Space Rangers-2 ، والجزء الأول هو أيضًا ملحمي ، بالطبع. ثم من لا تنسى كان
Freelancer .
أليكس: Freelancer هي لعبة؟ هذا أسلوب حياة!
ستيبان: في الواقع ، هذا جهاز محاكاة للفضاء ، تقريبًا ، قريب جدًا من Space Rangers ، ولكن من منظور طرف ثالث. إن Witcher و Arcanum و Fallout من هذا القبيل.
إيليا: يبدو لي أن
تطوير الألعاب هو حلم معظم المبرمجين . كما بدا لي دائمًا ، يذهب الناس عمومًا إلى التطوير فقط لصنع الألعاب. هذا رائع للغاية! مشروعي الأول على iOS - كانت أيضًا لعبة ، بالمناسبة. ما رأيك بهذا؟
أليكسي: سمعت أنه بالنسبة للعديد من الأشخاص ، يبدأ مسار البرمجة حقًا بحقيقة أنهم يريدون صنع نوع من الألعاب ، يحبون لعب الألعاب ، يريدون فهم كيفية القيام بذلك. لسبب ما لم يكن لدي هذا.
كنت أكثر اهتماما بكيفية عمل البرامج - ما يحدث عندما تنقر على النوافذ في Windows. ولكن في مرحلة ما أدركت أنه لم يكن لدي أي فكرة عن كيفية صنع الألعاب. أنا أفهم كيف يمكن كتابة هذا التطبيق أو ذاك على الهاتف المحمول ، أو هذا البرنامج أو ذاك على جهاز الكمبيوتر - لم أتخيل كيفية صنع الألعاب. بطريقة ما تم وضعي على قناة يوتيوب. هناك ، كتب المتأنق في Java و Canvas لعبته من الصفر - استنساخًا لبعض ألعاب RPG مع شيء مشابه لمزيج من Diablo و Final Fantasy. هذا حقا مثير جدا للاهتمام
أنصح الجميع بمحاولة اللعب بها في أوقات فراغهم ، لفهم كيفية كتابتها بشكل عام ، وكيف تعمل. لقد كانت تجربة رائعة جدا. ثم دخلت بطريقة ما في نفس الدروس ، حيث رأى المتأنق لعبة بسيطة على الوحدة. من المثير للاهتمام للغاية مقارنة المقاربات عندما تبدأ في كتابة محركك ، وعندما يكون لديك بالفعل شيء جاهز مثل Unity ، وقمت بتعديله بطريقة أو بأخرى لإعداده بنفسك. أوصي بشدة بتجربة شيء من هذا القبيل ، لأنه مثير للاهتمام للغاية.
رومان: لدي تجربة مماثلة. أحب اللعب ، لكنني لست لاعبًا متعطشًا ، ولكن في نفس الوقت كنت مهتمًا بشكل أساسي بفهم كيفية عمل البرامج. ثم توصلت إلى استنتاج مفاده أن ما يعجبني ، وما يعجبني ، أريد أن أحاول القيام بذلك بيدي. ولكن من حيث الألعاب
، يبدأ كل شيء بفكرة . أنا في انتظار فكرة يمكن تنفيذها في أي وقت فراغ ، أو لتوضيح وقتي وصنع هذه اللعبة.
ستيبان: فيما يتعلق بالأفكار ، كان آخر ما ظهر في ذهني يتعلق
بالإنشاء التلقائي للخرائط . الآن يمكن القول أن هذا اتجاه ، وبعض الألعاب تستخدم جيل عوالم ضخمة لجعلها مشابهة جدًا للعوالم الحقيقية.
هناك فئة كاملة من الخوارزميات التي تسمح لك بإنشاء التضاريس. يمكن بناء المناظر الطبيعية بحيث تكون هناك جبال وبحار. من حيث المبدأ ، إذا تم عرض شخص ما على أعلى عرض لخرائط Google والمناظر الطبيعية التي تم إنشاؤها ، فلن يتمكن سوى عدد قليل من تمييزها. هذا مثير للاهتمام للغاية ، لأنه يمكنك إنشاء محتوى للعبة بنفسك ، دون امتلاك موارد كبيرة ، لأنها واحدة من أصعب الأجزاء. على الأقل أعتقد ذلك.
يوم عمل
أليكسي: ستيبان ، كيف يكون يوم عملك عادة؟ استيقظت ، وصلت إلى المكتب ، أو لم تحصل - ماذا تفعل ، كيف حالك؟
رومان: ما زلت مهتمًا بما يحدث قبل وصولك إلى المكتب. ربما لديك بعض المقاهي المفضلة أو تقاليدك المفضلة: على سبيل المثال ، هل تحب المشي على طول الحديقة العامة أمام المكتب؟ ما الذي يبدأ يومك حقا؟
ستيبان: في الآونة الأخيرة ، يبدأ يومي بـ 50 تمرين ضغط.
أليكسي: الاحترام!
ستيبان: في مرحلة ما ، أدركت
أنني بحاجة إلى تخصيص مزيد من الوقت للنشاط البدني ، والآن أحاول أن أجبر نفسي على القيام بذلك في وقت فراغي. من حيث المبدأ ، لا شيء خاص.
بما أن العمل الرئيسي للشركة هو الاختباء ، أي طلب سيارة أجرة ، فإن الشركة تدفع لي سيارة أجرة. لذلك ، فإن أول شيء أفعله في الصباح بعد الإفطار هو طلب سيارة أجرة والذهاب إلى العمل.
أنا أعمل في مكتب لائق جدًا مع إطلالات رائعة على الخليج. على الأرجح أن معظمنا ،
بالطبع ، هو فنجان من القهوة . في كثير من الأحيان ، نذهب مع الزملاء إلى الطابق السفلي من نفس المبنى ، ونذهب إلى أحد المقاهي ، ونأخذ القهوة
ونناقش بعض الأخبار والخطط . من المثير للاهتمام بشكل خاص إذا حدث شيء ما خلال هذه الليلة ، وهو اليوم في الولايات المتحدة: تم إصدار شيء جديد ، وبعض الأخبار المثيرة للاهتمام ، وإطار عمل جديد. نناقش كل هذا ، وبعد ذلك يمكننا البدء في العمل.
ثم كل شيء هو مثل أي شخص آخر: تذهب إلى
جيرا ،
وتشاهد التذاكر. خلال الأسبوعين الماضيين كنت على الاتصال. هذا هو المطور ، الذي تقع عليه جميع مشاكل الإنتاج ، وعليك بطريقة أو بأخرى أن تحل ، أو تفوض ، أو تقول - هذه ليست مشكلة وتنسى ذلك.
نظرًا لأن الفريق كبير جدًا (يعمل
أكثر من 40 شخصًا بالفعل على تطبيق الركاب - فهذه فرق مختلفة مسؤولة عن مناطق مختلفة) ، في بعض الأحيان يكون من الصعب جدًا العثور على الشخص المناسب الذي يحتاج إلى حل هذه المشكلة. لدينا مثل هذا التناوب -
كل أسبوع يشارك أحد المطورين في مشاكل الإنتاج . على وجه التحديد ، أنا أستعد هذا الأسبوع لإصدار ، وهذا حل مشكلة من الاختبار ، والعثور مرة أخرى على الأشخاص المناسبين لحل هذا أسرع.
الروماني: 40 شخصًا هم Android فقط ، أم أن الفريق بأكمله هو الذي يصنع تطبيق الجوال؟
ستيبان: هذا فقط Android.
رومان: واو! عندما
سمعت عدد مطوري الهواتف المحمولة في أوبر ، شعرت بعدم الارتياح. لكن فريقك يؤكد هذا الاتجاه. ذكرت أنك ، تقريبًا ، كنت في الخدمة في تقارير الأخطاء. قل لي ، كيف تسير دورة الإصدار الخاصة بك؟
دورة إصدار التطبيق
ستيبان: من حيث المبدأ ، أعتقد أن هذه عملية عادية إلى حد ما تحاول التطبيقات الكبيرة الالتزام بها.
لدينا قطار إطلاق ثابت . هذا هو الأسبوع في الوقت الراهن. أي ، كل أسبوع يوم الثلاثاء لدينا بيان. يتم اختيار مهندس تحرير لهذا الأسبوع ، وبحلول بداية الأسبوع ، يجب أن تكون جميع الميزات التي تدخل في الإصدار جاهزة.
إذا كانت بعض الميزات غير جاهزة ، فإنهم يرمونها بعيدًا ، ويغلقونها بعلامة - قم بكل ما يلزم لمنعها من التراجع. بمجرد أن يتم منح هذا الإصدار ، حيث تكون جميع الميزات جاهزة ، إلى ضمان الجودة ، تبدأ عملية هندسة الإصدار.
أي أنه يجب إصلاح أي أخطاء مفتوحة في أسرع وقت ممكن ، ويتم منحها الأولوية القصوى. حتى إذا كان المطور يعمل على الميزة التالية ، والتي سيتم إصدارها في الإصدار التالي ، ولكن هناك خلل أو بعض المشاكل التي يعرفها بشكل أفضل ولديه أقل وقت لحلها ، يتم منحها له.
يحدث هذا معنا حتى يوم الجمعة.
يوم الجمعة ، نحاول إنهاء الانحدار ، وإغلاق كل أخطاء الانحدار ، ونغادر بروح هادئة لعطلة نهاية الأسبوع. إذا حدث شيء مفاجئ ، يمكنك إصلاحه يوم الاثنين بسرعة ، ويمكنك بالفعل نشره ونشره بهدوء مساء الاثنين أو صباح الثلاثاء - أول 10٪ ، ثم المزيد والمزيد. لمدة أسبوع ، نحاول الاقتراب من مائة ، والإفراج عن الإصدار التالي.
الاختبار والتحديثات
رومان: يؤلف بسرعة ويضع - ولكن ماذا عن عملية الاختبار؟ المختبرون الخاصون الذين يقومون بالتحقق في أي نقطة يقومون بذلك؟
ستيبان: هناك العديد من المختبرين ، لقد حان الوقت. لا أعرف عددهم المؤكد. والسبب هو أن معظم الفرق ليست في سنغافورة. لا أتذكر عدد المكاتب التي لدينا ، ولكن هناك على الأقل 5 مكاتب أخرى حيث توجد فرق تطوير جنبًا إلى جنب مع ضمان الجودة. أثناء تطوير الميزات ، تقوم هذه الفرق ، جنبًا إلى جنب مع QA ، بتصحيح هذه الميزات نفسها واختبارها.
في الوقت الذي تبدأ فيه دورة الإصدار ، يجب ألا تحتوي الميزات على أخطاء مفتوحة . يحدث الانحدار على النحو التالي: واحد ، ربما يبرز اثنان من ضمان الجودة من جميع الفرق ، ويديرون الانحدار وفقًا لميزاتهم. فقط هذا الأسبوع ، أثناء البحث عن الأخطاء ، يتم إصلاح الانحدارات.
إيليا: اتضح أن لديك دورة تحديث أسبوعي ، وأن المستخدمين لديهم الوقت للتحديث في مثل هذا الوقت؟ على سبيل المثال ، واجهنا موقفًا حيث كان لدى مستخدمي iOS الوقت للتحديث ، و Android - ليس بالفعل. اختلفت إصداراتنا مباشرة لعدة أسابيع.
أليكسي: نعم ، يبدو لي أيضًا أن الأسبوع قد شعر بسرعة.
ستيبان: نعم إنه كذلك. الأسبوع سريع جدًا ، ولكن
ليس لدينا هدف لجميع المستخدمين للتحديث . لقد تحولنا من دورة إصدار لمدة أسبوعين إلى دورة أسبوعية من أجل تقليل العبء على ضمان الجودة أثناء التراجع ، لأن عددًا كبيرًا من الميزات تراكم على مدار أسبوعين.
40 شخصا يمكنهم القيام بأعمال تجارية! ثم ، في نهاية الأسبوع الثاني ، اعتدنا على الحصول على أخطاء خطيرة جدًا تم الحصول عليها بسبب فرض هذه الميزات ، وكان من الصعب جدًا حلها. اتضح أننا كسرنا أسبوعيًا ووزعنا حمل الاختبار هذا بشكل متساوٍ.
إيليا: ما هي النسبة المئوية تقريبًا تقريبًا لقاعدة المستخدمين التي تستخدم أحدث إصدار؟
ستيبان: يعتمد ذلك على الفترة الزمنية التي نتحدث عنها.
إيليا: في الوقت الراهن.
ستيبان: لا يمكنك استخدام أحدث إصدار إلا إذا دخلت في خطة إعادة التحميل هذه لمدة أسبوع. أي أن 100 ٪ من إعادة التحميل ستكون إما يوم الجمعة أو يوم الاثنين ، حيث أن الإصدار الجديد سيصدر يوم الثلاثاء. هذا يعتمد بالفعل على الحظ الجيد. ولكن ليس لدينا مثل هذا الهدف بحيث يجلس المستخدمون دائمًا على أحدث إصدار. الشيء الوحيد الذي ما زلنا بحاجة إلى التفكير فيه هو الحد الأدنى للإصدار المدعوم. نحن نجبر المستخدمين بشكل دوري على التحديث بقوة عندما يكون 90 ٪ على الأقل من المستخدمين على الحد الأدنى للإصدار المدعوم ، وهو ما يقرب من 3-4 أشهر.
منظمة العمل الجماعي
أليكسي: ستيوبا ، لدي مثل هذا السؤال. تقول 40 شخصًا يستخدمون Android - أليس كذلك؟ هل من الصحيح أن 40 مطورًا يفعلون شيئًا ما؟
ستيبان: نعم.
أليكسي: هناك مثل هذه اللحظة مع زيادة عدد الموظفين ، خاصة في منطقة واحدة من الشركة ، أي على وجه التحديد في تطوير Android ،
تتزايد تكاليف الاتصال بشكل كبير . جميع العمليات التجارية ملتزمة بحل هذه الظاهرة. وكيف يتم حل هذا فيك؟ ما هو الهيكل التنظيمي لهذه الآلة من 40 مطور؟
ستيبان: في الواقع ، حلنا بسيط للغاية.
هؤلاء المطورين الـ 40 لا يفعلون نفس الشيء ، وهم في الأساس لا يحتاجون إلى التواصل بقوة مع بعضهم البعض. اتضح أن الفرق في مختلف البلدان منخرطة في ميزات مختلفة. في الأساس ، لا تحتاج للتواصل مع فرق أخرى. أنت تتواصل بشكل رئيسي مع مديرك. نتيجة لذلك ، تكلفة الاتصال ليست كبيرة ، لأن
الفريق من 5-6 أشخاص . هناك فرق من 1-2: على سبيل المثال ، ظهرت فقط بعض قطاعات الأعمال الجديدة ، وهناك مطور واحد ، ولديه فقط رئيس هندسي ، وهو المسؤول عن كل شيء ، بما في ذلك الواجهة الخلفية و iOS وأشياء أخرى.
, , , .
OpenSource- Archetype kOptional
: . , OpenSource -. , OpenSource, .. , , —
Archetype kOptional . ما هذا
: kOptional . ,
Optional . - Null, . . , Java8 .
, . , , — , , . , -.
Archetype — . - , 90
Seconds . - : , , , . , : , — .
, - .
. . , , : "
". لما لا؟
— , - , . , 90 Seconds , NDA . , , 90 Seconds: , - , - .
,
- , 90 Seconds. , , , , . , , , Rx. , , Kotlin, legacy.
, , , … .
: ,
OpenSource- . , , , , , . , !
.
AppsConf . , , ?
AppsConf
: , AppsConf.
, , : « ». , , , .
, , . , , . , , , , .
. , , . , . — , .
, . , , -, , -, , .
, . , , , . Mobius, . .
-, , ,
- , , - WorkManager, .
,
Kotlin ,
,
, - .
: , ?
: , . -, , , , . , , , .
, , — , , , subscribe. - , , . .
: , - OpenSource , ?
: . production-ready, , , GitHub.
:, ! , , , AppsConf 8–9 .
AppsConf , , , .