explanatory image about best tools for developers

8 أدوات لا غنى عنها للمبرمج المبتدئ

زمن القراءة: 9 دقائق

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

أهم 8 أدوات للمبرمج المبتدئ

1- محرر النصوص المناسب

توجد أدوات أساسية للغاية ليتمكن المبرمج من البَدْء في كتابة الكود، لا يخفى عليك أن الأدوات تتفاوت فمنها البسيط ومنها المعقد، منها المجاني والمدفوع، أؤكد لك أنك تستطيع كتابة الكود بأبسط أداة ممكنة وبدون أي تكاليف باستخدام محرر النصوص الأساسي في نظامك، سواء كان نظام ويندوز أو نظام لينكس أو حتى ماك قد يكون محرر النظام الأساسي كافي للبدء، لكن يوجد أنواع أخرى من المُحررات توفر لك نفس الذي يوفره محرر النصوص الأساسي في النظام مع الكثير من المميزات الأخرى الذي لا يكفي المقال لحصرها، مثل محرر نصوص أو بيئة عمل VS Code المقدم من مايكروسوفت.

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

أحصائية تصف محرر النصوص الأكثر تحميلًا

المصدر: pypl

2- أداة لتخزين ومشاركة وإدارة الأكواد

explanatory image about Git & GitHub

لربما سمعت كثيرًا عن جيتهاب (Github)، أو جيت (Git) من قِبل المطورين الأكثر خبره منك، وربما لا تشعر أن الأمر مهمًا من الأساس، لكن تخيل معي الآن لو أنك تعمل في فريق مكون من 3 أشخاص، وتكتبون كود أحد المشاريع وتتقاسمون المهمات بينكم ولكل شخص جزء من المشروع عليه إنهائه في نفس الوقت، كيف تتخيل أن تتم المهمة؟ هل ستقوم بنقل الكود كامل بأخر تحديث من زملائك كل مرة أردت أن تعمل على مهمتك؟ وماذا لو حدث أي تداخل بين نسخ المشروع بينكم؟

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

كل ما عليك فعله أنت والفريق: 

أن تُنشأ مستودع (بشكل مجاني الكامل) على أحد مواقع تقنية الجيت، على سبيل المثال جيتهاب المقدم من مايكروسوفت.

يشارك صاحب المستودع صلاحيات الوصول للكود لكل أعضاء الفريق وبالتأكيد عليكم إنشاء حسابات على الموقع لتتمكن من الوصول للكود.

يقوم كل فرد بتحميل النسخة الحالية من الكود على جهازه (حتى الآن لا يوجد أي فارق بين الطريقتين يقوم الجيتهاب بتسجيل كل تعديل يقوم به كل فرد باسمه في عملية منفصلة (commit).

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

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

أليس الأمر الآن أكثر سهولة من ذي قبل؟ لا بأس إن كنت لا تفهم كل كلمة تم ذكرها في الحل، كل ما عليك هو تعلم كيف تستخدم الجيت من موقعهم الرسمي، وستجد الأمور تتضح مع الوقت والممارسة، دعني أذكر لك الآن أهم ميزتين للجيت عمومًا، وهما:

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

ووفقًا لإحصائية The State of Developer Ecosystem فإن 80% من المطورين أهم أداة يستخدمونها بشكل منتظم هي أدوات إدارة العمل على الكود (الجيت بشكل أساسي، وغيرها).

أحصائية تصف الأدوات الأكثر استخداماً للمبرمج

3- إضافات سحرية للمتصفح.

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

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

إضافة Web Developer

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

اضافة WhatFont

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

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

إضافة Window Resizer For Developer

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

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

4- الموجة أو المُرشِد.

explanatory image about a mentor

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

5- مكان مناسب للحصول على حلول لمعظم مشاكلك.

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

6- الصبر و الاستمرارية.

ربما تشعر الآن بالتعجب لماذا أضع الصبر والاستمرارية كواحدة من أهم الأدوات للمبرمج! حسنًا لنشرح ذلك.

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

  • تريد أن تتعلم الطهي؟ عليك أن تتحلى بالصبر وتمارسه باستمرار.

  • تريد أن تحافظ على نظافة غرفتك؟ تحلى بالصبر ونظفها يوميًا (باستمرار).

  • تريد أن تقرأ الكتب؟ تحلى بالصبر لإتمام الكتاب الذي تقرأه، ومارس القراءة يوميًا (باستمرار).

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

لتحافظ على الاستمرارية في عمل ذلك، عليك بتحديد أمرين، متى ستبدأ؟ ومتى ستتوقف؟ 

كلما كانت إجابة هذين السؤالين واضحة كلما كانت الاستمرارية ممكنة، حتى إنه يمكنك توقع ما إن كنت ستتعلم هذا الأمر أم لا بقياس مدى جديتك في إجابة هذين السؤالين، وتوفير الوقت الكافي لممارسة التعلم، ولا يتوقف ذلك على مشاهدة الدروس وحسب، بل وقراءة المقالات كما تفعل الآن، وسماع التسجيلات الصوتية (البودكاست) أو التواصل مع مجتمعات المبرمجين، مثل مجتمع المدرسة على سبيل المثال، تحتاج في كل يوم أو كل أسبوع على الأقل أن تحدد شيئين:

  • وقت المذاكرة متى يبدأ؟ ومتى ينتهي؟
  • وقت الاستراحات.

نوصيك باستخدام نظام البومودورو (Pomodoro)، وهو نظام يوصي بالمذاكرة لمدة 25 دقيقة والراحة لمدة 5د ولمدة 20د كل أربع جلسات.

7- الإخلاص والتفاني.

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

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

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

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

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

8- بيئة العمل الأساسية.

تؤثر بيئة العمل بشكل كبير في قدرتك على الإنتاج وإنهاء عملك، فمثلًا بيئة العمل المليئة بالضوضاء والمشتتات لا تشجع على التركيز.

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

يستخدم المبرمج هذه الأدوات بشكل أساسي:

  • محرر النصوص
  • موقع لتخزين ومشاركة الأكواد (Github)
  • إضافات المتصفح مثل إضافة Web Developer

أي جهاز قادر على فتح المتصفح وقراءة المقالات كافيًا للبدء في ممارسة وتعلم البرمجة.

مقالات ذات صلة

5 تحديات يواجهها المبرمج المبتدئ في الحصول على وظيفته الأولى

زمن القراءة: 8 دقائق بصفتك مبرمجًا مبتدئًا، قد تواجه العديد من التحديات والصعوبات عند محاولة العثور على وظيفتك الأولى. فقلة الخبرة، وعدم امتلاك المهارات اللازمة، وغيرها من العوامل الأخرى…

اشترك
نبّهني عن
5 تعليقات
أقدم
أحدث الأكثر تصويتا
Inline Feedbacks
عرض جميع التعليقات