JavaRush /مدونة جافا /Random-AR /كل من السويدي وريبر. من هو مطور Full Stack وكيف تصبح واحد...

كل من السويدي وريبر. من هو مطور Full Stack وكيف تصبح واحدًا؟

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

"مطور المكدس الكامل هو معالج تقني يعرف جميع لغات وتقنيات البرمجة، كما أنه يغني ويرقص بشكل جميل."

إيان بيترز كامبل هو
مطور ذو خبرة ومؤسس لشركة البرمجيات Stickbuilt.

من هو مطور Full Stack؟

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

لماذا هذا الموضوع مثير للجدل إلى هذا الحد؟

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

الركائز الأربع لتطوير المكدس الكامل

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

    عادةً ما تشير الواجهة الأمامية إلى تقنيات تطوير الويب ولغات البرمجة مثل HTML وCSS وJavaScript. ويتضمن أيضًا أطر عمل JavaScript مثل React، وجميع التقنيات الأخرى المتعلقة بالجانب "العميل" من المنتج.

    من أين تبدأ الدراسة:

    يمكنك البدء باستخدام إطارات عمل Create React App أو Gatsby ، والتي من السهل جدًا إنشاء تطبيق React متكامل بها. إنها فكرة جيدة أن تتعلم معالجات CSS الأولية وأدوات CSS الأساسية مثل CSS-in-JS وأدوات مثل Sass .

  2. تطوير الواجهة الخلفية.

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

    من أين تبدأ الدراسة:

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

    Также для того, чтобы иметь максимально полную квалификацию в бэкенде, рекомендуется, помимо Java, постепенно осваивать такие языки программирования, How Python (в первую очередь), PHP и Ruby.

  3. Проджект-менеджмент.

    От проджект-менеджера, если вкратце, требуется управлять проектом, что включает множество задач, среди которых взаимодействие с клиентами, коллегами, сторонними подрядчиками и т.д. Словом все, что нужно для успешной реализации проекта. Сюда также входит планирование, принятие стратегических решений по работе над продуктом и т.д.

    С чего начать изучение:

    Для успешного развития в качестве проджект-менеджера не помешает изучить наиболее популярные инструменты в этой сфере. Основными можно назвать: GanttPRO (сервис для планирования и управления проектами с помощью диаграммы Ганта), Jira Software (популярная система для планирования и отслеживания agile-проектов), LiquidPlanner (инструмент для проджект-менеджмента в реальном времени), Basecamp (еще одна система управления проектами и совместной работы) и т.д.

  4. DevOps.

    Ну и, наконец, четвертым столпом фуллстек-девелопмента является знание DevOps. Обязанности DevOps-а могут сильно отличаться в зависимости от проекта, но How правило к ним относится все, что касается запуска программного codeа в продакшн, включая, например, настройку serverов, на которых будет функционировать приложение, и обеспечение слаженной работы специалистов команды вместе с техническими решениями, которые они используют.

    С чего начать изучение:

    Сфера DevOps также включает в себя довольно много всяких инструментов. Вот те, с изучения которых имеет смысл начинать: инструменты управления исходным codeом (GitLab, GitHub, Bitbucket), CI/CD-инструменты (Ansible, Jenkins, Chef), тулзы для коммуникации и коллаборации (Slack и Microsoft Teams), а также сервисы облачных вычислений и хранения данных (AWS, Azure и GCP).

    كل من السويدي وريبر.  من هو مطور Full Stack وكيف تصبح واحدًا؟  - 5

    Помимо вышеперечисленных четырех базовых составляющих “полного стека,” он не был бы действительно полным, если бы не включал в себя также мобильную разработку, базы данных и QA автоматизацию — истинный Full Stack разработчик разбирается и в этих технологиях тоже.

Зарплаты Full Stack разработчиков

أما بالنسبة لرواتب مطوري المكدس الكامل، فهي ليست أعلى بكثير في المتوسط ​​من زملائهم ذوي التخصص الأكثر تحديدًا في التطوير. في الولايات المتحدة، يبلغ متوسط ​​​​راتب مطوري البرامج الكاملة حوالي 75 ألف دولار سنويًا، وفقًا لـ PayScale . وفي الوقت نفسه، يبلغ الحد الأدنى للرواتب (للمبرمجين في الوظائف الكاملة) حوالي 46 ألف دولار سنويًا، والحد الأقصى حوالي 114 ألف دولار سنويًا. أما بالنسبة لدول الاتحاد السوفييتي السابق، ففي أوكرانيا، وفقًا لمورد Work.ua ، يبلغ متوسط ​​​​راتب مطوري المكدس الكامل 35 ألف هريفنيا (حوالي 1300 دولار) شهريًا، بينما في كييف يبلغ 45 ألف (حوالي 1650 دولارًا). وفي روسيا، وفقًا لهذه البيانات، تتراوح رواتب المطورين الشاملين، في المتوسط، من 40 ألف روبل (530 دولارًا) إلى 150 ألف روبل. (2000 دولار). إذا تحدثنا عن المتوسط ​​بالنسبة للعالم ككل، فإن المتخصصين الذين يعملون في المنصب الذي نفكر فيه اليوم يكسبون حوالي 45 ألف دولار سنويًا. وفي أوروبا، يحصل مطورو المكدس الكامل على أعلى الرواتب في الدنمارك والسويد. كل من السويدي وريبر.  من هو مطور Full Stack وكيف تصبح واحدًا؟  - 6

كيف تصبح مطور Full Stack؟

الآن دعنا نتناول بإيجاز المهارات والقدرات والتقنيات التي تحتاج إلى إتقانها لكي تطلق على نفسك لقب مطور المكدس الكامل بثقة تامة ودون أي تلميح للسخرية.
  1. لغات البرمجة.

    يجب أن يتقن مطور المكدس الكامل العديد من لغات البرمجة. بادئ ذي بدء، بالطبع، هناك العناصر الرئيسية: Java وPHP وC# وPython وRuby وPerl وما إلى ذلك. باختصار، تلك اللغات الأكثر شيوعًا والتي من المرجح أن تتم بها كتابة العمليات التجارية الرئيسية للمنتج. وبطبيعة الحال، سيكون من الصعب للغاية تعلم مجموعة كاملة من هذه اللغات بشكل مثالي. لكنك تحتاج على الأقل إلى إتقان قواعد اللغة التي ستلعب دورًا مهمًا في التطوير، كما تحتاج أيضًا إلى معرفة جيدة بكيفية هيكلة وتصميم وتنفيذ واختبار مشروع يعتمد على لغة واحدة أو أكثر.

  2. الأطر ومكتبات التعليمات البرمجية.

    حسنًا، تتضمن المعرفة الجيدة بلغات البرمجة الرئيسية في معظم الحالات القدرة على استخدام أطر العمل والمكتبات الشائعة، مثل Java Spring وHibernate وPython Django وPHP thinkphp وMyBatis وغيرها.

  3. تقنيات الواجهة الأمامية.

    تعد أهمية المعرفة بتقنيات الواجهة الأمامية لمطوري البرامج المتكاملة كبيرة أيضًا، وتزداد بمرور الوقت. اليوم، عندما تصبح الراحة و"الغلاف" العام للمنتج لا يقل أهمية عن الوظيفة، فإن جزءًا كبيرًا من النجاح الشامل للمشروع يقع على عاتق الواجهة الأمامية. للحصول على Full stack، تحتاج على الأقل إلى معرفة تقنيات الواجهة الأمامية الأساسية، أي HTML5 وCSS3 وJavaScript، بالإضافة إلى إتقان أطر عمل ومكتبات الواجهة الأمامية الرئيسية، وهي JQuery وLESS وSASS وAngularJS وما سبق ذكره. تتفاعل.

  4. قاعدة البيانات.

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

  5. الإدارة والمهارات الناعمة.

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

  6. المعرفة الأساسية بالتصميم.

    وأخيرًا، فإن معرفة التصميم، وتحديدًا تصميم UX/UI، وإن كان على المستوى الأساسي، تقع أيضًا ضمن اختصاص مطور المكدس الكامل.

    بالمناسبة، إليك خريطة طريق جيدة الإعداد ومصممة لعرض مجموعة متنوعة من التقنيات المذكورة أعلاه بيانيًا.

الاستنتاجات والآفاق

كما يمكنك أن تستنتج من كل ما سبق، لكي تصبح مطورًا متكاملًا وربما حتى مطورًا قياسيًا متكاملاً، سيتعين عليك قضاء الكثير من الوقت والجهد. ومع ذلك، فإن الممارسة المستمرة والمنتظمة تسمح لك بإتقان تخصصات أكثر تعقيدًا بمرور الوقت. الشيء الرئيسي هو فهم إلى أين تذهب، والعمل على المهارات الأساسية وعدم التوقف عن التعلم الذاتي. ولكن ما إذا كنت بحاجة إلى بذل مثل هذه الجهود لتصبح مطورًا ناجحًا للمكدس الكامل، فهذا سؤال آخر. إذا تحدثنا عن مزايا وعيوب هذا العمل، فإن العيوب واضحة - تحتاج إلى دراسة الكثير وفهم الكثير من الأشياء المختلفة. الإيجابيات أكثر تعقيدا. عادة ما يكون لدى مطور المكدس الكامل الفرصة ليكون له تأثير أكبر على المشروع ككل، مقارنة بالمبرمجين المتخصصين للغاية. بالنسبة للأغلبية، يؤدي هذا إلى زيادة الرضا الوظيفي، ومرة ​​أخرى، تزدهر رائحة ChSV. في حين أن فهم النطاق الكامل للتقنيات والمهارات المطلوبة للتطوير الناجح يفتح أحيانًا إمكانيات غير محدودة حقًا. يُعتقد أن مطوري المكدس الكامل غالبًا ما يصبحون رواد أعمال ناجحين في مجال تكنولوجيا المعلومات. وبشكل عام، من المؤكد أن الشخص الذي يتمتع بمثل هذه المجموعة من المهارات لن يبقى بدون عمل ، بغض النظر عن أي أزمات.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION