الإدارة، كتشغيل للقطار السريع
As an engineering-manager, you no longer ride the rollercoaster. But you operate it. That should exhilarate you. If it doesn’t, maybe it’s not for you.
منذ عام ٢٠١٣ عملتُ كمبرمجة منفردة بدون أيّة مسؤوليات تجاه غيري في كلّ فريق انضممتُ إليه، كان الأمر ممتعًا وعندما أفكّر به الآن، كان أقلّ قلقًا بكثير. حتّى العام الماضي، لم يسبق لي أن كنتُ قائدة تقنيةً (tech lead)، كنتُ أقضي معظم يومي في البرمجة والقراءة عن البرمجة، وعندما كنتُ أخطّط لمساري الوظيفي كنتُ أستبعد الإدارة مباشرة، إنّ العمل الإداري كان بالنسبة لي مملّ دائمًا وقاتل وكانت لديّ عيوبي الشخصية الّتي جعلتني أجزم بأنّه ليس لي، كنتُ فاشلة في مواجهة الآخرين وإقناعهم وأحيانًا حتّى الحديث معهم ولم أكن أعتقد بأنّني أمتلك الكاريزما الكافية .
لماذا انتقلتُ إلى الإدارة؟ هناك أسباب قليلة قد تدفع المبرمج الشغوف للانتقال إلى الإدارة، وأجزم بأنّنا إذا كنّا نعاني من شحّ في عدد المبرمجين، فإنّ عدد الإداريين التقنيين أقلّ بكثير مّما يحتاجه العالم، ينظر العديد إلى الإدارة على أنّها الوجه المضاد للبرمجة، يرغب المبرمجون في إيجاد حلول خلاّقة وفي أخذ كلّ الوقت من أجل تسمية متغيّر برمجي أو تصميم جدول البيانات الأكثر كفاءة، وترغب الإدارة في نجاح المنتج وإطلاق المزيد من المميزات مهما كان الثمن، تبدو الإدارة بيروقراطيّة مثقلة بالتعقيدات والممارسات القديمة الّتي عفى عنها الزمن، وتبدو البرمجة نشطة وحيويّة قابلة للتغيير باستمرار، هذا صراع مشهور يمكن أن تحسّ به في أكثر نكات المبرمجين انتشارًا.
لم أرغب بالانتقال إلى الإدارة، لم أفكّر بها مطلقًا، لكنّني بعد ٦ سنوات من العمل المنفرد وجدتُ نفسي وبإلحاح راغبة في إحداث تغيير من حولي، كنتُ أؤمن بأنّني تعلّمتُ الكثير خلال سنوات عملي وأردت أن أنقل ما تعلّمته لغيري، في ذلك الوقت كنتُ واثقة من مهاراتي البرمجية أكثر من اللازم، كان لديّ كلّ الوقت لإعادة تقييم وكتابة أكوادي البرمجيّة وتعلّمت الكثير من هذا، وكنتُ مهتمّة جدًا بالممارسات الاحترافية في البرمجة، رغبتُ أن أساعد السوق المحلّي على تبنّي هذه الممارسات.
كانت لديّ قائمة أمنيات بالمهام الّتي أرغب بتولّيها، لم أطلق عليها لقب إدارة، لكنّني كلما بحثتُ واستفسرتُ عن المسؤول عن أداء هذه المهام كنتُ أجدُ هذه الإجابة باستمرار engineering manager.
بدأتُ بقراءة كتب ومقالات وتدوينات عن "الإدارة التقنيّة"، ناقشتُ زوجي كثيرًا حولها، ثمّ قرّرتُ بأنّ هذه هي خطوتي المهنيّة القادمة، وفعلتُ تمامًا مثلما تحدّثنا الدراسات الاحصائيّة حول انتقال النّساء إلى الإدارة التقنية، إننّا ننتقل ولسبب ما إلى شركات أخرى عند رغبتنا بتجربة الإدارة بدلاً من تغيير المسار المهنيّ داخل نفس الشركة.
لماذا انتقلتُ إلى الإدارة؟ هناك أسباب قليلة قد تدفع المبرمج الشغوف للانتقال إلى الإدارة، وأجزم بأنّنا إذا كنّا نعاني من شحّ في عدد المبرمجين، فإنّ عدد الإداريين التقنيين أقلّ بكثير مّما يحتاجه العالم، ينظر العديد إلى الإدارة على أنّها الوجه المضاد للبرمجة، يرغب المبرمجون في إيجاد حلول خلاّقة وفي أخذ كلّ الوقت من أجل تسمية متغيّر برمجي أو تصميم جدول البيانات الأكثر كفاءة، وترغب الإدارة في نجاح المنتج وإطلاق المزيد من المميزات مهما كان الثمن، تبدو الإدارة بيروقراطيّة مثقلة بالتعقيدات والممارسات القديمة الّتي عفى عنها الزمن، وتبدو البرمجة نشطة وحيويّة قابلة للتغيير باستمرار، هذا صراع مشهور يمكن أن تحسّ به في أكثر نكات المبرمجين انتشارًا.
لم أرغب بالانتقال إلى الإدارة، لم أفكّر بها مطلقًا، لكنّني بعد ٦ سنوات من العمل المنفرد وجدتُ نفسي وبإلحاح راغبة في إحداث تغيير من حولي، كنتُ أؤمن بأنّني تعلّمتُ الكثير خلال سنوات عملي وأردت أن أنقل ما تعلّمته لغيري، في ذلك الوقت كنتُ واثقة من مهاراتي البرمجية أكثر من اللازم، كان لديّ كلّ الوقت لإعادة تقييم وكتابة أكوادي البرمجيّة وتعلّمت الكثير من هذا، وكنتُ مهتمّة جدًا بالممارسات الاحترافية في البرمجة، رغبتُ أن أساعد السوق المحلّي على تبنّي هذه الممارسات.
كانت لديّ قائمة أمنيات بالمهام الّتي أرغب بتولّيها، لم أطلق عليها لقب إدارة، لكنّني كلما بحثتُ واستفسرتُ عن المسؤول عن أداء هذه المهام كنتُ أجدُ هذه الإجابة باستمرار engineering manager.
بدأتُ بقراءة كتب ومقالات وتدوينات عن "الإدارة التقنيّة"، ناقشتُ زوجي كثيرًا حولها، ثمّ قرّرتُ بأنّ هذه هي خطوتي المهنيّة القادمة، وفعلتُ تمامًا مثلما تحدّثنا الدراسات الاحصائيّة حول انتقال النّساء إلى الإدارة التقنية، إننّا ننتقل ولسبب ما إلى شركات أخرى عند رغبتنا بتجربة الإدارة بدلاً من تغيير المسار المهنيّ داخل نفس الشركة.
أكتب هذا المقال بالعربيّة لأنّ المحتوى العربي المنشور حول الإدارة التقنيّة يكاد يكون معدومًا رغم أهميته، حتّى أنّني لا أعرف ترجمة معتمدة لوظيفة engineering manager، ومن النادر جدًا أن يفهم المستمع ما الّذي أعنيه بهذه الكلمة.
تتلخّص مهمّة المدير التقنيّ في متابعة أداء الفريق، ومن المشهور جدًا أن يُقال في وصف هذا المجال: أن تقيس إنتاجيتك بإنتاجية فريقك، كلما ارتفعت إنتاجيتهم كلّما ارتفعت إنتاجيتك ، أي أنّ المدير التقني لو اختار أداء مهام برمجية مباشرة لأنّها أكثر رضًا له وأسرع في كسب النتائج على حساب دفع وتطوير وتنظيم الفريق فإنّه يكون مديرًا فاشلاً مهما كان مستواه التقنيّ عاليًا.
وهذا يقودني إلى الحديث حول إحدى أسوأ الممارسات المحلّية عند اختيار مدير برمجي، وهي اختيار الأكثر تفوقًا في المجال التقنيّ، والاعتقاد بأنّ انتقال المبرمج إلى الإدارة هو ترقية وظيفية له، بينما واقعيًا وعمليًا هي انتقال إلى مسار وظيفي جديد يتطلّب نوعًا مختلفًا من المهارات مثل: مهارات التواصل، اتخاذ القرارات، الذكاء العاطفي، تقييم الآخرين، الحسم وسرعة التصرّف .. وهي مهام ليس بالضرورة أن تتوفّر في أكثر المبرمجين براعة.
تختلف الهيكليّة الإدارية في الفرق البرمجية من شركة لأخرى، وتختلف كذلك المهام المسندة إلى الإدرايين حسب أولوية ووضع كلّ شركة، في زد هذه هي المهام الّتي "أحاول" التركيز عليها كمدير لفريق تقنيّ :
قد تكون هذه العوائق متعلّقة بالـ process الحالي أو بعدد أعضاء الفريق المحدود، أو بعدم توازن توزيع المهام، أو بضعف الأدوات التقنية المستخدمة في التطوير، أو بثقافة العمل الخاطئة المتجذرة لدى بعض المبرمجين، عشرات المعيقات الّتي سوف تصادفها يوميًا وسوف تتعامل معها باهتمام وتركيز بالغين.
أحيانًا سوف تضطر للتنازل عن أمور كثيرة من أجل التقليل من تأثير هذه المعيقات، سوف تؤدّي أكثر المهام مللاً وسوف تضاعف ساعات عملك من أجل أن يستمرّ الفريق في أداء مهامه بشكل فعّال، التحدّي قد يكون في منع نفسك من الإسراف في هذا لأنّ العمل وسط المعيقات هو تجربة ينبغي أن يمرّ بها المبرمج ويتعلّم كيف يديرها أيضًا، لا يوجد مبرمج يعمل في ظروف مثالية.
يعجز البعض عن تخيّل تقييم ومتابعة بدون إجراءات بيروقراطية وبدون إدارة تفصيليّة للأفراد، لكن هناك العديد من الاستراتيجيات لتقييم الأفراد بطريقة فعّالة دون وضعهم تحت المجهر، وببساطة المدير التقني الّذي يهتم لفريقه ويتواصل معهم بكفاءة لا يعجزه تقييمهم.
قد "أتحدّث" عن هذه الاستراتيجيات في مقالة لاحقة.
التعليقات المباشرة المختصرة البنّاءة لها تأثير جيّد ولا تظهر حتى بمظهر "التوجيه" والملامة، التعليقات المتأخّرة نحفّز الأطراف الأخرى على الدفاع مهما كانت نيّتك حسنة.
تتلخّص مهمّة المدير التقنيّ في متابعة أداء الفريق، ومن المشهور جدًا أن يُقال في وصف هذا المجال: أن تقيس إنتاجيتك بإنتاجية فريقك، كلما ارتفعت إنتاجيتهم كلّما ارتفعت إنتاجيتك ، أي أنّ المدير التقني لو اختار أداء مهام برمجية مباشرة لأنّها أكثر رضًا له وأسرع في كسب النتائج على حساب دفع وتطوير وتنظيم الفريق فإنّه يكون مديرًا فاشلاً مهما كان مستواه التقنيّ عاليًا.
وهذا يقودني إلى الحديث حول إحدى أسوأ الممارسات المحلّية عند اختيار مدير برمجي، وهي اختيار الأكثر تفوقًا في المجال التقنيّ، والاعتقاد بأنّ انتقال المبرمج إلى الإدارة هو ترقية وظيفية له، بينما واقعيًا وعمليًا هي انتقال إلى مسار وظيفي جديد يتطلّب نوعًا مختلفًا من المهارات مثل: مهارات التواصل، اتخاذ القرارات، الذكاء العاطفي، تقييم الآخرين، الحسم وسرعة التصرّف .. وهي مهام ليس بالضرورة أن تتوفّر في أكثر المبرمجين براعة.
المهام المسنودة لمدير تقنيّ في زد
تختلف الهيكليّة الإدارية في الفرق البرمجية من شركة لأخرى، وتختلف كذلك المهام المسندة إلى الإدرايين حسب أولوية ووضع كلّ شركة، في زد هذه هي المهام الّتي "أحاول" التركيز عليها كمدير لفريق تقنيّ :
١. إزاحة ما يعيق إنتاجية الفريق
سوف تكون هناك عوائق دائمة أمام فريقك تمنعهم من أداء مهامهم بشكل مناسب، إنّ أوّل وأقدس مهامك هو أن تبذل كلّ جهدك في فهم وتحليل هذه العوائق ومن ثمّ إزاحتها، هذه العملية ليست سريعة ولا تتمّ في ليلة وضحاها بل قد تستغرق أشهرًا، وهي جزء أصيل من مهامك اليومية.قد تكون هذه العوائق متعلّقة بالـ process الحالي أو بعدد أعضاء الفريق المحدود، أو بعدم توازن توزيع المهام، أو بضعف الأدوات التقنية المستخدمة في التطوير، أو بثقافة العمل الخاطئة المتجذرة لدى بعض المبرمجين، عشرات المعيقات الّتي سوف تصادفها يوميًا وسوف تتعامل معها باهتمام وتركيز بالغين.
أحيانًا سوف تضطر للتنازل عن أمور كثيرة من أجل التقليل من تأثير هذه المعيقات، سوف تؤدّي أكثر المهام مللاً وسوف تضاعف ساعات عملك من أجل أن يستمرّ الفريق في أداء مهامه بشكل فعّال، التحدّي قد يكون في منع نفسك من الإسراف في هذا لأنّ العمل وسط المعيقات هو تجربة ينبغي أن يمرّ بها المبرمج ويتعلّم كيف يديرها أيضًا، لا يوجد مبرمج يعمل في ظروف مثالية.
٢. التوظيف
المدير الجيّد هو الّذي ينجح في توظيف الأشخاص الأكثر جدارة منه في مجالاتهم، وهو الّذي ينجح كذلك في توزيع مهامهم حتّى لو لم يدرك تفاصيلها ١٠٠٪، في الواقع، قد ينتابك شعور مستمرّ ملحّ بفهم كلّ صغيرة وكبيرة في فريقك، قد تشعر بأن المسافة المعرفية بينك وبينهم محبطة وقد يفقدك هذا ثقتك بنفسك، حاول إدارة هذا الإلحاح، من الضروري أحيانًا أن تفهم التفاصيل التقنية خصوصًا حين يواجه الفريق مشاكل عديدة، لكن في الأحوال العاديّة، من الطبيعي جدًا جدًا أن تفوتك التفاصيل، عليك التصالح مع هذه الحقيقة والانسجام معها، وإذا فشلت في ذلك فهذا يعني بأنّك لا تثق في فريقك كفاية - وهذا مؤشّر سيء - أو أنّك لم تدرّب مهاراتك الإدارية بشكل كاف بعد.٣. التقييم
تبدو كلمة التقييم ثقيلة ومملّة، وهي تذكّرك بكل النماذج والخانات الّتي نحتاج لتعبئتها لتقييم موظف ما، أعترف بأنّني جرّبتُ هذه الطريقة وكرهتها ولم تناسبني أبدًا، القشّة الّتي دفعتني للتخلّي عنها كانت اللحظة الّتي قال فيها مبرمج في جلسة تقييم شبه شهرية : لماذا لم تقولي لي كلّ هذا مبكرًا؟يعجز البعض عن تخيّل تقييم ومتابعة بدون إجراءات بيروقراطية وبدون إدارة تفصيليّة للأفراد، لكن هناك العديد من الاستراتيجيات لتقييم الأفراد بطريقة فعّالة دون وضعهم تحت المجهر، وببساطة المدير التقني الّذي يهتم لفريقه ويتواصل معهم بكفاءة لا يعجزه تقييمهم.
قد "أتحدّث" عن هذه الاستراتيجيات في مقالة لاحقة.
٤. التوجيه
لن تكون أبرع أعضاء الفريق في كتابة جمل SQL مثلاً، ولكنّ مسؤوليتك هي في معرفة من هو المبرمج الّذي يحتاج إلى تطوير نفسه في كتابتها، ينطبق هذا على المهارات غير التقنية أيضًا، من المهم جدًا أن تتابع فريقك باستمرار لمعرفة المهارات غير التقنية الّتي تنقصهم ومن المهم أن تعرف كيف ومتى تطلب التطوير منهم، لقد تعلّمتُ بأنّ التنبيه الأبكر هو التنبيه الأفضل، أي تأجيل للتعليقات يحمّلها بدراما أنت في غنى عنها.التعليقات المباشرة المختصرة البنّاءة لها تأثير جيّد ولا تظهر حتى بمظهر "التوجيه" والملامة، التعليقات المتأخّرة نحفّز الأطراف الأخرى على الدفاع مهما كانت نيّتك حسنة.
علم الإدارة التقنيّة هو علم حديث نُشرت حوله عشرات الكتب والمقالات والمحتويات الصوتيّة والمرئيّة، يتداخل مع إدارة المشاريع والإدارة البشرية ويحتوي العديد من المفاهيم والأفكار الإبداعية، قلّ أن نجد مهتمّين به في العالم العربي لأسباب يطول تعدادها.
هذه مقالة أوّلية للتعريف بدوره وأهميّته، سوف تلحقها مقالات أخرى أكثر تفصيلاً إن شاء الله.
هذه مقالة أوّلية للتعريف بدوره وأهميّته، سوف تلحقها مقالات أخرى أكثر تفصيلاً إن شاء الله.