كامل كومة الاعتراف: المهنة والدين والأحلام

مرحبًا ، اسمي Pavel وأنا ممتلئ في تصفيق Mad Devs *.

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

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

كما قلت من قبل ، اسمي Pavel ، سيكون قريباً 7 سنوات منذ أن حصلت على المال من أجل البرمجة. وطوال هذه الفترة ، اتصلت بنفسي في السيرة الذاتية ، في المقابلات وفي أماكن أخرى: مطور Backend مع المعرفة والمهارات في Frontend و DevOps . بشكل أو بآخر ، في مهنة مهنية ، كان يعمل غالبًا كخلفية في المشاريع ، لكنه لم يكن خائفًا أبدًا من الواجهة أو العمليات. لذلك ، أضاف بفخر هذين المجالين لوصفه. صحيح ، مع وصول Mad Devs ، وبعد أن عملت في أحد المشاريع مع فريق MadOps الخاص بنا ، أزلت DevOps من الوصف الخاص بي ، لأنني الآن أعتقد أنني لا أفهمها على الإطلاق. كل شيء في المقارنة معروف ، كما تعلم. آمل أن أعمل ذات يوم مع نفس المتخصصين في الواجهة الأمامية الذين "سوف يقنعونني" بإزالة الحاشية الأمامية. الشيء الرئيسي هو عدم مقابلة خلفية ، والتي سوف تجبرك على إزالة الخلفية من السيرة الذاتية ، وإلا فلن يتبقى شيء.

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

وأشعر بالمشاكل:
  • أشعر أنه يمكن كتابة هذه التعليمة البرمجية على الذهاب بشكل أفضل ، وأنها ستعمل بشكل أسرع أو تستخدم موارد نظام أقل ؛
  • أشعر أن تكوين webpack الخاص بي يمكن تهيئته بشكل أفضل ، فهناك الكثير من القمامة فيه ؛
  • أشعر أنه يمكن القيام بهذا التنسيق باستخدام ميزات CSS أو SCSS الحديثة أو استخدام PostCSS أو امتدادات أخرى ؛
  • أشعر أنه يمكن تحسين الكود الموجود على القضبان بحيث يتم إجراء استعلامات أقل في قاعدة البيانات ، على سبيل المثال ؛
  • أشعر أن فهارس تحتاج إلى تكوين إنساني في قاعدة البيانات ؛
  • أشعر أنه يلزم إعادة كتابة ملف Dockerfile بحيث يكون عدد الطبقات (أو أكثر) أقل ؛
  • وهلم جرا ، وهلم جرا ، وهلم جرا ...


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

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

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

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


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

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

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

أنا سعيد لأنني مكدس ، لأن هذا هو العمل الذي أحبه ، والذي لا أمانع في القيام به في عطلة نهاية الأسبوع ، والذي أقوم به بسرور.

Source: https://habr.com/ru/post/ar446040/


All Articles