دور مطور المكدس الكامل في المشاريع الكبيرة

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

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

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

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

المفاهيم الخاطئة

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

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

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

أو

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

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

Full Stack = Bass Player؟!؟

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

“لاعب الباس يشبه إلى حد ما الهاون بين الطوب.” (ديفيد إلفسون ، ميغاديث)

هل سبق لك أن رأيت فرقة روك جيدة ذات عازف جهير سيئ؟ أو ما هو أسوأ ، فرقة روك تحترم نفسها ولا يوجد عازف جهير على الإطلاق؟ لا؟ حسنًا ، هناك عدة أسباب وجيهة لذلك:

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

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

العودة إلى الفريق

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

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

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

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

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

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

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

إخلاء المسؤولية: أنا مطور مكدس كامل وعازف جيتار باس ?

تظهر هذه المشاركة أيضًا في مدونتي