من المطور إلى المديرين والعكس بالعكس

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



دعنا نخبرك كيف كانت على الجانب الآخر ، لماذا عدت إلى المطورين في سن 30+ (المفسد) ولا نأسف لذلك.

طريقة لمطوري Android


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

صورة

كان لدى Money Keeper تصميم بدائي إلى حد ما ، ولكن UX مدروس جيدًا: تم تسجيل الدخل أو النفقات بنقرة واحدة - اضغط على أيقونة الفئة على الفور فتح نافذة لإدخال المبلغ.

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

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

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

كيف أصبحت قائد فريق ، "لأن _ to_to_someone_something_is due_"


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

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

صورة
لم أكن خائفا من تولي المهام الصعبة)

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

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

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

مبادئي باعتبارها Timlida


في الوقت الذي تخلت فيه عن C ++ وغادرت إلى Android ، كنت قد عملت بالفعل مع مختلف القادة وأدركت بالضبط نوع القائد الذي أريد أن أكونه. وبعد ذلك ، في فرق مختلفة تمامًا: منتج (يتكون من محللين ومصممين ومطورين ومختبرين) وفرق تطوير - حاولت ألا أبتعد عن مبادئي.

بحاجة للعمل مع أولئك الذين هم


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

في أحد المشاريع ، قررت أن الوقت قد حان للابتعاد عن حزمة MVP + Dagger + RxJava المألوفة ، وتجربة إنتاج تلك الأدوات التي توصي Google باستخدامها لإنشاء تطبيقات حديثة للهواتف المحمولة. خططنا لتنفيذ البنية الموصى بها باستخدام Jetpack و Kotlin فقط مع Coroutines.

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

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

لكن الرجال عملوا بجد ، وتسلقوا في المصدر ودرسوا القضايا على Github ، وتم تعريفهم في الليل ، وفي النهاية حصلنا على:

  • نظيفة ومستقرة وسهلة للحفاظ على التعليمات البرمجية ،
  • منتج ناجح في الإنتاج ،
  • ومجموعة من الخبرة التي لا تقدر بثمن.

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

تحتاج أيضًا إلى العمل مع "نجوم الروك" ، بغض النظر عن مدى صعوبة ذلك في بعض الأحيان.

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

أنا لا أعمل مع المرؤوسين ، ولكن مع الناس


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

صورة
من لم يجلس قبل العطلة في مواقع أخرى خلال ساعات العمل ، دع الأول يرمي الشاشة في وجهي)

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

في موقف صعب ، لن يتقدم أحد إلا إذا كنت أقود


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

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

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

تحتاج إلى تطوير نفسك وتطوير الجميع في الفريق


صورة
مكان العمل المعتاد للقائد:

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

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

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

لا يمكن للمرء أن يذهب بعيدا عن مشاكل التنمية


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

كانت هناك حالات فوجئ فيها المديرون حقًا بأنه من المستحيل نشر تطبيق iOS في ليلة رأس السنة الجديدة لأن مراجعي Apple قد ذهبوا في بعض الأعياد. لا يفهم المصممون أحيانًا مشكلات مطوري Android في التنضيد على شاشات مختلفة. يجب على الدارسين ، الذين لم يعملوا مع عملاء الجوّال من قبل ، أن يشرحوا أنهم لا يحتاجون إلى إعطاء خطأ في شكل صفحة HTML بدلاً من JSON.

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

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

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


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

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

حسنا ، ماذا عن سلبيات القيادة؟


بالنسبة لي هم:

  • كلما كنت مديرًا ، قل مطور البرامج. بغض النظر عن كيفية محاولتك تتبع تعقيدات الجزء التقني من المشروع ، فهم يراوغونك كل يوم أكثر فأكثر. وكلما كبر الفريق وكلما كان التطوير أكثر نشاطًا ، كلما كان ذلك أسرع. تدريجيًا ، تم تقليل حجم المعلومات الجديدة التي تم تلقيها حول Android و iOS إلى قراءة ملاحظات الإصدار الخاصة بالإصدارات الجديدة من أنظمة التشغيل ومقالات على حبري شهريًا.
  • . — , . , “” . .
  • . . , . - - , .
  • . , . , 2-3 . - — 70-80% !

!


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

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

بدا شيء من هذا القبيل:
— ?

.

— ?

, . , .

— ?

— …

— , scrum kanban?

.

— ?

— …

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

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

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

الطريقة الثانية- انغمس في التنمية ، إن أمكن اللحاق بالركب على مدى سنوات الإدارة.

حسنًا ، الخيار الثالث ، الحل الوسط ، هو "سحب" النظرية ومحاولة الاستمرار في "الوسط" ، والتعليق "في الهواة" لبضع سنوات أخرى.

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

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

لذلك ، وجدت مكانًا لطيفًا للعمل ، وأكتب الرمز وحتى الآن لا أشعر بأي ندم.
هل هناك حياة في المطورين في 32؟ يوجد!

PS

ما أعطاني كمطور تجربة القيادة؟

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

All Articles