لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 09/06/17 في كل الموقع
-
كيف تتعلم البرمجة هو سؤال من أشهر الأسئلة على الإنترنت التي تدور في فلك البرمجة وعلوم الحاسوب وشهرته تأتي من كون البرمجة programming من أهم المجالات وأكثرها طلبًا في وقتنا الحالي، ولا أحد ينكر أنها جزءٌ أصيلٌ مرتبط بالتقنية التي تشكل حاضرنا ومستقبلنا، فكل شيء أصبح مرتبط بالحواسيب ويحتاج الحاسوب إلى أن نخاطبه بلغته للتواصل معه وتوجيهه وتلقينه الأوامر. وبذكر الحاسوب، فقد أصبحنا محاصرين بكم كبير من الحواسيب حولنا بدءًا من هواتفنا الذكية التي هي حواسيب مصغَّرة مرورنا بآلة الغسيل وجلي الصحون وحتى الطائرات، ولنذكر أن عالمنا الآن يتجه إلى أتمتة المعلومات وحوسبة العمليات على جميع الأصعدة بطريقة سريعة وبعيدًا عن الروتين، كما يتجه إلى الاعتماد على التطبيقات الحاسوبية اعتمادًا كبيرًا وكل ذلك لا يتحقق إلا بوجود عدد كبير من المبرمجين لبرمجتها. تعد البرمجة من المهارات الرائعة صراحة إذ تمكنك من بناء تطبيقات مفيدة تحل الكثير من المشكلات الحياتية كما قد تخترع أنظمة وتقنيات مفيدة للبشرية مثل أنظمة الاتصالات وأيضًا الأنظمة البنكية وأنظمة البيع والشراء وغيرها التي سهلت حياة البشر وزادت من إنتاجيتهم وقدراتهم، فعملك كبمرمج يكسبك دومًا خبرات متجددة تزداد مع زيادة سنوات عملك كمبرمج، ولا ننسَ أن أشهر أثرياء عالمنا اليوم هم مبرمجون في الأصل. أضف إلى أن البرمجة توسع من خبرتك باطراد دائم، وتفتح لك أبوابًا لمهن مطلوبة في يومنا الحالي وبشدة أكثر من أي مهنة أخرى، لتؤمن لك دخلًا جيدًا بل وحتى حرية ومرونة في العمل أينما كنت حتى من منزلك فلا يتطلب في بعض الحالات وجود المبرمج في موقع العمل. بناءً على ما سبق، من الطبيعي أن ترى أعداد المتوافدين على باب تعلم البرمجة كبيرًا يزداد يومًا بعد يوم، وتحتاج قبل دخوله وبدء تعلم البرمجة إلى امتلاك بوصلة تهديك طيلة الطريق فبدونها ستضيع في هذا العالم الكبير الواسع وقد تنسحب منه وتعود أدراجك لعدم سلوكك الطريق الصحيح، لذا ستحصل في نهاية هذا المقال على بوصلة كيف تتعلم البرمجة تعينك على دخول هذا الطريق من أسهل طرقه وأسرعها إلى امتلاك الخبرة ودخول سوق العمل، فهل أنت جاهز؟ لننطلق! فهرس المحتويات ماذا تعني البرمجة؟ لماذا تتعلم البرمجة؟ طرق لتعلم البرمجة تعلم البرمجة عبر الجامعة تعلم البرمجة عن بعد عبر الإنترنت كيف تتعلم البرمجة مفاهيم تعلم البرمجة: التأسيس الصحيح أدوات تعلم البرمجة: اختيار الوجهة والتخصص نصائح لتعلم البرمجة أسئلة شائعة حول كيف تتعلم البرمجة هل تعلم البرمجة صعب؟ هل يؤثر نمط شخصيتي على تعلم البرمجة؟ هل احتاج إلى إتقان اللغة الإنجليزية لتعلم البرمجة؟ هل هناك مصادر عربية لتعلم البرمجة؟ هل احتاج إلى خبرة في الرياضيات لتعلم البرمجة؟ كيف تتعلم البرمجة من الصفر؟ أنا لست منظمًا فكيف ألتزم في تعلم البرمجة بنفسي؟ هل يمكنني تعلم البرمجة عبر الجوال؟ ماذا تعني البرمجة؟ البرمجة -كما ذكرنا باختصار في المقدمة- هي الطريقة الوحيدة للتخاطب مع الحواسيب والأجهزة الإلكترونية الذكية لإخبارهم بكيفية تنفيذ الأوامر والمهام التي يجب عليهم تنفيذها، فعلى الرغم من ظننا بأن الحواسيب والأجهزة ذكية كما يقال، إلا أن تلك المقولة خطأ لأن تلك الأجهزة لا تفكر ولا تتمتع بذرة من الذكاء وإنما تتسم بالسرعة والدقة الكبيرة في تنفيذ ما يُقال لها فقط. إذًا، البرمجة هي الطريقة وأسلوب سرد الخطوات المراد تنفيذها للحاسوب بناء على خوارزمية معينة أما الأداة المستخدمة في توضيح تلك الطريقة والخطوات فهي لغة البرمجة وبما أنها أداة فالأدوات كثيرة لتناسب مختلف الاحتياجات لهذا تجد الكثير من لغات البرمجة أما المفهوم والأسلوب فهو شبه ثابت لا يتغير وهنا قد تتطرق في طريق تعلم البرمجة إلى مفهوم لخوارزميات التي يمكن تنفيذها بأكثر من لغة برمجة. لماذا تتعلم البرمجة؟ هناك طلب كبير على مطوري البرامج اليوم، إذ سيزداد الطلب عليهم بنسبة 22 بالمائة بين عامي 2022 و 2030 وفقًا لمكتب إحصاءات العمل الأمريكي وذلك موازنةً بأربعة بالمائة بالنسبة للوظائف الأخرى، إذ تُعَدّ البرمجة مجال العصر والأكثر طلبًا في الوقت الحالي بين المهن الأخرى كما ذكرنا، فامتلاكك لهذه المهارة بمثابة امتلاكك لنقطة من نقاط قوة هذا العصر وتفتح لك أبوبًا واسعة في سوق العمل وضمن قطاعات مختلفة بسبب التقدم الرهيب في التقنية. كما تتعدد الأسباب حول الهدف من تعلم البرمجة، ولكن أكثرها انتشارًا هو ما يلي: تُعَدّ البرمجة مهنة عالمية عابرة للدول والقارات، إذ يمكن تطبيقها وتوظيفها في أيّ بلد كان مهما كانت ثقافته أو لغته. تعلم البرمجة مهم كون العالم يتجه إلى أتمتة المعلومات كما ذكرنا، وبالتالي تسريع المهام الروتينية وتوفير المزيد من الوقت والجهد البشري. يتعلق تعلم البرمجة بصورة أساسية بتعلم المنطق والرياضيات، لذا فهي توجّه ممتع لمن يهتم بمثل هذه المجالات. تحقيق مكاسب مادية، إذ يتقاضى المبرمجون رواتب عالية من خلال وظائف في شركات كبرى أو من خلال مشاريع ذاتية يصممها المبرمج بذاته ويبيعها لجهة معينة. تمكّنك من العمل الحر عبر منصات عمل حر مثل مستقل دون التقيد بجهة معينة كما يمكنك العمل من أيّ مكان كان من منزلك مثلًا، وبالتالي ستوفر عليك العديد من الالتزامات مثل قوانين بيئة العمل، وبعض النفقات مثل المواصلات. ممارسة البرمجة على أساس هواية إلى جانب عمل رئيسي آخر، فكثير من الأحيان قد تصادف أشخاصًا مهتمين بتعلم البرمجة وهم أساسًا أطباء على سبيل المثال وذلك لكونها شيء مكتسب بالتعلم والقراءة والممارسة وليست موهبةً أو شيئًا موروثًا. تعلم خوارزميات من خلال البرمجة يعزز عدد من المهارات لديك مثل مهارات التواصل وحل المشكلات وحتى مهارة الصبر. تفيد البرمجة في توسيع المعرفة وتعلّم تصميم حلول لأيّ مشكلة تواجهك، إذ تُعَدّ البرمجة طريقة تفكير منظمة وطريقة لتبسيط المشكلة وتفكيكها إلى أجزاء صغيرة يمكن التعامل معها بصورة أسهل. تعزيز الإبداع والاختراع لدى المبرمج، إذ سيصبح توّاقًا لتقديم أفضل ما لديه ومنافسة ذويه والسعي نحو تقديم مشاريع جديدة غير متوفرة سابقًا. طرق لتعلم البرمجة هنالك عدة طرق لتعلم البرمجة ودخول مجال علوم الحاسوب ولكن سأصنفها ضمن مسارين عريضين، الأول عبر التعليم الجامعي والثاني عبر التعليم الحر، وسأشرح كل منهما بالتفصيل مع توضيح مزايا وتحديات كل منهما. وإن كنت مهتمًا بتعلم البرمجة والتخصص بها ولم تختر مسارك بعد، فأنصحك أن تركز على هذا القسم بعناية لتحديد مسارك التعليمي. تعلم البرمجة عبر الجامعة يمكن تعلم البرمجة عبر مسار الجامعة بدخول إحدى التخصصات المرتبطة بها مثل تخصص علوم الحاسوب computer science أو تخصص هندسة البرمجيات software engineering أو هندسة الحاسوب computer engineering وستدرس بانتظام وعبر سنوات بين 4 إلى 5 سنوات هذا التخصص لتتخرج بدرجة بكالوريوس ويمكنك أن تكمل بعدها إلى مرحلة الماجستير والدكتوراه، وهذا الخيار مناسب تمامًا لك إن كنت تفكر في تسلق هذا السلم والذي تكون نهايته المهنية غالبًا العمل في مهنة التدريس في المؤسسات التعليمية. هذا الطريق أشهر الطرق لتعلم البرمجة ويتسم بأنه الأطول ولا يمكن البدء به إلا عند الدخول بالمرحلة الجامعية، ومن خلال هذه الطريق سيتلقى الشخص شهادة جامعية رسمية ومعترف عليها في سوق العمل بغض النظر عن الخبرة العملية التي يكتسبها خلال مسيرته الدراسية والتي تكون قليلة نوعًا ما وغير كافية. ضع في بالك أمر مهم في هذا المسار وهو أنك ستتعلم الكثير من المواد -وأحيانًا بتعمق- كما ذكرنا مثل الرياضيات المتقدمة وقواعد البيانات وأنظمة التشغيل والأنظمة المتقدمة والدارات الكهربائية والمنطقية والشبكات الحاسوبية وغيرها من المواد النظرية التي أما قد لا تهمك ولا ترغب في التخصص فيها والعمل فيها وإما أنها لا تفيد بشكل مباشر في الحياة العملية التطبيقية لاحقًا (تضيف مثلًا بعض الجامعات مواد إثرائية مثل تاريخ وجغرافية وأدب) مما يعني نسيانها لاحقًا وإضاعة للوقت والجهد. العائق الوحيد للدخول في هذا الطريق هو المُعدَّل الدراسي المطلوب بالنسبة للجامعات الحكومية والذي يكون مرتفعًا، وذلك لأن المقاعد الدراسية محدودة؛ أما بالنسبة للجامعات الخاصة، فستحتاج إلى مبلغ مالي قد تجده كبيرًا لتستطيع التسجيل في الجامعة وتتمة سنواتها الدراسية، فضلًا عن التفرغ الكامل للجامعة وتأمين النفقات اليومية البسيطة ما بين مواصلات ومعيشة ووربما تحتاج إلى كتب وقرطاسية وغيرها من نفقات إضافية طارئة، ولا ننسى أنه إذا كنت من محافظة تختلف عن المحافظة التي تقع فيها الجامعة، فإنك ستحتاج إلى مصروف إضافي يخص المواصلات بالإضافة إلى مصروف مخصص للسكن إذا لم ترغب في المكوث في السكن الجامعي أو إذا اخترت التسجيل في جامعة خاصة غير موجودة في مدينتك. والأهم مما سبق كله أن مجال علوم الحاسوب عمومًا والبرمجة خصوصًا مجال سريع التغير والتطور، فقد تتعلم تقنيات قديمة في بداية دراستك الجامعية لن تُستخدم في سوق العمل عند تخرجك بعد عدة سنوات أو أنها على الأقل تغيرت تغيرًا كبيرًا عما تعلمته وكم أسمع مشكلات تواجه طلاب الجامعات اليوم من هذا القبيل، لهذا السبب تجد أن أغلب الشركات لا تقبل بالشهادة الجامعية بمفردها بل تجري للمتخرج الجامعي اختبارًا تقنيًا أو تطلب منه مشروعًا يطلع عليه فريق برمجي متخصص ليتأكد من مواكبة معلوماته لأحدث التقنيات الحالية آنذاك. ومن الجدير بالذكر أنّ تعلم البرمجة عن طريق الجامعة يجبرك على الدراسة لسنين طويلة قد تصل إلى خمس سنوات وربما أكثر إذا لم تجتاز مواد محددة خلال السنة الدراسية، كما أنّ هذا الطريق لوحده لا يكفي للدخول إلى سوق العمل على الرغم من امتلاكك شهادة جامعية قوية وامتلاكك خلفية ثقافية علمية غير متاحة في الوسائل الأخرى، إذ ينبغي عليك اكتساب الخبرة اللازمة لتدعم سيرتك الذاتية، ولكن على الرغم من ذلك فبعض الشركات تهتم بالشهادة الجامعية في الدرجة الأولى وبعدها تنظر في الخبرة التي تملكها على أساس درجة ثانوية، إذ قد تمتلك برنامجًا تدريبًا خاصًا بالخريجين الجدد. والخلاصة، قد لا يكون هذا الخيار متاحًا لك -بسبب مجموعك في المرحلة الثانوية من التعليم- وباهظًا أيضًا وقد لا تملك وقتًا له وغيرها من التحديات وهنا ننصحك بخيار آخر لتعلم البرمجة وهو التعلم الحر عبر الإنترنت. تعلم البرمجة عن بعد عبر الإنترنت هنالك طريق آخر لتعلم البرمجة يعد الأسرع من بين عدة طرق لتعلم البرمجة غير التعليم التقليدي في الجامعات وهو التعلم الموجه عن بعد عبر الإنترنت نظرًا لانتشار الإنترنت في كل الأرجاء وازدياد سرعته، فأصبح بالإمكان اليوم مشاهدة فيديوهات والتواصل مرئيًا بدقة عالية دون الاكتراث لتكلفة الإنترنت أو سرعته. ونظرًا لأن مجال البرمجة لا يتطلب أي أمور وأدوات فيزيائية فأصبح تعلمه عبر الإنترنت شائعًا جدًا وسهلًا وعزز من ذلك تطوره السريع كما أشرنا وحاجة سوق العمل الكبير للمبرمجين مما جعل الشركات الموظفة تتنازل عن شرط وجود شهادة جامعية وأصبحت تطلب بدلًا من ذلك الخبرة والمشاريع العملية مع اجتياز اختبار أو مقابلة تقنية تجريها الشركة للمتقدمين المرشحين. تنقسم عملية تعلم البرمجة عبر الإنترنت إلى عدة مسارات فرعية تكون عمومًا إما منظمة ومهيكلة أو متفرقة. الدورات التعليمية تُعَدّ الدورات التعليمية من أشهر الطرق التي يلجأ إليها مَن يرغب في تعلم البرمجة سواءً كانت على أرض الواقع أو عبر الانترنت، إذ تأخذ بيده بدءًا من الصفر وتساعده كثيرًا في تعلم أيّ شيء جديد بصورة عامة وفي تعلم البرمجة بصورة خاصة وذلك عن طريق تسلسل مدروس ينتج عنه في ختام الدورة تعلم الأساسيات والتمكن بعض الشيء في النقاط التي تقدمها الدورة ليتابع بعدها المتلقي رحلة تعلمه عن طريق مصادر أخرى أو التسجيل في دورة تعليمة جديدة بمستوى أعلى. غالبًا ما تقترن الدورات التعليمية بجانب تطبيقي عملي يبني المتعلم عبرها مشاريع عملية تحاكي المشاريع المطلوبة في سوق العمل كما تفيده في بناء معرض أعمال عملية يغنيه عن عرض الشهادات النظرية. وقد يحتاج الطالب الأكاديمي الذي يدرس في الجامعة -كما ذكرنا في المسار الأول السابق- إلى دورات برمجية تعليمية مخصصة لترميم ما ينقصه أو اكتساب خبرة أوسع والتخصص فيه وبناء مشاريع عملية. لن تعيقك الدورات التعليمية من ناحية العدد المحدود للحضور والتكلفة الباهظة، إذ توجد العديد من الدورات البرمجية منخفضة التكلفة ومقبولة بالنسبة للطلاب مقابل الفائدة التي سيتلقونها، كما أنك لن تحتاج إلى إهدار 4 أو 5 سنوات من حياتك -على الأقل- كما في المرحلة الجامعية. تحدي مسار تعلم البرمجة عبر دورات تعليمية هو التسويف والتقصير، إذ يحتاج إلى تنظيم وعزيمة وإصرار وحمل النفس على التعلم وطلب العلم ووضع مخطط صارم وخطة واضحة من بداية الطريق، وهذا عكس المسار الأكاديمي الذي يكون فيه دور الجامعة تلقين المعلومة والتخطيط نيابة عنك مثل تحديد أوقات الامتحانات. ومن الجدير بالذكر أنه تهدف أكاديمية حسوب إلى توفير دورات تعليمية باللغة العربية تساعدك في تعلم البرمجة، كما يمكنك طرح أيّ سؤال على المدرِّبين أثناء التعلم إذا صادفت أيّ صعوبة، بالإضافة إلى أنه يمكنك مشاهدة أيّ دورة اشتركت فيها متى ما شئت، وفي حال أردت الانسحاب فبإمكانك التواصل مع فريق الأكاديمية لاسترداد ثمنها. دورة علوم الحاسوب دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب اشترك الآن الورشات والمخيمات البرمجية Bootcamps تعد المخيمات البرمجية فكرة أخرى منبثقة عن الدورات التعليمية فهي عبارة عن دورة تعليمية مكثفة ومضغوطة بفترة زمنية قد تقصر أو تطور بحسب البرنامج والتخصص وعادةً ما تمتد المخيمات البرمجية المتخصصة في مجال تطوير الويب أو تطوير تطبيقات الجوال من ستة أشهر إلى سنة. وتركز المخيمات البرمجية على تعلم البرمجة وتطبيقها مباشرةً على مشاريع عملية كبيرة تختمها بمشروع تخرج شامل، فيتخرج الطالب منها بحقيبة مشاريع مشرفة يعرضها في مقابلات العمل. القنوات والفيديوهات التعليمية هذه القنوات منتشرة انتشارًا كبيرًا على اليوتيوب مثل قناة أكاديمية حسوب، كما يوجد العديد من المبرمجين المحترفين الذين لديهم قناة على اليوتيوب تحتوي على سلسلة من المحاضرات التعليمية النظرية والعملية أو حتى مواضيع متفرقة، وفي هذا الطريق لن تحتاج إلى التقيد بمكان معيّن لحضور دورة تعليمية ما ولن تضطر إلى دفع تكاليفها، إذ تكون أغلبها مجانية، ولن تضطر إلى دفع أي تكلفة إضافية مثل المواصلات والسكن، كما أنك غير مقيّد بوقت محدد بما أنها عبر الانترنت ومسجَّلة مسبقًا. القيد الوحيد في هذا المسار أنه من المسارات الموجهة وغير المنظمة أو المهيكلة إذ ستتقيد بما هو موجود وقد تجد المعلومة وقد لا تجدها وغالبًا ستكون ضمن المستويات الأساسية دون المتقدمة ولن تجد من يجيب على أسئلتك أيضًا. الكتب والمقالات يفضل العديد من الأشخاص اللجوء إلى كتب برمجية للوصول إلى فهم أكثر دقة، والعديد من هذه الكتب توفرها أكاديمية حسوب مترجمة ومدققة جيدًا، كما يلجأ العديد من الراغبين في تعلم البرمجة إلى المقالات البرمجية لأخذ لمحة عامة حول تعلم البرمجة أو لتعلم البرمجة بصورة خاصة. تمتلك كل طريقة من الطرق السابقة ميزات ومساوئ وضحنا لتتمكن من تحديد الطريق الأنسب لك والذي يخدم أهدافك، ولكن ستكون أنت الرابح مهما كان طريقك في تعلم البرمجة، لذلك لا بد من تعلم البرمجة بصورة احترافية مهما كانت الوسيلة لتحقيق رغبتك في الدخول إلى سوق العمل بقوة وتحقيق دخل ممتاز. وفي نهاية هذا القسم، أنصحك بمشاهدة الفيديو التالي الذي يناقش فكرة الشهادات مقابل الخبرة في سوق العمل: المسابقات والتدريبات البرمجية تعزز المسابقات البرمجية والتدريبات البرمجية من عملية تعلم البرمجة تعزيزًا كبيرًا وتكسب المبرمج خبرة كبيرة واسعة تميزه عن بقية المبرمجين وترفع من قدره ومنصبه خصوصًا أن سمة البرمجة عمومًا هي حل المشكلات والبعد عن النمطية والروتين، فستصادف خلال رحلة البرمجة مشكلات منها القديم ومنها الجديد وغالبًا ستجد لكل مشكلة عدة حلول. أضف إلى ذلك أن أغلب أسئلة المقابلات البرمجية تكون على شكل مشكلة تتطلب إيجاد حل لها وكتاب شيفرته وغالبًا تكون تلك المشكلة شائعة وبسيطة وبمقابلة مباشرة يعني أن الفريق التقني يكون حاضرًا أثناء حلك للمشكلة، وينصب جل تركيزهم على كيفية إيجادك الحل وأسلوب كتابتك للشيفرة، فأحيانًا تجد حلًا لمشكلة يخلق مشاكل أخرى لم تخطر على بالك أو تفكر بها والأصوب أن يكون حلك شاملًا لا يؤدي إلى مشاكل أخرى ولا يسبب تأثيرات جانبية، ولا يمكن الوصول إلى تلك الدرجة من الخبرة والإتقان دون إطلاع على حلول مشاكل سابقة والتمرن على حل مشاكل جديدة ومناقشة الحلول للوصول إلى الحل الأفضل. هنالك الكثير من منصات التدريب تختلف باختلاف المواضيع ولغة البرمجة التي تريد التدرب عليها يمكنك البحث والسؤال وتجرب عدة منصات لتختار ما يناسب وشاع منها هذه الأيام منصة HackerRank ومنصة Codewars، ولكن لا أرى اللجوء إلى هذا الخيار إلى بعد تعلم المفاهيم الأساسية وعلى الأقل أساسيات لغة برمجة وعمومًا هنالك دومًا مستويات لكل تدريب يمكنك اختيار ما يناسب مستواك آنذاك. كيف تتعلم البرمجة؟ البرمجة عالم كبير مترامي الأطراف متباين التضاريس فيه السهل وفيه الصعب وإن كان الصعب يغلب على بدايته إذ يتسم طريق بداية تعلم البرمجة بالصعوبة وشدة الانحدار فهنالك الكثير من الأساسيات والمفاهيم التي عليك تعلمها وفهمها مثل مفهوم التعابير expressions والمتغيرات variables وأنواع البيانات data types والعمليات وحلقات التكرار والتعابير الشرطية والدوال والأصناف …إلخ. ثم تعلم تطبيق تلك المفاهيم بلغة البرمجة التي تريد استخدامها والتقنيات والمكتبات المرتبطة بها وقد تصل إلى بعض الطرق المسدودة -من جملة المشاكل الكثيرة التي تواجهك- التي تتطلب أن تشق طريقًا جديدًا لحلها. لا تخشَ مما سبق فكلما كان الطريق صعبًا ذقت حلاوة الوصول! مفاهيم تعلم البرمجة: التأسيس الصحيح ابدأ أولًا بتعلم المفاهيم البرمجية الأساسية، فعندما تتقن تلك المفاهيم تصبح قادرًا على تطبيقها على الأدوات مهما اختلفت وكثرت، وهنا وجب الفصل بين المفاهيم والأدوات، لأن الأدوات كما ذكرنا كثيرة وإن بدأت بها فقد تضيع وقد تواجه صعوبة في استخدام أداة لكثرة المفاهيم البرمجية المعقدة المبنية عليها وبدلًا من ذلك يجب البدء بصب أساس متين وإتقان المفاهيم البرمجة التأسيسية التي ستمكنك من استخدام أي أداة أو تقنية برمجية موجودة أو حتى مستحدثة جديدة قد تظهر مستقبلًا. أهم المفاهيم التأسيسية البرمجية التي يمكنك البدء بها هي: التفكير المنطقي الخوارزميات وحل المشكلات التعابير المنطقية أو البوليانية العمليات الرياضية الأساسية الأصناف classes والكائنات objects الدوال functions والتوابع methods بنى التحكم مثل التكرار Loop والشروط conditions التعاود Recursion المكتبات والحزم وأطر العمل أنواع البيانات أنواع لغات البرمجة البرمجة كائنية التوجه والبرمجة الوظيفية ننصحك بإتقان تلك المفاهيم وصقلها قبل البدء في تعلم أي لغة برمجة والتعمق فيها لأنك إن فعلت، فستلجأ إلى الرجوع إلى كل مفهوم والتعرف عليه مما يصعب عملية التعلم ويطيل الطريق عليك، وبعد التعرف عليها، يمكنك الانتقال إلى تعلم لغة البرمجة التي تمثل إحدى أدوات تعلم البرمجة والتخصص في المجال الذي تريده. أدوات تعلم البرمجة: اختيار الوجهة والتخصص لا أقصد بذكري أدوات تعلم البرمجة محررات النصوص وما سيلزمك أثناء البرمجة وكتابة الشيفرة، بل أقصد بها الأدوات والوسائل التي تتعلم البرمجة بها وتطبقها وأقصد تحديدًا لغات البرمجة والتقنيات المرتبطة بها التي تتعلم البرمجة بها. هنالك الكثير من لغات البرمجة والتقنيات البرمجية وهي ليست ثابتة بل تزداد وتتوسع يومًا بعد يوم، فلا تلبث إلا أن تسمع عن نزول لغة برمجة جديدة أو تقنية أو إطار عمل Framework جديد فإن تعلمت المفاهيم وأسست نفسك بها، فستطبقها مع أي لغة برمجة أو تقنية برمجية، فلغات البرمجة تنتمي إلى عائلات وتُشتق اللغات الجديدة من لغات سابقة وتُبنى تقنيات جديدة على أخرى سابقة أو مشابهة لها فلا وقت لاختراع العجلة من جديد، وفي هذا الصدد أنصحك بالاطلاع على مقال دليلك الشامل إلى لغات البرمجة. وقد تتساءل، كيف تتعلم البرمجة دون الاهتمام بتعلم لغة برمجة والانشغال بها؟ سؤالك صحيح، فستحتاج أثناء تعلم المفاهيم إلى أداة أي لغة برمجة تطبق عليها ما تعلمته ولكن في الوقت نفسه لا تريد الانشغال بتعلم لغة البرمجة تلك وتفاصيلها وشيفراتها وهنا لحل المشكلة جاءت لغات البرمجة المرئية مثل سكراتش Scratch وما شابهها. سكراتش هي لغة برمجة مرئية مؤلفة من كتل جاهزة يمكنك عبر سحبها وتركيبها بناء برنامج كامل، وهي مناسبة جدًا للبدء بتعلم البرمجة من الصفر وتأسيس المفاهيم البرمجية التي ذكرناها أهمها الخوارزميات والتفكير المنطقي، وبناءً على ذلك، تجد أن دورة علوم الحاسوب من أكاديمية حسوب تؤسس تلك المفاهيم أولًا بلغة سكراتش. بعد أن تتعلم المفاهيم، تبدأ بتطبيقها على لغة برمجة حقيقية ويمكنك بعدها التخصص بلغة البرمجة التي تريد تعلمها ودخول مجالها، وهنا يمكن أن أنصحك بدلًا من ذلك البدء بأساسيات لغة برمجة سهلة مثل لغة جافاسكربت JavaScript أو لغة بايثون والسبب سهولة كتابة الشيفرات فيهما وتنفيذها دون الحاجة إلى أي تعقيد في ضبط البيئة البرمجية لهما، ثم بعد ذلك يمكنك الانتقال إلى لغة البرمجة التي تُستخدم في المجال الذي تريد التخصص فيه مثل مجال تطوير مواقع الويب أو تطوير تطبيقات الجوال أو برمجة أنظمة التشغيل والأنظمة المدمجة. قد تسألني عن الأدوات والبرامج المطلوبة لكتابة الشيفرات وهنا أقول لك، لا تشغل نفسك بها فستتعرف عليها متى ما احتجتها فكل لغة برمجة أو تقنية لها محرر وأدوات تدعمها أكثر من غيرها. نصائح لتعلم البرمجة توجد بعض النصائح لتعلم البرمجة التي ستحتاجها أثناء رحلتك نسردها فيما يلي. حدد هدفك من تعلم البرمجة عليك تحديد هدفك حتى يسهل عليك تحديد التخصص الذي تريد الدخول إليه وبالتالي اللغة المستعملة في ذلك التخصص الأمر، فاللغات التي تُستخدم في مجال برمجة تطبيقات الويب مثلًا تختلف عن لغات برمجة تطبيقات الهاتف المحمول والتطبيقات المكتبة، كما سيسهل عليك تحديد طبيعة الجهاز الذي سيكون موجه إليه هذا التطبيق. تعلم لغة واحدة على الرغم من تشابه لغات البرمجة من حيث المفهوم، إلا أنّ لكل لغة برمجية بنية لغوية syntax تختلف عن غيرها، لذا من الأفضل عدم إجهاد نفسك في تعلم أكثر من لغة على التوازي حتى لا تتشتت وخاصةً إذا كنت في بداية طريقك في تعلم البرمجة. وعمومًا، يمكنك تعلم المفاهيم البرمجية بدايةً بلغة سكراتش ثم الانتقال إلى اللغة التي تريد التخصص فيها فالمفاهيم متشابهة كما ذكرنا ولكن صياغة اللغة وطريقة كتابة شيفراتها وترتيبها هي التي تختلف ولن يكون الاختلاف كبيرًا عادةً. ابدأ ببرامج بسيطة البرمجة مثلها مثل أيّ مجال آخر، أي حتى تتقنها عليك البدء من مكونات صغيرة وذلك بتصميم برامج بسيطة ثم تعديلها وتطويرها على عدة مراحل للوصول إلى تطبيق متكامل، فعلى سبيل المثال تطبيق الآلة الحاسبة يبدأ بعملية واحدة وبعدها يُطوّر ليشمل كافة العمليات وبعد ذلك يمكن تطويره ليتعامل مع المعادلات الرياضية المعقدة وهكذا. تحلى بالصبر جميعنا يريد أن يكتسب الخبرة بين ليلة وضحاها، لكن الأساس مهم جدًا وهذا يحتاج لأيام وأيام، لذا خذ الطريق من بدايته وأساسياته ولا تستعجل فتندم وتفقد الشغف وربما تتعب من مواصلة التعلم وتقرر الابتعاد نهائيًا، ولا تيأس عندما تواجهك أخطاء، فكلها ستدعم مسيرتك البرمجية في المستقبل وتكسبك الخبرة، ففي النهاية إنما العلم بالتعلّم وإنما الحلم بالتحلّم. صاحب مبرمجًا بما أنك قررت دخول عالم البرمجة، فحاول مصاحبة المبرمجين بدخول مجتمعات البرمجة على وسائل التواصل الاجتماعي وإبداء اهتمامك بأي محتوى برمجي على الإنترنت والتفاعل مع أصحاب المحتوى والتواصل معهم والاستفسار أو السؤال عما يلزمك أن احتجت، فبذلك يصبح لديك شبكة من الأصدقاء تستفيد منهم وتفيدهم بتبادل الخبرات. اعتمد على نفسك في حل الأخطاء البرمجية لا شك أنه كل منا سيواجه أخطاء في مسيرته التعليمية، ولكن من الأفضل عدم الاعتماد على الغير في حلها إلا بعد البحث والتقصي عن سبب المشكلة وإيجاد حلها بأفضل طريقة ممكنة، وفي حال عدم التوصل إلى حل بعد البحث المتواصل، فلا مانع من الرجوع إلى مبرمج محترف يبيّن لك سبب المشكلة وطريقة حلها، فاللجوء فورًا إلى مبرمج محترف لن يفيدك وربما قد تكون عبئًا عليه في حال تواصلت معه على أبسط الأخطاء وباستمرار دون بذل أيّ جهد منك في البحث. لا تتوقف عن الممارسة والتدريب كل علم لا يُمارس فمصيره الزوال والنسيان وكذلك البرمجة، إذ عليك التدرب أكثر فأكثر إلى حين إتقان هذه اللغة وعدم التوقف عن ممارستها بين الحين والآخر لتجنب خسارتها. أسئلة شائعة حول كيف تتعلم البرمجة هل تعلم البرمجة صعب؟ قد يقول قائل أن البرمجة صعبة وتعلمها أصعب، ولكن هل هذا صحيح؟ أقول أنه لا شيء سهل وأي مهنة فيها مستوى متفاوت من السهولة والصعوبة، والبرمجة من المهن التي تتطلب بذل جهد ذهني وفكري كبير ولا تتطلب بذل جهد بدني بينما تجد بعض المهن تتطلب بذل جهد بدني أكثر من الجهد الذهني وهكذا، وقد لا يناسب البعض بذل هذا الجهد الذهني الكبير والجلوس لفترات طويلة أمام الشاشة بتركيز كبير وهنا يجد تلك الصعوبة التي يشير إليها. إن أردت إجابة تفصيلية على هذا السؤال، فشاهد فيديو هل البرمجة صعبة. هل يؤثر نمط شخصيتي على تعلم البرمجة؟ التعامل مع البرمجة والحاسوب يتطلب بعض الانعزال عن الناس والأنشطة الاجتماعية والتعامل مع آلة أمامك بمخاطبتها عبر شيفرة طويلة تمضي أيامًا وأسابيعًا في كتابتها على انفراد وهذا قد لا يناسب بعض الأشخاص الاجتماعيين الذين يفضلون التعامل مع الناس والاحتكاك بهم، وهنا تظهر فكرة أن غالبية المبرمجين انطوائيين وأرى أنها صحيحة بنسبة ما، ويمكنك الاطلاع على مناقشة شخصيتك كمبرمج ومناقشة هل فعلاً تخصص البرمجة يؤثر بالسلب على الحياة الاجتماعية؟ في حسوب IO. هل احتاج إلى إتقان اللغة الإنجليزية لتعلم البرمجة؟ صحيح أن شيفرات لغات البرمج كلها مكتوبة باللغة الإنجليزية ولكن الحقيقة أنك لا تحتاج إلى إتقانها لتكون مبرمجًا محترفًا، إذ أن كل لغة برمجة مكونة من كلمات مفتاحية keywords محصورة العدد يمكنك حفظها وحفظ استخداماتها وقد قابلت عدة مبرمجين من بلدان آسيا وأوربا غير ناطقين باللغة الإنجليزية ولا يعرفونها بل أتحدث معهم بالإنجليزية فلا يستطيعون الرد علي وفي الوقت نفسه أتفاجأ من أنهم بنوا الكثير من المواقع وتطبيقات الجوال، حتى أن أحدهم بنى مكتبة CSS بلغته ويستطيع أي متحدث بتلك اللغة استخدامها. هل هناك مصادر عربية لتعلم البرمجة؟ قد يقول قائل، مراجع تعلم البرمجة قليلة في اللغة العربية أو ليست بجودة عالية، وأنا أقول أن المحتوى العربي غني جدًا بمصادر تعلم البرمجة بالعربية وهنا أحيلك إلى مقال الدليل الشامل لتعلم البرمجة باستخدام المصادر العربية لتتأكد من نفسك. كما يوجد دورات برمجة عربية تأخذ بيدك من الصفر وحتى الاحتراف مثل دورات أكاديمية حسوب، فالمميز في دوراتها أن الشرح بلغة عربية فصيحة وأنها توفر بيئة عربية متكاملة بدءًا من توفير التوثيقات البرمجية العربية التي تجدها في موسوعة حسوب وحتى المقالات البرمجية والكتب البرمجية في كافة المواضيع واللغات البرمجية وأخيرًا بمنصة أسئلة وأجوبة برمجية لطلب أي مساعدة أو الإجابة عن سؤال كما تجد دعمًا أيضًا في مجتمع البرمجة العربي في منصة حسوب IO. هل أحتاج إلى خبرة في الرياضيات لتعلم البرمجة؟ لا تحتاج إلى خبرة متقدمة في الرياضيات بل كل ما تحتاج إليه في البداية هو معرفة بالعمليات الرياضية الأساسية من جمع وطرح وضرب وقسمة ورفع للأس، وهنالك الكثير من القصص عن أطفال ويافعين بأعمار صغيرة تعلموا البرمجة وبدؤوا بكتابة برامج وألعاب. كيف تتعلم البرمجة من الصفر؟ إن لم تكن تريد الالتحاق بمسار جامعي، فهنا أنصحك باتباع دورات تعليمية أو ورشات أو مخيمات برمجية منظمة ومهيكلة ولا تتطلب أي خبرة برمجة مسبقة بحيث تبدأ معك من الأساسيات وتنطلق حتى المواضيع المتقدمة يقترن ذلك ببناء مشاريع عملية. وإن سألتني عن ترشيحات في المحتوى العربي، فأرشح دورات أكاديمية حسوب فكلها لا تتطلب خبرة برمجة مسبقة وتشرح المواضيع من الصفر، كما أنك عندما تشترك بدورة ما، فإن المسارات الأساسية من كل الدورات تصبح متاحة لك وهي ميزة ممتازة تساعدك على صب أساس قوي في كل المجالات البرمجية، وأضف إلى تلك الميزة، هنالك فريق من المبرمجين جاهز للرد على استفساراتك ومساعدتك بأي شيء، فهي خيار جيد تستحق النظر. أنا لست منظمًا فكيف ألتزم في تعلم البرمجة بنفسي؟ تعلم البرمجة -خصوصًا عبر دورات- يحتاج إلى حمل النفس على ما تكره وهو التنظيم، والتنظيم يحتاج إلى روتين، لذا ألزم نفسك بروتين قاسٍ وعاقبها إن تخلَّفت وقصرت مثل عدم الخروج إلى مكان محبب لك في عطلة نهاية الأسبوع، وفي الوقت نفسه كافئها إن أنجزت وثابرت، وفي هذا الصدد أنصحك بمقال دليلك لتنظيم حياتك ففيه فوائد كبيرة تساعدك على التنظيم لا تفوتها. وتذكر دومًا أن لذة الوصول تنسيك تعب الطريق وهذا يجب أن يدفعك دومًا إلى بذل الجهد ورفع الهمّة، وصحيح أن طريق تعلم البرمجة قد يكون طويلًا لكن بدايته متعبة فقط أما بعد ذلك فيصبح سهلًا، وتذكر أن المبرمج الخبير المتمرس يملك الكثير من المزايا بدءًا من الراتب المرتفع بقدر خبرته وحتى قدرته على تأسيس شركات برمجية أو إدارتها. هل يمكنني تعلم البرمجة عبر الجوال؟ حقيقةً، لا! يتطلب تعلم البرمجة حاسوبًا لتعلم البرمجة وكتابة الشيفرات البرمجية، فمن الصعب كتابة شيفرات برمجية على الهاتف الجوال هذا لم نتحدث عن إمكانية تنفيذ الشيفرات عليه وتجريبها وتنقيحها وتصحيح الأخطاء فيها. أما إن سألتني عن مواصفات الحاسوب، فيمكن استعمال أي حاسوب بدايةً وبعدها ستجد نفسك إما مرتاحًا بمواصفاته آنذاك أو تحتاج إلى مواصفات أخرى محددة، وقد تحتاج من البداية إلى وجود بطاقة شاشة منفصلة إن أردت التخصص في مجالات برمجة تتطلب معالجة رسوميات عالية مثل تطوير الألعاب أو محاكاة تطبيقات جوال أثناء تطويرها، وقد تحتاج إلى حاسوب ماك إن أردت تطوير أي شيء يتعلق بأنظمة ماك مثل تطوير تطبيقات iOS وهو حالة خاصة ومحددة فقط بمنتجات ماك. خاتمة أرجو أن أكون قد وفقت في الإجابة على سؤال "كيف تتعلم البرمجة؟" إجابة وافية شاملة في هذا المقال وأرجو أيضًا أن يكون هذا المقال بوصلة ترشدك للسير في الطريق الصحيح نحو تعلم البرمجة. وتذكر أنه بالنسبة لبعض المبرمجين، رحلة البرمجة لا تنتهي، فهنالك دومًا أشياء جديدة يمكن تعلمها وتطبيقها! وفي نهاية المقال، أحيلك لقراءة المقالات التالية المرجعية بعده التي تدور في فلك تعلم البرمجة ولكن قبل ذلك، قم وخذ قسطًا من الراحة! ملاحظة: كُتب هذا المقال سابقًا عام 2015 وقد جرى تعديله وتحديث محتواه لاحقًا. اقرأ أيضًا المدخل الشامل لتعلم علوم الحاسوب تعلم بايثون تعلم PHP فوائد تعلم البرمجة دليلك الشامل إلى أنواع البيانات تعلم لغة HTML أسهل لغات البرمجة البرمجة باستخدام سكراتش Scratch1 نقطة
-
بايثون (Python) لغة برمجة تتميّز بسهولة تعلّمها، وتُعدّ مثالا جيّداً لبدء تعلّم البرمجة بالنّسبة للمبتدئين. وستجد في هذه السّلسلة من الدّروس (الذي يُمثّل هذا المقال الجزء الأوّل منها) ما تحتاج إليه لتعلّم أساسيّات هذه اللّغة. ما هي بايثون؟ لغة برمجة ابتكرها “جايدو ڤان روسم”، وقد خرجت أول نسخة من بايثون في عام 1991. لغة بايثون لغة برمجة تفسيريّة. إذا سبق وأن اطّلعت على البرمجة ولو قليلا فستعرف أنّ لهذه اللغة بنية جميلة. فالمبرمجون دائما ما يبحثون عن أفضل الطّرق لكتابة الأسطر البرمجيّة. ما الغرض من لغة بايثون؟ تتميّز لغة بايثون بالقوّة والبساطة، فتُخوّل لك كتابة برمجيّات بسيطة جدّا، كما تمتلك مكتبات مُتعدّدة تسمح لك بالعمل على مشاريع أكثر تعقيداً. الويب: في أيامنا هذه تعتبر بايثون مع إطار العمل Django من أفضل الأدوات لتطوير مشاريع ضخمة على الويب تتمثّل أساسا في مواقع الأنترنت. الأنظمة: تعتبر بايثون كذلك من أحسن اللغات التي يستعملها مدراء الأنظمة لإنشاء برمجيّات للمُساعدة في إنجاز مهام مُتكرّرة وكذلك لصيّانة النظام، وإذا كنت ترغب في كتابة تطبيقات Java باستعمال بايثون فيُمكنك ذلك بفضل مشروع Jython. لماذا بايثون؟ تعدّ بايثون لغة سهلة الفهم وشيفرتها سهلة القراءة كذلك، وبالتّالي فهي أفضل خيّار للمُبتدئين الذين يريدون تعلّم البرمجة. وهي موجزة جدّا وشيفرتها قصيرة، ما يُساهم في زيادة إنتاجيّة المُبرمج ويُقلّل من نسبة الأخطاء في البرنامج كما يُساعد على إصلاح الأخطاء بسهولة وسرعة. ويمكنك التعرف عليها بتعمق أكبر من خلال الانضمام إلى تُستعمل بايثون كذلك في الميادين العلميّة، مثل ميدان المعلوماتيّة-الحيويّة. وهناك مكتبات متوفّرة لمثل هذه الأغراض كمكتبة biopython. كما هناك مكتبات خاصّة لإنشاء ألعاب 2D (وكذلك 3D)، ومكتبة PyGame مثال على ذلك. من يستعمل بايثون؟ شركة جوجل (وقد كان مؤسّس بايثون يعمل لصالح الشّركة منذ 2005 إلى 2012)،كما أنّ ياهوو، مايكروسوفت وناسا كلّها مؤسّسات تعتمد على بايثون وهذه الشركات على سبيل المثال فقط لا الحصر. الفرق بين إصداري بايثون 2 وبايثون 3 كان هناك العديد من التّغييرات عند خروج الإصدار الثّالث من بايثون، وكان أكبر تغيير يتمثّل في تغيير جملة الطباعة print من: print "مرحبا" إلى: print ("مرحبا") هذا التّغيير سيسبب مشاكل كثيرة عند مُحاولة تنفيذ ملفّات بايثون 2 على بايثون 3، وخاصّة مع كثرة استعمال هذه الجملة في التّطبيقات. لكن لا تقلق فبعد تعلّمك لأساسيّات اللغة لن تجد مشاكل كبيرة مع الإصداراين، وسنعتمد في هذه الدّروس على بايثون 2. تنصيب بايثون تنصيب بايثون على نظام Linux أو MacOS إذا كان لينكس أو ماك أو إس هو نظامك تشغيلك، فهذا أمر جيّد لأنّ بايثون مُثبّتة مُسبقا على هاذين النّظامين. تنصيب بايثون على نظام Windows يُمكنك تحميل بايثون من الموقع الرّسمي. أي نسخة أختار؟ حاول اختيّار النّسخة الأكثر حداثة واستقرارا، وسنعمل بنسخة Python 2.7 لأنّها النّسخة الأكثر استخداما. ملاحظة: يوجد بعض المشاكل المتعلّقة بالتّوافق بين النّسختين 2 و 3 وقد سبق وأن سردنا جانبا من الاختلافات بينهما أعلاه. ويُنصح بالاعتماد على النسخة الثّانية أولّا ثمّ التّعرّف على الفروقات بين النّسختين، وبهذا ستكون قادراً على فهم المشاكل التي قد تحدث عند التبديل بينهما وسيسهل عليك حلّها. مفسر بايثون لاستعمال بايثون على Ubuntu مثلا، شغّل الطرفيّة Terminal: ثمّ نفّذ الأمر python: أمّا على نظام ويندوز فيمكنك الوصول إلى المُفسّر من قائمة "ابدأ". يُمكن ملاحظة الرّمز "<<<" الذي يعني بأنّ مُفسّر لغة بايثون جاهز لاستقبال الإرشادات والأوامر. وبشكل عام في دروس بايثون يعني الرّمز السّابق إذا كان ملحقا بأيّ شيفرات، بأنّك يجب أن تُنفذ الشّيفرات على الطّرفيّة. ويُمكن القيّام بذلك عبر كتابته ثمّ الضغط على زر Enter. يُمكننا الآن أن نجرّب كتابة شيفرة بسيطة عبارة عن عمليّة حسابيّة "3+1": بهذا نكون قد فهمنا أساس مُفسّر بايثون وماهيّته. في بعض المُحرّرات (مثل المحرّر Wing IDE) يكون المُفسّر الخاصّ ببايثون مُضمّناً في البرنامج، وسنتحدّث عن الأمر في القسم التّالي من الدّرس. المحرر محرر Wing IDE يعد مُحرّر Wing IDE في نُسخته المجانيّة من أفضل المُحرّرات للمبتدئين لكتابة شيفرات بايثون خاصّة وأنّه يأتي مع مُفسّر بايثون. وهو محرّر مصمّم من مطوّري بايثون لمُطوّري بايثون، ويُعدّ من أفضل المُحرّرات لمن يرغب في تعلّم اللغة، النّسخة المجانيّة منه توفّر خيّارات أقلّ لمستخدميه مقارنة بالنّسخة المدفوعة (وتُباع بحوالي 45$). يُمكنك تحميل النّسخة المجانيّة منه عبر هذا الرّابط. إذا كنت تعمل على نظام Ubuntu فحمّل الملفّ بامتداد deb.، اضغط مرّتين على الملف ثم اضغط على "تنصيب". إذا واجهتك أي مُشكلة فحاول تنفيذ الأمر التّالي من الطّرفيّة: sudo apt-get install -f هذه بعض اللقطات من البرنامج: محرر Sublime Text الآن لننتقل إلى هذا المُحرّر الرّائع الذي يجمع بين الخفّة والقوّة. يمتلك Sublime Text العديد من الإضافات التّي ستعجب بها من النّظرة الأولى والتّي ستجعل عملك سهلا وأسرع. النّسخة الأساسيّة من المحرّر مجانيّة، يُمكن أن تستقبل بعض الرّسائل التّي تطلب منك شراء البرنامج لدعم المشروع، لكنّ ذلك لا يعدّ إجباريّاً. من المُفضل أن تُثبّت أداة packagecontrol، التّي تُمكّنك من تنصيب الإضافات المُتطلّبة لمشروعك. وإليك بعضا من اختصارات المحرّر الأكثر استخداما: Ctrl + X حذف سطر Ctrl + P تصفّح الملفّ Ctrl + R تحريك المؤشّر إلى الدّالة في الملفّ Ctrl + L تظليل السّطر الحالي Ctrl + D تظليل الكلمة الحاليّة Ctrl + Shift + D مُضاعفة السّطر الحالي Ctrl + M تحريك المؤشّر إلى نهاية الدّالة Ctrl + G تحريك المؤشّر إلى السّطر رقم X في الملف Ctrl + Shift + T إعادة فتح آخر ملف أُغلِق مؤخّراً CTRL + SHIFT + F البحث عن ملفّ في مجلّد ما CTRL + ALT + P التبديل بين المشاريع محرر VIM يعتبر محرّر VIM من أخفّ وأقوى المُحرّرات، ويعمل من الطّرفيّة مباشرة ما يتيح لك إمكانيّة التّعديل على الملفّات وتشغيلها بسرعة، كما يتميّز بعدم استهلاكه لموارد الجهاز. ويُمكنك معرفة المزيد عن هذا المُحرّر بالاطّلاع على سلسلة VIM التّي قُمت بكتابتها منذ مُدّة. تنفيذ سكريبتات بايثون بعد أن تعرّفنا على الأساسيّات، حان الوقت لبدأ التعلم، افتح ملفّا جديدا بمحرّر من اختيّارك واكتب السّطر التّالي: print "hello, world!" واحفظ الملف باسم hello.py، لا يهم اسم الملف هنا المهمّ امتداده (py.) الذي يخبر نظام التّشغيل بأنّ الملف مكتوب بلغة بايثون. يُمكنك الآن تنفيذ (أو تشغيل) الملفّ الذي قمت بإنشائه بكتابة السّطر التّالي في الطّرفيّة ثمّ الضّغط على مفتاح ENTER، فقط تأكد من أنّ الطّرفيّة والملفّ يشيران إلى نفس المجلّد: python hello.py سترجع الطّرفيّة قيمة كالتالي: hello, world! النّص الذي يكون مبدوءا برمز # لا يُنفّذ ويسمّى تعليقا (سنتطرّق للأمر لاحقاً): # هذا برنامج بايثون يقوم بطباعة جملة مرحبا بالعالم # شغّل هذا البرنامج بالأمر التّالي: # python hello.py print "hello, world!" والآن حان دورك. لكي تتعلّم البرمجة بشكل جيّد فيجب عليك أن تتمرّن باستمرار. مسألة 1: أنشئ ملفّ بايثون يقوم بطباعة hello, world أربع مرّات. مسألة2: أنشئ ملف بايثون يحتوي على السّطر التّالي: 1 + 2 قم بتنفيذه. ما هي النّتيجة التي حصلت عليها؟ إذا لم يقم البرنامج بطباعة أي شيء، فما التّغييرات التّي يجب عليك القيّام بها لطباعة النتيجة المُتوقّعة؟ كيف أحترف بايثون لتعلم لغة بايثون واحترافها، يُنصح بالانضمام إلى دورة تطوير تطبيقات باستخدام لغة بايثون التي تقدمها أكاديمية حسوب، والتي تمكّنك من تعلّم التطوير بلغة بايثون للتطبيقات ولمواقع الويب بالاعتماد على النظريات السليمة والتطبيق العملي والدعم المباشر، وذلك بالانطلاق من الصفر حتى الاحتراف فيها. ستتعلم من خلال الدورة كيفية بناء تطبيقات فعلية بالاعتماد على لغة بايثون Python نفسها، كما ستتعلم كيفية بناء التطبيقات بالاعتماد على إطار العمل جانغو Django، إضافةً إلى تطبيقٍ عملي لإنشاء واجهة برمجية API باستخدام إطار العمل فلاسك Flask، إلى جانب الحصول على المتابعة اللازمة من المدربين لمرافقتك خلال رحلة تعلمك والإجابة على كافة استفساراتك. كما يمكنك الاستعانة بتوثيق بايثون من موسوعة حسوب لإثراء معارفك بها، ولا تنسى مطالعة سلسلة paython 101. ترجمة -وبتصرف- للدرس Apprendre le langage de programmation Python لصاحبه Olivier ENGEL. اقرأ أيضا: النسخة العربية الكاملة من كتاب البرمجة بلغة بايثون 1.0.0 توثيق لغة بايثون في موسوعة حسوب تعرف على أبرز مميزات لغة بايثون1 نقطة
-
1 نقطة
-
الأمر يعتمد على ميولك وتوجهاتك ورغباتك. يوجد آفاق لكل منهما، لا يهم إن كنت مصمم أو مبرمج، الأهم هو أن تقوم بما تحبه وتكون خبيرا فيه.1 نقطة
-
يواجه الرحالة الرقميون بوصفهم موظّفين عن بعد تحديات خاصة من نوعها في ما يتعلق بالتواصل مع العملاء والمتعاونين. عدم توفر الوقت للمقابلات وجهاً لوجه والمعاناة مع اختلاف المناطق الزمنية كفيل بإفشال العمل إن لم يُدَر بطريقة صحيحة. إليك بعض أفضل الممارسات للتواصل إن كنت تعمل عن بعد. تعامل مع التوقعات ربما تكون هذه هي خدمتك الأولى عن بعد، أو ربما الخامسة. بغض النظر عن ذلك، دعنا نفترض أنك جديد ومستعد لبدء يومك الأول في العمل، تجلس بلهفة إلى حاسوبك في الثامنة صباحًا بانتظار وصول أولى المهام إلى مكتبك. تمضي الساعة التاسعة صباحًا دون أن تسمع كلمة واحدة، ماذا تفعل؟ هل ترسل بريدًا إلكترونيًا؟ هل تتصل بمدير التوظيف؟ يمكن أن تصبح هذه الأنواع من هفوات التواصل شائعة جدًا لدى الرحالة الرقميين إن فشلت في إدارة التوقعات من التفاعل الأول مع صاحب العمل. ينبغي عليك أن تسأل، في المحادثات الأولى، أسئلة ذات صلة عن الدور الموكل إليك، بالإضافة إلى ما يتوقعه منك كل من الفريق والمدير المباشر. ستساعد هذه الأحاديث المبكرة الجانبين على وضع معيار للأنماط الإنتاجية منذ البداية، وستوضح أنك سبّاق بما فيه الكفاية لتتولى منصبًا عن بعد. الآن وبعد أن أصبحت جاهزًا، وسألت جميع النقاط الرئيسية المتعلقة بدورك، وأصبحت مستعدًا للمضي قدمًا. فإن الأمر لن ينتهي هنا. الأمور الأساسية التي ينبغي عليك تذكرها بالنسبة للتوقعات هي أن إدارتها تعني أيضًا أن تقول بأنك تنسحب. فكونك تعمل من مكان بعيد، لا يعني أن بإمكان العميل أن يرسل لك بريدًا إلكترونيًا في 11:00م ويطلب تعديلات في اللحظة الأخيرة. يمكن أن تُهمَل التوقعات أو يُبالغ فيها أو يوفى بها. الأمر عائد لك في تقديم رسائل واضحة حول ماهيتها، والوصول إلى اتفاق مشترك مع عملائك وزملائك. يمكن تلخيص هذه التوقعات في نطاق العمل والعقد الأساسي للاتفاق عليه وتصديقه قبل بدء العمل. محادثة الفيديو هي رفيقتك توجد العديد من خدمات الفيديو في متناول يدك هذه الأيام، وأغلبها مجاني، سواء كانت غوغل Google أو سلاك Slack أو سكايب Skype أو غيرها، هذه الخدمات تمكنك من التواصل بكفاءة أكثر وبدفء أكثر قليلاً من البريد الإلكتروني أو برامج الدردشة. إن لم تتمكن من التعبير عن مهمة، أو تحديث أو فكرة في بضعة جمل، فسيكون من المجدي بحث إمكانية الانتقال إلى الفيديو. فتبادل الرسائل في محاولة للتوصل إلى حل يؤدي إلى إضاعة وقت كلا الطرفين ويمكن أن يترك الطرف الآخر محبطًا. اختبر واستخدم محادثة الفيديو قدر الإمكان، وتأكد من أن اتصالك بالإنترنت آمن وموثوق؛ وبالتالي تضمن عدم إضاعة الكثير من الوقت عند الحاجة لاستخدام الفيديو في اللهو بالميكروفون. أبق سماعات الرأس في متناول يدك، إن كنت في بيئة عمل مشتركة، قد يبدو الضجيج الخارجي والإلهاء أمرًا غير مهني تبعًا للشخص الذي تتحدث إليه. تعلم حيل سْلاك Slack واستخدام أدوات التعاون المباشر الأخرى إن ولادة سلاك بشّر بعهد جديد من اتصالات الفريق. يوجد في حسابي الحالي في سلاك مئات القنوات المتاحة، وأستخدم الأداة بطرق متنوعة. سلاك رائع للأسئلة ذات الإجابة المحدّدة ، وللبقاء على اطلاع بآخر مستجدات الفرق الأخرى. كما أنه أداة رائعة لبناء الثقافة: فقد أجريت محادثات عن السفر مع زملاء عمل في البرازيل، وتحدثت عن العروض التي أشاهدها مع الزملاء في الساحل الشرقي للولايات المتحدة وألفت خططًا للألعاب مع منافسيّ، كل ذلك عبر سلاك. سلاك مجاني للفرق الصغيرة. بجميع الأحوال، إن كنت تعمل مع شركة أكبر فستدفع (أو على الأرجح صاحب عملك) مبلغًا مقابل استخدامه مع عدة مستخدمين. كتب موقع زابيير Zapier عن بعض أفضل التطبيقات البرمجية الموجودة حاليًا، لإدارة المشاريع، مع أداة مقارنة في متناول يدك حتى يمكنك التأكد من إيجاد أفضل ما يناسب فريقك. حافظ على المهنية تعيش في بالي؟ تعمل من دينفر لصالح فريق في بوستن؟ بغض النظر عن المكان الذي أنت فيه، تأكد من جاهزيتك لتنجح في دورك. وهذا يعني امتلاك ملابس ملائمة إن كنت ستضطر لإجراء محادثة فيديو مع أحدهم، واتصالاً موثوقًا بالإنترنت، وأن تكون التقنيات الخاصة بك محدّثة وتعمل مع النسخ الاحتياطية التي ينبغي أن تحتاجها. إن منفعة السفر تأتي في رأس القائمة لكثير من الرحالة الرقميين، لكن لا تدع ذلك يُفتر حماسك ويعطيك شعورًا كاذبًا بأنك في عطلة. يعني ذلك اتصالات واضحة (تذكر وضع التوقعات) أثناء سفرك، وحل مشاكل اختلاف المناطق الزمنية (استخدم تقويمًا متوافقًا مع مناطق زمنية مختلفة) واحترم غيرك من الرحالة. لن يترك هذا أثرًا عليك فقط ، وإنما يمكن أن يترك أثرًا على شركتك أيضًا. توجد أماكن عمل مشتركة – لقد أصبت – للعمل فيها. إن لقاء أشخاص جدد هو منفعة رئيسية لنمط حياة الرحالة، لكن ذلك لا يعني أنّ زميلك في المكتب يرغب أن يسمع عن كل البلدان التي سافرت إليها (أو التي تخطط للسفر إليها) في الوقت الذي يقترب فيه بسرعة من تسليم جزء هام وحاسم من المشروع الذي يعمل عليه. اترك الأحاديث الصغيرة لاستراحات القهوة والوجبات، وهناك حل أفضل، خذ شريكك في العمل واستفد من بعض اللقاءات المحلية. الجانب الآخر من الطيف والمتعلق بالتفاعل البشري هو الوحدة التي قد ترافق نمط حياة الرحالة. إن لم يكن لديك فريق تتواصل معه يوميًا، فوجودك وحيدًا في مدينة جديدة يمكن أن يصبح محبطًا. اخرج من منطقة الراحة الخاصة بك واستكشف المدينة، اجلس في المطعم واسأل السكان المحليين عن أماكنهم المفضلة. اذهب إلى أماكن اللقاء واشترك في منتديات لرحالة آخرين في منطقتك. هذه فرصة رائعة للتعرف على أصدقاء جدد بالإضافة إلى جهات اتصال مستقبلية محتملة للعمل. العمل من منطقة زمنية مختلفة سيوفر وضع التوقعات في بداية الشراكة عليك الكثير من وجع الرأس عندما يتعلق الأمر بحل مشاكل المناطق الزمنية المختلفة مع عميلك. إن كنت تسبق عميلك بـ12 ساعة، ومن المتوقع أن تقوم بعدة محادثات عبر الفيديو في اليوم الواحد، فقد تجد إنجاح هذا النوع من العلاقات صعبًا. مع ذلك، يجد الرحالة الرقميون في كثير من الحالات طرقًا لفعل ذلك، ويكون أرباب عملهم مرنين عندما يتعلق الأمر باختلاف المناطق الزمنية. لحسن الحظ، هناك العديد من الأدوات المتاحة لتسهيل هذا الأمر، وأولها تقويم غوغل. تشمل الأدوات البسيطة الأخرى وورلد تايم بادي World Time Buddy وكالندي Calendy، اللذين يقومان بالمزامنة مع تقويم غوغل ليسمحا لك بتجهيز ومشاركة ساعاتك “المتاحة” مع العملاء والمتعاونين. فبمجرد أن تحجز نافذة زمنية، تُحجب في جدول أعمالك، ولا يمكن أن تُحجَز مرة ثانية. إن نجاحك في الترحال الرقمي يتوقف على قدرتك على إنشاء ورعاية العلاقات مع عملائك وزملائك في العمل بالرغم من المسافة. إن التركيز على الاتصالات الواضحة والشفافة، واستخدام التقنية لمصلحتك في الوقت والزمان المناسبيْن سيساعدك على اكتساب المزيد من الأعمال بغض النظر عن المكان الذي قد تقودك إليه مغامرتك التالية. ترجمة - بتصرّف - للمقال 5 Essential Communications Strategies for Digital Nomads لصاحبه Rena Obrien. حقوق الصورة البارزة محفوظة لـ Freepik1 نقطة
-
عند تصميم الملف استخدم معادلات VLOOKUP سوف تصممم جدول تضع فيه خانة اسم الدورة في عامود ثم بداية الدورة في العامود التالي ثم نهاية الدورة في العامود الثالث وتقوم بعمل هذا الجدول اما في نفس ال sheet او في sheet مختلف ثم تعود لتبدا باستخدام المعادلة في خانة الناتج وهنا هي خانتي بداية ونهاية الدورة وتبدا في تفعيل المعادلة التي ستطلب منك تحديد مدى الجدول المطلوب استخراج البيانات منه lookup_array والخانة المطلوب استحابة منها lookup_value وهنا ستكون خانة اسم الدورة ثم col_indx_num هنا عدد الاعمدة في الجدول المستخدم بياناته وفي حالتنا 3 اعمدة اسم الدورة تاريخ بداية الدورة تاريخ نهاية الدورة ثم يطلب range_lookupوهذا اختياري يكتب فيه true or false الافضل كتابة false فيظهر لك علامة N/A اذا تم كتابة اسم دورة خارج نطاق الجدول او غير مذكورة فيه فيكون نوع من التنبيهلمن يدخل البيانات1 نقطة
-
تؤثر طريقة تعاملك مع العميل – والعمل بحد ذاته –على نجاح العلاقة بالتأكيد. التسليم في الموعد النهائي، وأداء العمل بجودة عالية، والالتزام بالنطاق المحدد، والتواصل الواضح والمستمرّ؛ كل ما سبق هي المبادئ الأساسية للعمل كمستقل. ما لم يُتطرَّق له كثيرًا هو كيف توجه علاقات عملائك الجدد نحو النجاح حتى تجري كل تلك الأمور بسهولة؛ وربما بطريقة طبيعية. إليك تسع طرق لتدفع بنفسك نحو النجاح عندما تتعامل مع عميل جديد. 1. حدد ميزانيتك النهائية الخطوة الأولى بعد حصولك على عميل أو مشروع جديد هي أن تحدد ميزانيتك، المبلغ الذي سيُدفَع لك، ومتى وكيف سيتم ذلك. اجعل العميل يوافق على ما سيدفعه لك خطيا – في العقد الخاص بك، أو بواسطة البريد الإلكتروني، أو على منصة مستقل. حدد بوضوح الساعات التي من المتوقع أن تعمل فيها ( إن كنت تعمل بمعدل ساعي) أو ما هو المعدل الثابت للمشروع حتى تُنهي العمل بالكامل. في أغلب الاحيان ستُذكَر ميزانيتك النهائية التي اتُّفِق عليها في نطاق العمل. 2. حدد نطاق عملك كتابيا خلال مرحلة التفاوض مع العميل الجديد، يجب أن تكون قد حددت أهدافه ووافقت على كيفية مساعدتك له في تحقيق هذه الأهداف. قبل أن تباشر رسميا بالعمل، أعد تكرار ما اتُّفِق عليه من ناحية الإنجازات والتوقعات من كلا الطرفين كتابيا. على نحو مشابه لميزانيتك النهائية، بإمكانك المشاركة والموافقة على نطاق عملك في أي مكان تستطيع إعادة النظر فيه في حال حدوث مشكلة أو خلاف. يجب أن يتضمن نطاق عملك، في الحد الأدنى، ما يلي: الإنجازات المتوقعة منك: ما هو العائد على العميل. تاريخ استحقاق إنجازاتك: أسبوعيا، شهريا، ربعيا – مع ذكر التواريخ بدقة. أهدافك الكمية (المقاييس) والنوعية كمستقل: النتائج التي من المتوقع أن تقدمها. كيف سيتم قياس نتائجك: مقاييسك الأساسية: الاشتراكات، المتابعات، زيارات الموقع .. إلخ. كيف ستُبلَّغ عن نتائجك، ومن هو المسؤول عن مراقبة النتائج ومتى. أية اجتماعات من المتوقع أن يحضرها احد الطرفين أو كليهما: على سبيل المثال، متابعات أسبوعية. المبلغ الذي سيُدفَع لك، متى وكيف. النقاط الهامة التي يتم تحقيقها. إن نطاق العمل هو الطريقة الأكثر كفاءة وفعالية لإدارة التوقعات. يمكنك أنت وعميلك أن تعيدا النظر في توقعاتكما عندما يظهر أي سؤال حول الإنجازات. تعمل التوقعات كاختبار للنزاهة للتأكد من أن الجميع متفقون، كما يمكنها أن تكون أداة رائعة للتأثير عندما يتم التفاوض على نطاق أكبر أو معدل أعلى. 3. اتفق على معايير التواصل وآليته ستتداخل طريقتك في التواصل قليلا مع نطاق عملك، لكنها تتعدى ذلك. يجب أن توضح طريقتك كيف ستتواصل مع عملائك، وماهي الطرق التي ستستخدمها (على سبيل المثال Slack أو Trello أو Asana). يجب أن تغطي أيضا ما سيتم إنجازه عند كل اجتماع مع الفريق، ومتى سيتم الاجتماع، واية توقعات أخرى للتواصل. ستتعرض طريقتك لبعض التجارب والأخطاء وستتغير مع مرور الوقت. حاول أن لا تكون مقاوما جدا للتغيير بغية التوصل الى ما يناسب الطرفين بطريقة أفضل. على سبيل المثال، أنهت CloudPeeps تحديثا يتعلق بالكيفية التي نجتمع فيها مع عملائنا ونضع مسارات عمل جديدة للبقاء على تفاهم بين الاجتماعات. كان هذا هو الحل الأفضل لنا من ناحية الإنتاجية وإزالة العقبات. لكن الأمر تطلب بضع مقاربات لمعرفة الأنسب لنا، خاصة وأننا منتشرون في مناطق زمنية مختلفة. 4. اجمع كل كلمات المرور وأمِّن الملفات كجزء من آلية تواصلك مع العملاء الجدد، اجمع كل كلمات المرور المرتبطة وتسجيلات الدخول في اللحظة التي تبدأ فيها عملك. نقترح أن تستخدم منصة آمنة كـ 1Password لتضمن ألا تُختَرَق المعلومات الحساسة لعميلك. يمكنك أن تنشئ في 1Password مجلدا خاصا بكل عميل بحيث يكون كل شيء منظما ويسهل الوصول اليه من مكان واحد. (نصيحة من الخبراء: تذكر أن كل البرمجيات التي تدفع لاستخدامها في عملك كمستقل تخضع لضرائب قابلة للخصم!). 5. حدّد أهدافًا مرحلية يخلُق تقسيم المشروع على مراحل فرصة لإعادة التفاوض. حدّد واحدا أو أكثر من أهدافك في اتفاقية العمل لتكون فرصة لإعادة النظر فيما أُنجِز، وكيف أُنجِز. يمكنك، عوضا عن ذلك، تقسيم المشروع على مراحل ومراجعتها دوريًّا. نعيد - في CloudPeeps - كل ثلاثة أشهر النظر في المحتوى وإستراتيجيات المجتمع الخاصة بنا لتحديد ما الذي نجح وما الذي لم ينجح وما هي التغييرات الواجب إجراؤها. هذا هو الوقت المناسب للاحتفال بالانتصارات وإعادة ترتيب الأولويات. تتضمن الأمثلة عن الأهداف المرحلية: مراجعة المحتوى، الوصول لـ 10.000 متابع على تويتر، عقد مراجعة التقارير، 1.000 اشتراك ..إلخ. 6. جهّز عمليتك الداخلية كلما حضّرت نفسك لعمل ناجح مع العميل، كلما كان ذلك أفضل. وهذا يعني التنظيم. تأكد من تحديث مفكرتك بمواعيد اتصالات عملائك واجتماعاتهم، أنشئ ألواح Trello أو مشاريع Asana التي ستستخدمها، حمّل أية أدوات أخرى قد تستخدمها في العمل، أنشئ ملفات آمنة في حسابك على Dropbox لتحفظ كل أعمالك .. إلخ. أنشئ قائمة يومية أو أسبوعية بكل ما يتوجب عمله لهذا العميل أو المشروع. بتلك الطريقة، يمكنك الاستيقاظ كل يوم وأنت تعرف تماما ما الواجب إنجازه. إن فعلت ذلك مع كل عملائك، ستكون قادرا على تحسين عملك كمستقل أسرع مما يمكن تخيله! 7. افسح مجالا لردود الفعل التواصل الواضح والمستمر بين المستقل والعميل هو حجز الزاوية في أية علاقة ناجحة. والجزء الأهم بناء تواصل مستمر هو إيجاد طُرُق لتلقي ردود اﻷفعال باستمرار. عندما تضع جدول أعمال للاجتماعات الأسبوعية، خصص وقتا لعميلك ليشارك بردود فعله البناءة حول العمل الذي قمت به. الاعتراف بردود الفعل – السلبية أو الإيجابية – عن طريق إعادتها مرة أخرى والتفكير العميق بما يمكنك القيام به على نحو مختلف، أو الاستمرار بما تقوم به، هو الطريقة الوحيدة لتبقي عملاءك سعداء وراغبين في مواصلة العلاقة. 8. ضع الحدود مقدما أخبر العميل مسبقا، عند تحديد نطاق العمل وآليات التواصل، بأي عطل أو إجازات تخطّط لها. تتّضح بهذه الطريقة التوقعات، ويمكنك أنت وعميلك التخطيط وفقا لها. إن كنت، على سبيل المثال، مديرا لشبكة اجتماعية وستأخذ عطلة، جدوِل المنشورات قبل أن تغادر، وتأكد من قيام شخص من الفريق بالرد على أي شيء عاجل – وبذلك يتوفر لديهم كل ما يحتاجونه للقيام بذلك. الأهم من ذلك كله، أظهر الأوقات التي تكون متاحا فيها للإجابة على البريد الإلكتروني، الرسائل الفورية أو المكالمات. أيا كان ما تفعله، قاوم الرد على البريد الإلكتروني للعميل في الحادية عشرة مساءً ما لم يكن شيئا عاجلا للغاية. ضع الحدود والتوقعات مبكرا حتى لا يساء استخدامها لاحقا. سيحترم العميل حقيقة كونك تعمل مع عملاء آخرين ولديك حياتك الخاصة. حقق الاستفادة القصوى من ادوات مثل Boomerang التي تتيح لك جدولة رسائل البريد الإلكتروني لإرسالها في وقت لاحق. 9. أنشئ قائمة لتهيئة العميل اجمع الخطوات المذكورة سابقا في قائمة ليتاح لك استخدامها مع كل عميل. Trello اداة رائعة لعمل ذلك. فوجود عملية مكررة سيجعل مسألة تهيئة العميل أسرع وأسهل بكثير ولن يغيب عنك شيء منها. يمكنك أيضا مشاركة هذه القائمة مع عملائك حتى يعرفوا ما الذي يتوقعونه خلال العملية ويحضّروا كل ما يحتاجونه مقدما. إضافة لذلك، فكر بمدى اعجابهم بمهاراتك التنظيمية! ترجمة - بتصرّف - للمقال 10 ways to set your new client relationships up for success. حقوقالصورة البارزة محفوظة لـ Vecteezy1 نقطة
-
لا غنى للمرء عن النصيحة سواء في حياته اليومية أو العملية، ولكن يجب الانتباه إلى أمر مهمٍّ للغاية، وهو أنّه يمكن في بعض الأحيان أن يقدّم الأشخاص الجيّدون نصائح سيئة. فكيف تميز بين النصيحة الجيدة والنصيحة السيئة؟ يجب عليك أن لا تتبع جميع النصائح التي نقدّمها إليك في هذه المدوّنة، ومن المؤكد أن الأمر يبدو غريبًا، ولكن مهما بذلنا من جهد فإن النصائح التي نقدّمها ليست ملائمة لجميع المشاريع التجارية، ولو كانت كذلك، لتحولت المدوّنة إلى مدوّنة عامة مملة عديمة الفائدة. بناءً على ذلك، ونظرًا لكوننا نرغب في جعل مدونتنا مفيدة لجميع المشاريع التجارية الصغيرة، فإنّ كل مقال ينشر فيها يمكن أن يلائم فقط بعضًا من هذه المشاريع. وهذا الكلام ليس محصورًا في مدونتنا، بل يشمل جميع المدوّنات التي تقدّم محتوى ذا قيمة عالية في شبكة الإنترنت. ومن المؤكد أن هناك الكثير من النصائح الرائعة التي تقدّمها هذه المدوّنات، ولكن يستهين الكثيرون بفكرة أن يكون المرء قادرًا على تصفية هذه النصائح وتحديد ما يمكن الاستفادة منه وما يجب الابتعاد عنه، إلى جانب إدراك كيفية تطبيق النصيحة على الحالة الخاصّة لمشروعه التجاري. فعلى سبيل المثال، يعدّ Chris Sacca واحدًا من المستثمرين الناجحين جدًّا في الشركات الناشئة، وقد أخبر Chris مؤسسي Dropbox بأنّ عليهم أن يعيدوا توجيه الشركة بدلًا من محاولة تحدّي شركة Google. “لقد تركت Dropbox ﻷني كنت أستخدم Google Drive وقد أخبرت المؤسّسين بأنّ شركة Google ستقضي عليهم”. هل يبدو Chris غبيًا؟ لا، على الإطلاق. بل هو في غاية الذكاء، لكنّ مؤسسي Dropbox كانوا أذكياء أيضًا عندما قرّروا عدم الاستماع لهذه النصيحة. ولك أن تتخيل ما ستؤول إليه الأمور لو أنّهم قد استمعوا إلى النصيحة التي قدّمها إليهم رائد الأعمال والمستثمر الناجح والمشهور. لا شيء أكثر من النصائح في شبكة الإنترنت، فهي منتشرة في كل حدب وصوب، وبعد أن تحدّثت إلى عدد كبير من مؤسسي الشركات الذين ورّطوا أنفسهم بالاستماع إلى النصيحة الخاطئة، قرّرت أن أكتب عن هذا الموضوع المهم، ألا وهو فنّ اختيار النصيحة المناسبة. 5 أسئلة تساعدك على تصنيف أي نصيحة تحصل عليها في كل مرّة أتلقى فيها نصيحة من أحد الأشخاص، أطرح على نفسي خمسة أسئلة، وقد وجدت أن للإجابة عن هذه الأسئلة أثرًا كبيرًا في اتخاذ القرار بشأن الأخذ بالنصيحة أو الإعراض عنها. 1) ما هي وجهة نظر الناصح التي دفعته إلى تقديم هذه النصيحة؟ أحد أكثر الأسئلة شيوعًا في الجامعة - حسبما ما أذكر - هو ما يطرحه طلاب المرحلة الأولى على الطلاب الأقدم: “ما هي المقرّرات التي يجدر بي دراستها؟”. ولكن المشكلة كانت في أنّ بعض الطلاب كانوا يرغبون في دراسة المقرّرات التي تقدّم لهم شيئًا من التحدّي وأكبر قدر من المعلومات التي يمكن لهم تعلمها، وفي المقابل يرغب البعض الآخر بالمقرّرات السهلة والتي تتيح لهم الحصول على أعلى الدرجات مقابل أقل مجهود. ولا شكّ في أنّ وجهات النظر المختلفة هذه ستؤثّر بشكل كبير على طبيعة النصيحة التي سيقدّمها الطلاب القدامى إلى الطلاب الجدد. والأمر ذاته ينطبق على موضوعنا هذا، إذ لا يبحث كل من تطلب منه تقديم النصيحة عن المردود الذي تبحث عنه أنت، فقد يقدّم إليك بعض الأشخاص نصيحة تكون ملائمة في حال كنت ترغب في أن يحقق مشروعك التجاري نموّا بطيئًا وطويل الأمد، وقد يقدّم الآخر نصيحة تكون ملائمة عندما ترغب في أن يتوسّع مشروعك التجاري بصورة سريعة لتعرض بعدها شركتك للبيع، أو عندما ترغب في جذب مستثمرين جدد… الخ. يبدو جليًّا أن مسار العمل مختلف تمام الاختلاف في كل حالة من الحالات السابقة؛ لذا لا تنظر إلى النصيحة وحسب، بل إلى وجهة النظر التي تدعمها. 2) إلى أي مدى تشكل تجربة الناصح انعكاسًا لتجربتي الشخصية؟ صحيح أنّ الحصول على النصيحة من أشخاص مرّوا بتجارب مختلفة عن تجاربنا أمر مفيد للغاية، ولكنه في الوقت نفسه أحد العوامل المؤثرة في اتخاذ القرار بشأن قبول النصيحة من عدمه، إذ من الضروري معرفة ما إذا كانت النصيحة التي نتلقاها مرتبطة بما نقوم به أم لا. يميل الناس إلى تقديم النصيحة من باب “لو كنت مكانك لفعلت كذا وكذا”، ولكن عندما تكون تجربة الناصح مختلفة بشكل جذري - على سبيل المثال حصل هذا الشخص على تمويل مخاطر ويستطيع الاعتماد على هذا التمويل لما يزيد عن 18 شهرًا - فإنّ تلك التجربة ستطغى بشكل كبير على النصيحة التي سيقدّمها، إذ قد تكون النصيحة بأن تقدِم على مجازفات أكبر من المعتاد في حين أنّك لا تمتلك المال الكافي للقيام بذلك. لذا، عندما تتلقى نصيحة من أحد الأشخاص لا تنس أبدًا أن تأخذ تجربته بعين الاعتبار. 3) هل النصيحة متماشية مع آرائي ومعتقداتي؟ هناك حقيقة لا مفرّ منها، وهي أن اﻹنسان بطبعه يميل إلى تقبّل النصيحة التي تتفق مع معتقداته وآراءه على حساب النصيحة التي تناقض تلك المعتقدات. وهذا يعني أنّه عندما يكون اﻹنسان في موضع اتخاذ قرار معيّن بعد تلقّي نصائح من مصادر مختلفة، فإنّه يميل لا شعوريًا إلى النصيحة التي تتّفق مع آرائه. ولكن هذا ليس باﻷمر السيئ في جميع اﻷحوال (سأوضّح ذلك بعد قليل) ولكن يجب توخّي الحذر من هذه المسألة. صحيح أن التجرّد من هذه الانحياز أمر صعب للغاية، ولكن إدراك وجوده يعدّ خطوة مهمّة باتجاه منح جميع النصائح ما تستحقه من التأمّل والتفكير. 4) ما هي أوجه الشبه والاختلاف بين النصائح التي تلقّيتها؟ في أحد اﻷيام قدّم لي أحد المستشارين الذين كنت أعمل معهم نصيحة أعدّها اﻷفضل في حياتي، وكانت بشأن ما يرى أنّ علي فعله تجاه توظيف أحد اﻷشخاص في شركتي. أخبرني ذلك المستشار برأيه حول الموضوع، ثم أردف قائلًا: “وقبل أن تقدم على فعل أي شيء، اسأل ثلاثة أشخاص آخرين”. هذه النصيحة مطابقة تمامًا لفكرة عرض حالتك الصحية على طبيب ثانٍ ومعرفة تشخيصه لها، وهذا أمر ضروري للغاية إذ أنّه يضمن لك الحصول على رؤية أوضح وأشمل حول جميع الخيارات المتاحة أمامك. 5) إذا كانت النصيحة غير ملائمة، هل أستطيع تحمّل التبعات؟ هنالك شخص واحد فقط يتحمّل مسؤولية القرارات التي تتّخذها، وهذا الشخص هو أنت. وإن تضرّرت من اتباع نصيحة أحد اﻷشخاص، فأنت وحدك المسؤول عن ذلك. من هنا عليك أن تنتبه إلى أمرين اثنين: أولًا: عليك تحمّل كامل المسؤولية عند اتخاذ أي قرار. ثانياً: في بعض اﻷحيان يفضّل أن تتبع حدسك وتقع في الخطأ (وأن تتعلم من الخطأ بالطبع) على أن تتبع نصيحة شخص آخر وتقع في الخطأ (وتندم على عدم اتباع حدسك). كيف تطلب النصيحة من اﻵخرين يمكن الاستفادة من الأسئلة الخمسة السابقة في التفكير حول طريقة طلب النصيحة من اﻵخرين. وكلّما كنت واضحًا في طرح اﻷسئلة، كانت اﻹجابات التي ستحصل عليها أوضح، وكانت التغذية الراجعة التي ستحصل عليها أقوى وأفضل. لذا، في كل مرة تطلب النصيحة، احرص على أن تتضمن اﻷمور التالية: النتيجة التي ترغب في الوصول إليها. الخيارات التي تفكّر بها في الوقت الحاضر (إلى جانب تقديم دليل على أنّك فكّرت بشكل جدّي حيال هذه الخيارات). أي أمور مهمّة أخرى مرتبطة بالموضوع. لنأخذ هذا السؤال على سبيل المثال: وقارنه بالسؤال التالي: ما الذي ستفعله لو كنت مكاني؟ أيّ السؤالين يبدو أقوى في نظرك؟ أيّهما سيحصل على النصيحة اﻷفضل في رأيك؟ أيّ منهما سيحصل على إجابة من اﻷساس؟ إن لم تحصل على نصيحة جيّدة، فالسبب على الأرجح هو أنّك لم تقم بطرح السؤال بصورة صحيحة؟ كيف تطبّق هذا اﻷمر في مشروعك التجاري إن الحصول على التغذية الراجعة من أكثر الأمور أهمية بالنسبة إلى مشروعك التجاري بل وإلى حياتك بشكل عام، ولكن تلقي الكثير من النصائح قد يسبب بعض الارتباك أو الحيرة، ومن السهل أن ينسى المرء أن يعتمد على ما تمليه عليه أفكاره عندما يتلقى النصيحة من ذوي الخبرة والدراية. آمل أن تساعدك هذه المقالة في الحصول على نصائح أفضل في المستقبل، وأن تصبح قادرًا على معرفة الوقت والطريقة اﻷنسب للتصرف حيال النصائح التي تتلقّاها. ترجمة - وبتصرّف - للمقال How I Filter the Advice I Get About Business and Life لصاحبه Alex Turnbull. حقوق الصورة البارزة محفوظة لـ Freepik1 نقطة