جويل سبولسكي: مستوى التجريد للمطورين

صورة

11 أبريل 2006

وصول شاب إلى المدينة. يبدو جيدًا ولديه بعض المال في جيبه ، فمن السهل عليه العثور على لغة مشتركة مع النساء.

يتحدث القليل عن ماضيه ، ولكن من الواضح أنه قضى الكثير من الوقت في شركة كبيرة بلا روح.

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

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

ويجلس لكتابة التعليمات البرمجية.

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

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

في الشهر الثاني ، لم تعد الطلبات تصل.

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

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

ذات صباح ، رفض بائع محلي تمديد ديونه ، ولم يصرخ مصرفه الهاتف لفترة طويلة.

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

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

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

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

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

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

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

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

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

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

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

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

كفى

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

في شركة البرمجيات ، يجب أن تكون الأولوية الأولى للإدارة لإنشاء هذا التجريد للمبرمجين.

إذا كان أحد المبرمجين قلقًا بشأن كرسي مكسور أو ينتظر استجابة من Dell لطلب جهاز كمبيوتر جديد ، فقد تسرب التجريد.

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

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

يحتاج المبرمجون إلى مستودع تخريب. الحصول على مستودع Subversion يعني أنك بحاجة إلى شبكة وخادم يجب شراؤها وتثبيتها وحجزها وتزويدها بطاقة غير منقطعة ، وأن الخادم يولد الكثير من الحرارة وأنه يجب أن يكون في غرفة مزودة بتكييف هواء إضافي ، وأن مكيف الهواء يجب أن يكون له وصول إلى الخارج المباني ، وهو ما يعني تثبيت وحدة مروحة بوزن 80 رطلاً على الحائط خارج المبنى ، مما يجعل أصحاب المبنى متوترين ، لذلك يحتاجون إلى إحضار منشئهم للاتفاق على مكان تركيب وحدة تكييف الهواء (الحل): (على الجدار الخارجي ، هنا ، في 18 الكلمة ، في أكثر الأماكن غير المريحة) ، ويتصل أصحابها بمحاميهم ، لأنه يجب علينا تسجيل الدخول للسماح لنا بذلك ، ومن ثم يظهر رجال تركيب أجهزة تكييف الهواء مع التلاعب ،وهو غير ملائم ، مما يجعل رئيس العمال متوترًا ، ولا يسمح لهم بالخروج من نافذة الطابق الثامن عشر في حزام ماتيل مصنوع من البلاستيك الوردي 1/2، ، أقسم بالله ، يمكن أن يكون حزام باربي ديسكو ، ويجب على شخص ما الاتصال بعامل البناء مرة أخرى وكيل ومعرفة ما الجحيم أدركوا فجأة بعد 12 أسبوعًا في مشروع البناء أنهم سيحتاجون إلى تعديل آخر للعقد الخاص بمكيف الهواء اللعين هذا ، والذي عرفوه قبل عيد الميلاد ، وخمنوا فقط أنه إذا قضى المبرمجون دقيقة واحدة على الأقل في التفكير حول هذا ، فهذا بالفعل كثير جدا.ماذا فعلوا فجأة بعد 12 أسبوعًا في مشروع البناء أنهم بحاجة إلى تعديل آخر للعقد الخاص بمكيف الهواء اللعين هذا ، والذي عرفوا عنه قبل عيد الميلاد ، وخمنوا فقط أنه إذا قضى المبرمجون دقيقة واحدة على الأقل في التفكير فيه ، هذا بالفعل أكثر من اللازم.ماذا فعلوا فجأة بعد 12 أسبوعًا في مشروع البناء أنهم بحاجة إلى تعديل آخر للعقد الخاص بمكيف الهواء اللعين هذا ، والذي عرفوا عنه قبل عيد الميلاد ، وخمنوا فقط أنه إذا قضى المبرمجون دقيقة واحدة على الأقل في التفكير فيه ، هذا بالفعل أكثر من اللازم.

بالنسبة إلى مطوري البرامج في فريقك ، يجب تلخيص كل ذلك ، مثل إدخال التزام svn في سطر الأوامر.

لهذا السبب يجب أن يكون لديك إدارة.

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

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

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

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

المبرمج هو الأكثر إنتاجية مع حساب شخصي هادئ ، كمبيوتر ممتاز ، عدد غير محدود من المشروبات ، درجة حرارة محيطة تتراوح من 20 إلى 23 درجة مئوية ، لا وهج على الشاشة ، كرسي مريح للغاية لا تشعر به ، مسؤول يحضر أدلة البريد ويطلب والكتب ، من قبل مسؤول النظام الذي يجعل الإنترنت يمكن الوصول إليه مثل الأكسجين ، ومختبر للعثور على الأخطاء التي لا يمكنهم رؤيتها ببساطة ، ومصمم غرافيكي لجعل شاشاتهم جميلة ، وفريق من المسوقين ، بحيث تريد الجماهير الحصول على منتجاتهم ، وفريق من البائعين للتأكد من أن الجماهير يمكنها الحصول على هذه المنتجات ، الدعم الفني ، الذي يساعد العملاء على تشغيل المنتج ويساعد المبرمجين على فهم المشاكل التي تسبب مكالمات الدعم الفني ،وحوالي اثنتي عشرة وظيفة أخرى للدعم والإدارة ، والتي تضيف ما يصل إلى 80٪ من الراتب في شركة نموذجية. ليس من قبيل المصادفة أن الجيش الروماني كان لديه نسبة أربعة خدم لكل جندي. لم يكن هذا الانحطاط. ربما تعمل الجيوش الحديثة بنسبة 7: 1. (هذا ما علمني إياه براديب سينغ اليوم: إذا كان 20٪ فقط من موظفيك مبرمجين ، فيمكنك توفير 50٪ من الرواتب عن طريق الاستعانة بمصادر خارجية إلى الهند ، ما مقدار الميزة التنافسية التي تحصل عليها بالفعل من هذا التوفير البالغ 10٪؟ )(هذا ما علمني إياه براديب سينغ اليوم: إذا كان 20٪ فقط من موظفيك مبرمجين ، يمكنك توفير 50٪ من الرواتب عن طريق الاستعانة بمصادر خارجية إلى الهند ، ثم كم ميزة تنافسية تحصل عليها بالفعل من هذا التوفير البالغ 10٪؟ )(هذا ما علمني إياه براديب سينغ اليوم: إذا كان 20٪ فقط من موظفيك مبرمجين ، يمكنك توفير 50٪ من الرواتب عن طريق الاستعانة بمصادر خارجية إلى الهند ، ثم كم ميزة تنافسية تحصل عليها بالفعل من هذا التوفير البالغ 10٪؟ )

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

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

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




صورة
تعرف على تفاصيل كيفية الحصول على مهنة مرغوبة من الصفر أو المستوى الأعلى في المهارات والراتب من خلال الحصول على دورات SkillFactory عبر الإنترنت:




All Articles