• , ,

    عام وتدريبين في مختبرات فون بيس

    عام وتدريبين في مختبرات فون بيس

    مشاركة

    مشاركة

    حقوق الصورة: danielmoyle عبر Compfight cc
    تصوير: دانيال مويل بواسطة Compfight cc
    My (خاصتنا، في الواقع) سيغادر اثنان من المتدربين بنهاية الشهر. سأفتقدهما. لقد كان الشهرين الماضيين مثيرين للاهتمام ومليئين بالتحديات. لكنني فخور بما أنجزناه معًا. أفتخر بأنني ساهمت في تطويرهما. وأنا أيضًا أفضل مما كنت عليه قبل انضمامهما.

    البداية

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

    تغيير في كل شيء

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

    التوثيق والمقدمة. يا إلهي!

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

    فهم المهارات والقيود

    تم بناء Fonenode باستخدام Node.js وMongoDB؛ بينما تم بناء Callbase باستخدام Node.js وMySQL وPHP. ولتفويض المهام بفعالية، كان عليّ فهم مهارات كل فرد من الفريق (كما أسميهم) وحدود قدراتهم. لم يكن ذلك جهدًا مقصودًا، بل استغرق الأمر بعض الوقت. في النهاية، عرفت من أعهد إليه بمهام جافا سكريبت (Node، Mongo، Backbone) ومن أتولى PHP والاختبار.

    التواصل

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

    الإصدارات

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

    ما تعلمته

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

    ما حققناه

    أستطيع أن أنظر إلى الوراء بفخر وأقول إننا حققنا الكثير. لقد بذلنا جهداً كبيراً في كل من Callbase وFonenode. و كاتبأنجز الأولاد الجزء الأكبر من العمل على زر الاتصال في Callbase. وقاموا بتنفيذ تصميم الزر الجديد. تطبيق Writerack لنظام Androidلقد قمت فقط بتطوير النسخة الإلكترونية والنسخة الأولية من تطبيق أندرويد. كان من المستحيل القيام بكل هذا بمفردي.

    من هنا

    رغم أنني أتمنى الاحتفاظ بهم، إلا أن عليهم المضي قدمًا نحو أمور أخرى. آمل أن ينظروا إلى الوراء في المستقبل القريب ويروا في هذه الفترة ما ساهم في تشكيل مستقبلهم. PS: نحن في Fonebase Labs نبحث باستمرار عن مطورين شباب متميزين ومتحمسين لعملهم، يتمتعون بالتركيز والانفتاح على التعلم. إذا كنت أحدهم أو تعرف أحدهم، يُرجى التواصل معي عبر البريد الإلكتروني [email protected]. هذا المنصب كان نشرت لأول مرة على مدونة أوبيمي.