المحتوى عن 'تطوير ذاتي'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML5
  • CSS
    • Sass
    • إطار عمل Bootstrap
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • استسراع النمو
  • المبيعات

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 2 نتائج

  1. أتعرض في كثير من الأوقات لأسئلة من قبيل: كيف يمكن للمرء أن يصبح كبير مطوري البرمجيات أو مهندسي البرمجيات؟ كيف يمكن أن يصعد المرء من مبرمج مبتدئ إلى قائد فريق برمجيات يقود سيارة BMW ويتقاضى سنويًّا ما يزيد عن 150 ألف دولار؟ ما هي - بدقة - الخطوات التي تجعلني أحصل على ذلك بسرعة دون أن أضيع الوقت؟ دعوني أشارككم ما أعتقد أنه قد يكون مفيدًا جدًّا للجواب على هذه الأسئلة. قبل الكتابة حول الموضوع، بحثت كثيراً على Google ووجدت مقترحات كثيرة مثيرة للاهتمام، مثل: أن تكون مفيدًا تكوين الصداقات تجنب الصراعات اتّخاذ أسلوبك الخاص أن تعمل كثيراً على الشفرات البرمجيّة وكتابة التطبيقات الممارسة والتدريب أن تثبت خطأ رؤسائك؛ وغير ذلك من المقترحات. بعضها كان جيداً، وبعضها خاطئ بلا ريْب، ولكنّ معظمها بعيد جدًّا عن النقطة الرئيسية. أريد أن أشارك ما أرى أنها نصائح صريحة نوعًا ما (أفادتني ولازالت تفيدني) من ما يجب عليك القيام به غدًا لتصبح مهندس برمجيات تتقاضى 100$ في الساعة في غضون سنوات قليلة. 1. لا تكن مخلصاً إن الشركة التي تعمل فيها حالياً هي مجرد حقل تدريب، لا شيء آخر. لا تستثمر ولا دقيقة إضافية من وقتك فيها. كن أنانيًّا، لا تفكر إلا في نفسك ومهاراتك الشخصية ومعرفتك وخبرتك. هل يدفعون لك لتكون مكرَّسًا لهم؟ حسنًا، هذا خطؤهم. استخدمهم لتعلّم تقنيات جديدة، تجربة أفكار جديدة، تدريب وتثقيف نفسك، الحصول على شهادات جديدة، التعرف على أشخاص جدد، وما إلى ذلك وليس العكس. 2. لا تعمل كموظَّف تأكد من أن البرمجة هي هواية وليست وظيفة. يجب أن يكون كل شيء آخر ثانويًّا بالنسبة لك، بما في ذلك الأسرة والأصدقاء. واجعل من هندسة البرمجيات عائلتك، حبك، صديقك، وحياتك. بدون هذا الموقف الشغوف ستكون دائمًا عبدًا للذين يفكرون بهذه الطريقة. يجب ألّا تعمل كموظَّف ينتظر الراتب، بل أن تكون متعة جلوسك أمام الحاسوب أكبر من أي شيء آخر . إذا لاحظت أنك تتوقف عند كتابة بعض الشفرات البرمجيّة لأنك لا تريد أن تكمل فاعلم أن حياتك المهنية في خطر. 3. لا للصداقات أنا أتحدث عن العلاقات المهنية في المكتب، ضمن المشاريع، في الشركة التي تعمل بها. تذكر أن 99% من الناس لن يصبحوا خبيرين. وسيبقون مبرمجين بدون أي طموح. ما هو سيء حقًّا بالنسبة لك أنهم يريدونك معهم، ولا أحد ممن حولك في العمل يريد أن يرى تطوّرك المهني، حتى أقرب أصدقائك سيصبحون أعداء لك دون أن يعووا ذلك، ولكن لا شعوريًّا سيفعلون ما بوسعهم لمنعك من الحصول على الأفضل وتركهم. سيكون لازمًا عليك تركهم عندما تكبر، لذلك تجنب صداقات العمل وتعامل معهم على نحو مهني بحت. 4. لا تكن مفيدًا هناك أكثر من 10 مليون مبرمج في العالم. إنهم جميعًا بحاجة للمساعدة. فلماذا تريد مساعدة المتأنق الذي يجلس إلى جانبك في المكتب؟ فلن تنقذ العالم من خلال مساعدة الناس حولك. إذا كنت تريد حقًّا فعل الخير لصناعة البرمجيات، يمكنك التركيز على أشياء أكبر مثل: جعل منتج مفتوح المصدر، تأليف كتاب، تحسين توثيق Documentation المشروع الذي تعمل عليه. واعلم أنك عندما تساعد من حولك أنت تسهم بشلهم لا شيء آخر. 5. لا تطلب المساعدة يجب أن تتوقع من المبرمجين حولك نفس الموقف، وتنطبق عليك نفس الحجة: هناك أكثر من 6 ملايين حساب مسجل على منصة StackExchange، في حال كنت تحتاج للمساعدة، يمكنك أن تطلب منهم. وتذكر أنك تجعل الحياة أسهل على المدى القصير عندما تطلب ممن حولك المساعدة ولكنك على المدى الطويل ستفتقر إلى مهارة كيفية العثور على المعلومات. وستصبح رهينة لهؤلاء الأصدقاء الذين يساعدونك. علاوةً على ذلك، لا تتعلم ممّن حولك، بل من الكتب، StackOverflow، البرمجيات مفتوحة المصدر. 6. لا تضيّع الوقت وربما هي النصيحة الأهم، التي لا بُدّ من أن أقدمها لنفسي أولاً، لأنني أضيع الكثير من الوقت. في الواقع قول “لا” شرط أساسي للتقدّم. يجب أن تكون مستعدًّا لقولها للأصدقاء، للعائلة، للعادات، الرغبات الخاصة، المشاريع، الزملاء، الأساليب، وأسطر من التعليمات البرمجية. يجب أن تُوقِف المشاريع التي تأخذ وقتًا دون أن تحرز من خلالها تقدمًا. لا تعد الاتصال بمن يحتاجك ولا تحتاجه، قد يبدو ذلك قاسيًّا وأنانيًّا، ولكنها الطريقة الوحيدة للوصول إلى ما تريد. كن جشعًا جدًّا عندما يتعلّق الأمر بالوقت فهو موردك الرئيسي. 7. لا تبخل على تطوير ذاتك يجب أن تستثمر في نفسك. أولاً وقبل كل شيء في شراء الكتب المتخصّصة، أنفق عليها من مالك، وتأكد أنك ستحترم نفسك لامتلاك المكتبة. ستشعر أن هندسة البرمجيات معك إلى الأبد، وأنها ليست مؤقتة، إنها ليست مجرد وظيفة، إنها حياتك. كتابان هما الحد الأدنى شهريًّا. يجب أن تدفع من مالك بنفس الشغف للحصول على شهادات. عليك الدفع للحصول على البرمجيات وليس سرقتها. وأخيراً لا تبخل على نفسك بشراء حاسوب محمول بمواصفات عالية، فهو أهم بكثير من السيارة لأنه صكك. 8. لا تعمل بدوام كامل حاول قدر الإمكان البقاء بعيدًا عن العمل بدوام كامل، لأن قضاء ما بين 9 إلى 5 في وظيفة توقيف أكيد لتطوّرك المهني. يعطيك العمل في وظيفة بدوام كامل لمدّة طويلة دخلا ثابتا، بيئة مكتب مريحة، مجموعة مشاكل تقنية يمكن التنبؤ بها وحلها، وبذلك تصبح خبيراً في منطقة صغيرة؛ وفي الوقت نفسه تطمئن نفسك ويبتعد عنك الخوف. نعم، الخوف. لم تعد خائفا من ما تحمله المشاريع التي اعتدت العمل عليها؛ وهذا هو سبب التوقف عن التقدّم. عليك دائما، لتتقدّم بسرعة، أن تجد تحديّات جديدة: مهمّات جديدة، فرق عمل جديدة ومشاريع جديدة، بالإضافة لإجراء مقابلات عمل جديدة. عليك أن تثبت دائمًا أنك تستحق شيئًا أفضل، من ناحية مثالية يجب أن تعمل على اثنين إلى ثلاثة مشاريع بدوام جزئي وتغيرها كل 6 إلى 12 شهراً. 9. لا تكن رخيصًا انس ما أخبروك به من أن “المال ليس كل شيء، المهم أن المشروع مثير للاهتمام أكثر من أي شيء آخر”، فهي عبارة الخاسرين. المال هو كل شيء. لأن المشروع المثير للاهتمام حقًّا سيجد تمويلا جيّدًا. المشاريع غير المموّلة هي مشاريع لا يحتاجها السوق، لذا لم تجد أحدا ينفق عليها. ماذا تفعل هناك إذًا؟ والجواب الوحيد أنك لم تكن جيدًا مثل الآخرين. نصيحتي ألّا تولي اهتمامًا لتلك القصص الرخيصة. اطلب الدفع مقدمًا قدر الإمكان. 10. لا تشكك في أهمية الشهادات المتخصّصة يعتقد الكثير من المبرمجين أنّ الشهادات المتخصّصة ليست لديها أهمية كبيرة، لأنها لا تحقق شيئا في الواقع وهي مجرد مصدر لهدر المال وتعبئة جيوب الشركات الكبيرة. لا أشاركهم وجهة النظر هذه. تساعدك الشهادات المتخصّصة على إضفاء الطابع الرسمي على عملك، وتضع الحدود من حوله، وتعمل على إزالة الثغرات. وتعطي الانطباع بالجدية والخبرة لدى أرباب العمل المحتملين. 11. لا تتجاهل الإدارة كونك مبرمجًا جيدًّا لا يعطيك الحق أن تعدّ نفسك مهندسًا جيّدًا أو قائد فريق. يوجد تسلسل هرمي في المشاريع، ولكيْ تصعد في هذا الهرم يجب أن تفهم كيفية إدارة المشاريع، فمدير المشروع ليس مجرد شخص لطيف يرتدي بدلة رسمية. إدارة المشاريع علم توجد به الكثير من القواعد والمبادئ والأساليب، مع أفضل الممارسات التي تجب دراستها لتصبح جيدًّا. عليك دراسة هذه القواعد وأن تكون جيدًّا جدًّا فيها كما تجيد لغة البرمجة المفضَّلة لديك. حاول الحصول على شهادة متخصّصة في إدارة الأعمال (PMBOK في مرحلة أولى ثم PMP في مرحلة لاحقة). 12. لا تقلل من أهمية الإنكليزية ليس الإنكليزيّة لغةَ غالبيّة قراء مدوّنتي، وهو ما ينطبق عليّ، هذه الفقرة موجّهة إليهم. يجب أن تُحسن مهاراتك في اللغة الإنكليزية تحدّثًا وكتابة. الأمر في غاية الأهمية إذا كنت ترغب أن تصبح مهندس برمجيات بأجر كبير. يجب أن تتحدث الإنكليزية كما يتحدثها الناس في سان فرانسيسكو وليس كما يتحدثوها في موسكو. وأفضل نصيحة أقدمها لإتقان اللغة الإنكليزية هي مشاهدة الأفلام مع الترجمة. يجب أن تتكلم وكأنك Matt Damon أو Al Pacino، وليس كما يتحدثها Mutko (سياسي روسي سبق له العمل وزيرًا للرياضة). 13. لا تتجاهل المصادر المفتوحة يجب أن تكون نشيطًا في مجتمع المصادر المفتوحة. فإما أن يكون لك مشروعك مفتوح المصدر أو تسهم بفاعلية في مشروع مفتوح المصدر قائم فعليًّا. يختلف العمل في مكتب مغلق البيئة تمامًا عن كتابة التعليمات البرمجية المرئية للعالم بأسره. يخاف معظم المبرمجين من ذلك ويختلقون الأعذار ليكونوا بعيدين عن هذه الفكرة. نعم، إنها صعبة ومرهقة، وتستهلك الكثير من الوقت لا يوجد أحد يحفزك ويدفعك فيها. ولكنها في الواقع أسرع وسيلة للتقدّم. علاوة على ذلك، أود أن أوصي بفتح الكثير من الشفرات المصدرية الممكنة، حتى لو كُتبت لمشاريع خاصة تجارية، وبعض الشركات لا يعارض ذلك. 14. لا تكن غير مرئي تأكد أن لديك حسابًا على وسائل التواصل الاجتماعي، جنبًا إلى جنب مع المدونة الخاصة بك. يجب أن تكون موجودًا على الوِب. هل أنت مهندس برمجيات جاد؟ يجب أن تكون قادرًا على إظهار صفحاتك المهنيّة في نتائج البحث. 15. لا تكن حبيس المنزل عليك حضور الندوات واللقاءات ومؤتمرات البرمجيات مرة واحدة على الأقل في الشهر. عليك التواجد في المكان الذي يتجمع فيه المبرمجون. ولا يعني ذلك أن تكون فائق النشاط مع الكثير من الأصدقاء، يكفي أن تكون هناك وتشاهد. في نهاية المطاف سيأتي الوقت الذي تُدرك فيه أنه حان الوقت لتصبح متحدثًا. 16. لا تنس الاسترخاء لا أحد يحب أولئك الذين يحصلون على قَصّة شعر لمرة واحدة في السنة. ربما يُوظَّفون باحترام لأداء مهامّ البرمجة، لكنهم لن يُأخَذوا على محمل الجد بوصفهم مرشّحين للحصول على دور المسؤولية. بدلاً من ذلك عليك الاهتمام بكيفية قضاء وقت فراغك في الاسترخاء وهناك قائمة قصيرة من الأنشطة التي يمكنك القيام بها: الرياضة، السباحة وغيرها. بيت القصيد أن تكون شخصًا عاديًّا. ترجمة - بتصرّف - للمقال 16 Don’ts of Career Growth لصاحبه Yegor Bugayenko.
  2. وردتني الكثير من الرسائل اﻹلكترونية خلال اﻷشهر القليلة الماضية من قبل مبرمجين تعلّموا البرمجة بأنفسهم، وهم يرغبون في الانطلاق في مسيرتهم المهنية كمبرمجين مستقلين، وقد تضمنت هذه الرسائل الكثير من الأسئلة مثل كيف أبدأ العمل كمستقل... وغيرها من اﻷسئلة التي تعكس ما مررت به عندما بدأت العمل كمبرمجة مستقلّة. كنت أسأل نفسي دائمًا فيما إذا كنت مستعدة للعمل كمستقلة، وهل سيطلب منّي أحد ما أن أبرمج له مقابل أجر ماديّ. لم أكن أعرف كيف أتحول من مبرمجة مبتدئة إلى مطوّرة حقيقية، وكيف أدخل ميدان العمل الحرّ بشكل صحيح. كنت مصدومة بمقدار الخوف والقلق الذي كان يقف في طريقي: الخوف من المجهول. الخوف من تضييع شهور أو حتى سنوات في تعلّم شيء قد لا يجدي نفعًا. الخوف من أن أصبح معروفة بكوني شخصًا فاقدًا للتركيز. الخوف من العودة إلى نقطة البداية. وباﻹضافة إلى هذه المخاوف، كانت تراودني العديد من اﻷسئلة، مثل: أشعر بأنّي لا أستطيع تعلّم البرمجة، وأنّي لا أتطور فيها بسرعة كافية. هل أمتلك الخبرة الكافية لكي أحصل على عمل مقابل أجر مادي. أرغب في أن أعمل كمستقلّة، ولكني لا أعرف كيفية الحصول على عميلي اﻷول. وقد دفعني كل ما سبق إلى وضع هذا الدليل الشامل للإجابة عن هذه التساؤلات والتغلب على تلك المخاوف، لتتمكّن من تحديد الوقت والطريقة التي تبدأ فيها بالتحول إلى مبرمج مستقلّ والدخول في مضمار العمل الحرّ، لتشعر بالحرية والمرونة في العمل في كل يوم. ستجد في هذا المقال أفضل الخطط التي يمكن اتباعها لمعرفة: كيف تجد الوقت للبرمجة، وكيف تستثمر هذا الوقت بفعّالية. ما هي اللغات التي يجب التركيز عليها وما هي المصادر التي يجب اﻻستعانة بها. متى وكيف تبدأ عملية التحول إلى العمل الحر. كذلك ستجد خططًا واضحة ومحددة تساعدك في اتخاذ الخطوات المناسبة منذ البداية لتتجنّب المفاجئات في المستقبل. كما يمكنك الاستفادة من هذا المقال حتى لو كنت موظّفًا يعمل بدوام كامل. لقد استعنت بخبرتي الشخصية في كتابة هذا المقال، إضافة إلى أنّني أجريت بحثًا موسّعًا جدًّا، واعتمدت على مصادر مُختلفة، ما يعني أنّك لست بحاجة إلى تضييع وقتك في البحث عن اﻹجابات؛ ﻷنّك ستجدها مجتمعة في هذا المقال. حسنًا، أعتقد بأننّي قد تحدّثت كثيرًا، وقد حان الوقت للدخول إلى صلب الموضوع. لنتفق على أمر واحد: نعم، أنت مبرمج "حقيقي" هل تبدو هذه العبارة مألوفة لك: أسمع هذه العبارة بشكل دائم، سواء من قبل أشخاص مبتدئين أو من قبل الذين يبرمجون منذ عام أو يزيد. يسمّي Anthony Gold حالة الخوف هذه بـمتلازمة المحتال Imposter Syndrome، وتشيع هذه المتلازمة بين اﻷشخاص الذين يحقّقون النجاحات الكبيرة، وقد عانى من هذه المتلازمة كل من Denzel Washington و Tina Fey و Sheryl Sandberg و Meryl Streep وذلك في بداية حياتهم المهنية. وليزيد الطين بلّة، فإن المبرمجين الشباب يقابلون بكثير من الكراهية، إذ يكره الناس مقابلة اﻷشخاص الذين يلقّبون أنفسهم بألقاب مثل مطور برامج، أو مطور ويب، أو مطور "أي شيء". فلا عجب إذًا في أن ينتابك شعور بانعدام الثقة عندما تسمّي نفسك مطوّرًا، وأعني بـ "المطور" هنا ذلك الشخص الذي يكتب الشيفرات البرمجية ويحلّ المشاكل ويبني البرامج"، وسأستخدم مصطلح "المطوّر" هنا بشكل فضفاض، حيث سيشمل المصطلح المبرمجين (Programmers) والمُبرمجين الخارقين (Hackers) ومختبري البرمجيات (Coders) وعلماء الحاسوب (Computer Scientists). ولا أقصد بهذا الاستخدام الموسّع أن أشير إلى تشابه هذه التخصصات مع بعضها البعض، فهي ليست كذلك، بل الغرض من ذلك هو تسهيل النقاش إضافة إلى تداخل هذه التخصّصات مع بعضها البعض. ولا أقصد من هذه النقطة التركيز على المعنى اللغوي لهذه المصطلحات، أو الدخول في مناظرة لتحديد الفرق بين تخصّص وآخر، بل ما أقصده هنا هو وجود سبب يدفعك إلى تعلم البرمجة، سواء أكان الهدف إصلاح اﻷشياء أو بنائها أو تحسينها. ولكي نحسم اﻷمر بشكل نهائي نقول: إن كنت قادرًا على كتابة الشيفرات البرمجية وبناء أو تحسين اﻷشياء باستخدام الشيفرة، فأنت إذًا مُبرمج حقيقي. وفي المرة القادمة، عندما تسأل نفسك هذا السؤال تذكّر Anne Cahalan والتي لم تبدأ البرمجة منذ نعومة أظفارها، ودخلت إلى عالم البرمجة عن طريق الصدفة وتعلّمت البرمجة من خلال ورش التدريب. تتساءل Anne عن مدى أهمية أن يكون المطوّر مطوّرًا "حقيقيًا"؟ وما هو تعريف كلمة "حقيقي" وكيف يتم تحديد هذه الصفة، ولماذا لا نستطيع تحديدها بأنفسنا؟ بدلًا من التفكير في كونك مطوّرًا "حقيقيًّا" أم لا، يستحسن بك الخوض في التحديات، واكتشاف أشياء جديدة، وتعلم المزيد. فأنت وحدك من يقرر إذا ما كنت مطوّرًا "حقيقيًّا" أم لا، وبدلًا من التركيز على اتّصافك بهذه الصفة من عدمه، اجعل تركيزك منصبًّا على أن تكون مطوّرًا كبيرًا. يقدّم لنا Scott Hanselman و هو متحدّث ومدوّن ويدير بودكاست ومطوّر في Microsoft عددًا من النصائح التي تساعد في شحذ الهمّة وتطوير المهارات، وذلك في مقالته التي كتبها تحت عنوان "هل أنا مطوّر أم مجرّد شخص يُتقن البحث على Google ؟"، ومن جملة هذا النصائح: تذكّر أنك لست وحيدًا، ومن الجيد أن تشعر بمثل هذا الشعور، فهذا يعني أنّك قد خرجت من منطقة الراحة. تمرّن، ثم تمرّن، ثم تمرّن. حاول البرمجة دون اللجوء إلى محرك البحث Google لمدة يوم واحد، ثم بعد جرب ذلك لمدة يومين، ثم بعدها لمدة أسبوع. انسخ اﻷنماط بدلًا من نسخ الشيفرة. انخرط في المجموعات التي تضمّ أشخاصًا يقاسمونك نفس الشعور تجاه البرمجة والتكنولوجيا وتنمية الذات. الدرس اﻷول: لا تقلق بشأن كونك مطوّرًا "حقيقيًّا" أم لا، وركزّ بدلًا من ذلك على التمرين، وانسخ نمط كتابة الشيفرة بدلًا من نسخ الشيفرة ذاتها، والخروج من أفكارك ومن منزلك أيضًا، للمشاركة في الملتقيات، والبحث عن اﻷشخاص الذين يقاسمون نفس الشعور تجاه التكنولوجيا وشؤونها. كيف تجد الوقت الكافي للبرمجة حين تمتلك وظيفة بدوام كامل وحياة مليئة بالمشاغل إيجاد الوقت الكافي للبرمجة من المشاكل التي تواجه الكثيرين ممن يعملون بوظائف ذات دوام كامل ويعيشون حياة مليئة بالمشاغل. إليك هذه المعلومة عن الوقت: لا تستطيع الحصول على الوقت، بل عليك صنعه. إن أفضل ما قرأته بخصوص صناعة الوقت اللازم لتعلم البرمجة هو ما كتبه J Wynia في Stack Exchange: وأرى أنّ تسجيل نشاطاتي اليومية بشكل دقيق ولمدة أسبوع أو أكثر تساعدني في تحديد الفترة التي يمكن من خلالها اقتطاع الوقت المطلوب. وهذا ينطبق تمامًا على جميع اﻷشخاص الذين شاركوني هذه التجربة. قد تستهلك مشاهدة التلفاز، ومتابعة الأخبار الرياضية، واﻷفلام، والنوم الزائد في نهاية اﻷسبوع، أو النوم الزائد خلال أيام اﻷسبوع، أو تنظيف منزلك أو جزّ العشب في حديقتك بدلًا من أن توكل هذه المهمة إلى أحد اﻷشخاص نيابة عنك مقابل أجر مادّي، قد يستهلك كل ذلك الكثير من الوقت والذي قد تعتبر أنه أكثر أهمية من المشاريع الشخصية. وقد توجّهت بهذا السؤال إلى عدد من اﻷشخاص الذين يتمتعون بنشاط كبير، وأصدقك القول بأنّي أشعر بتواضع كبير أمام التضحيات التي يقدّمها هؤلاء اﻷشخاص للحصول على ساعة أو أقل في اليوم. وفي بعض الأحيان قد تؤدي هذه التضحيات إلى إصابتهم بالضرر، فقد يحرمون أنفسهم من ممارسة التمارين الرياضية، أو يكون لديهم أصدقاء قلائل وعلاقات اجتماعية ضعيفة، أو … الخ. بالنسبة إلي، فإنّ السبب وراء إنتاجيتي المرتفعة سواء في تعلّم أشياء جديدة، أو العمل على مشاريعي الخاصة، يكمن في أنّي لا أشاهد التلفاز أو اﻷفلام دون أن أعمل على حاسوبي المحمول، وغالبًا ما أكتفي بالاستماع إلى التلفاز وقضاء الوقت في القراءة أو في كتابة الشيفرة." لقد أصاب J Wynia في كلامه هذا كبد الحقيقة لسببين: إن التعرف بشكل دقيق على النشاطات التي تستهلك وقتك (وذلك عن طريق تسجيل نشاطاتك اليومية لبضعة أيام) سيسهّل عليك إجراء التغييرات اللازمة للحصول على المزيد من الوقت الذي يمكن قضاؤه في تعلم البرمجة. قد تكون الاستعانة بالآخرين في إنجاز النشاطات، أو التوقف عن إنجازها، أمرًا ضروريًا إن كنت جادًّا في مسألة تعلم البرمجة. هنالك طرق أخرى يمكنك الاستعانة بها في صنع الوقت المطلوب: استيقظ قبل ساعتين من موعد استيقاظك اليومي، وستحصل بذلك على شهر كامل من الوقت المثمر خلال سنة كاملة. ﻻ تشاهد التلفاز بعد اﻵن. أقرّ بأنّني من مدمني خدمة Netflix، ولكن هل تعلم بأنّه يمكنك توفير يوم كامل و 22 ساعة ونصف بمجرد التخلص من اﻹعلانات. اكتب اسم الفيلم أو المسلسل المفضل لديك في هذا الموقع، لتكتشف مدّة العرض الحقيقية. توقف عن العمل بشكل مكثّف، واترك لنفسك متّسعًا من الوقت للقيام بأشياء أخرى في حياتك، مثل تعلم البرمجة. تشير Pam Selle أحد المنظمين لملتقى مطوّري Javascript في فيلادلفي إلى أن اﻷشخاص الذي يعملون كثيرًا لا يؤدّون عملهم بشكل أفضل، بل هم يؤدّونه بجودة أقل، أو سيشعرون باﻹرهاق؛ لذا، أدّ عملك، واذهب إلى المنزل، واصنع الوقت الذي تحتاجه للقيام بما ترغب به خارج العمل. الدرس الثاني: يجب أن تصنع الوقت اللازم لتعلم البرمجة، سواء أكان ذلك عن طريق التوقف عن مشاهدة التلفاز أو الاستيقاظ قبل ساعتين من موعد الاستيقاظ اليومي. كيف تستفيد من الوقت الذي صنعته بفعالية لا تكون المشكلة في بعض اﻷحيان مرتبطة بصناعة الوقت، بل باستخدامه بشكل فعّال. هل سمعت من قبل بمبدأ باريتو Pareto principle أو ما يعرف كذلك بمبدأ 80/20؟ يلخّص John Schnettgoecke هذا المبدأ بشكل رائع وكما يلي: فكرة هذا المبدأ هي كيفية الحصول على إنجازات كبيرة جدًّا في أقل فترة زمنية ممكنة، وذلك من خلال التركيز على النشاطات ذات الأثر الكبير، بدلًا من إجراء التعديلات البسيطة أو إعادة العمل مرارًا وتكرارًا توخّيًا للكمال. يقدم Joel Runyon شرحًا مفصّلًا ورائعًا عن هذا المفهوم في موقع Impossible HQ، حيث يعطي Joel أمثلة عملية عن طريقة عمل مبدأ 80/20 في أنظمة الحمية، واللياقة البدنية، والمشاريع التجارية، والدخل، والثروة. ويشدّد Joel على أهمية الخروج من دائرة البحث عن الكمال، وذلك بالتركيز على الوصول إلى فهم جيد، ثم الانتقال إلى الخطوة التالية، ولا يتم ذلك إلا بتجاوز التفاصيل الصغيرة. قد يكون هذا صعبًا عند تعلّم البرمجة، حيث يمكن لمشكلة تافهة أن تأخذ 45 دقيقة من وقتك لحلها وأنت لا تملك سوى 60 دقيقة لتعلم البرمجة في اليوم الواحد، ومع ذلك، حاول تذكّر هذا المبدأ ما أمكن ذلك. قد تشعر بأنّك لم تنجز شيئًا في هذه الدقائق الخمسة واﻷربعين، ولكن الواقع يقول عكس ذلك، ﻷنّك قد حصلت على خبرة لا تقدّر بثمن، لقد تعلّمت الصبر على حل المشاكل، وصقلت موهبتك عندما تمكّنت من تجاوز العقبات التي تقف في طريقك. إليك بعض النصائح التي يمكنك الاستفادة منها في استغلال وقتك بفعّالية أكبر: ابحث عن الساعات التي تكون فيها أكثر إنتاجًا، ولا تساوم عليها مهما حصل. على سبيل المثال، أنا أعلم أن إنتاجيتي تبلغ ذروتها في ساعات الصباح الباكر؛ لذا فإني أمتنع عن القيام بأي شيء سوى العمل على مشاريعي من الساعة السادسة وحتى الساعة الثامنة صباحًا من كل يوم. جرب استخدام تقنيات زيادة اﻹنتاجية لمعرفة ما يناسبك منها. يتحدّث Chris Winfield في إحدى مقالاته عن كيفية إنجازه لعمل يحتاج إلى40 ساعة في 16.7 ساعة فقط بالاستعانة بتقنية البومودورو. الدرس الثالث: اكتف بما هو جيّد ولا تبحث عن الكمال. ابحث عن الأوقات التي تبلغ فيها إنتاجيتك أوجها، وﻻ تساوم عليها مهما كلّف اﻷمر. جرّب استخدام تقنيات زيادة اﻹنتاجية واستفد من التقنيات التي تناسبك لبناء نظام عمل فعّال. كيف تتجاوز عقبة التحول من مرحلة تلقي المفاهيم ﻷول مرة إلى مرحلة فهم اﻷمور بسرعة وفعالية يرافق تعلم مهارة جديدة ـ خصوصًا إن كانت مهارة معقدة كتعلم البرمجة ـ صعوبة التحول من متعلّم مبتدئ للمفاهيم الجديدة والتي يتعرف عليها ﻷول مرة إلى مرحلة فهم اﻷمور بشكل سريع وفعّال. أعتقد أن أفضل من تكلّم في هذا الموضوع هو Erik Trautman وذلك في مقالته التي كتبها تحت عنوان "لماذا يكون تعلم البرمجة أمرًا صعبًا للغاية". يغطي المقال جميع المراحل التي يمرّ بها متعلّم البرمجة في رحلته هذه، بدءًا بـ "شهر العسل" حيث يكون اللقاء اﻷول، مرورًا بـ "تل الحيرة والالتباس" والذي تتلوه "صحراء القنوط واليأس" وما وراءها. يقدّم Erick في هذا المقال صورة دقيقة لما ستؤول إليه اﻷمور عندما تقرر تعلم البرمجة ذاتيًا. يمكن ﻷي شخص يتعلم البرمجة وفي أي مرحلة من المراحل أن يستفيد من قراءة هذا المقال، فمعرفة ما عليك توقعه سيساعدك في تجاوز العقبات بشكل أسرع. ما الذي يمكن أن يساعدك أيضًا في تجاوز هذه العقبة؟ حافظ على تركيزك تجاه تعلّم البرمجة وتطوير مهاراتك فيها، وﻻ تتوقف عن طرح اﻷسئلة. حفّز نفسك وكن إيجابيًا على الدوام، وذلك بالبحث والتقصّي عن الحلول، بدلًا من الركود والشعور بالإحباط وخيبة اﻷمل، حاول اكتشاف سبب حدوث المشكلة، وما الذي يمكنك القيام به لحلّها، وما هي الحلول الناجعة وغير الناجعة؟ يدعو Carol Dweck هذه المبادئ بمبادئ النمو، وقد بيّنت الدراسات أن اﻷشخاص الذي يمتلكون عقلية النمو (growth mindset)، يكونون أكثر تحفيزًا ويمتلكون ذاكرة أقوى ويحصلون على نتائج أفضل. وعلى الجانب اﻵخر تمامًا يقف أصحاب "العقليات الجامدة"، حيث يصبح الفشل هويتهم (أنا فاشل) بدلًا من أن يكون الفشل مجرّد فعل (أنا فشلت). إن تحول الفشل إلى هوية يجعل من تغيير حال اﻹنسان أمرًا صعبًا للغاية؛ ذلك ﻷنّه يصبح مقتنعًا بأنّه غير قادر على تغيير حاله على اﻹطلاق. لهذا؛ بدلًا من أن تؤطّر ذاتك وسعادتك في إطار هذه الهوية، ابذل ما في وسعك لتطوير فهمك للأمور وابذل كل ما في وُسعك لتحقيق ذلك، وحينها ستشعر بتحسّن كبير، وستتعلم بسرعة أكبر، وستحافظ على ما تعلّمته بشكل أفضل. الدرس الرابع: معرفة ما عليك توقعه سيساعدك في تجاوز العقبات بشكل أسرع. كن فضوليًّا ومحبًّا للاستطلاع، واطرح اﻷسئلة، وركّز على تحسين قدراتك وتطويرها. كيف تشعر بالرضا حول عملية تعلمك حتى ولو كانت بطيئة من هي الشخصية المفضّلة لديك والتي تمتلك قصّة نجاح سريع؟ بالنسبة إلي، إنّها Selena Soo. Selena خبيرة في بناء العلاقات والتواصل مع الأشخاص المؤثرين، وهذا أمر يجب على كل مستقلّ أو صاحب مشروع تجاري إتقانه، وسنتكلم عن هذا الموضوع ﻻحقًا. ولكن لماذا تعدّ Selena صاحبة قصّة النجاح السريع المفضّلة لدي؟ حقّقت Selena في عملها كمدربة لأصحاب المشاريع التجارية في عامها اﻷول مبلغًا يصل إلى 157 ألف دولار أمريكي بعد أن بدأت من الصفر. وقد تضمّن موقعها اﻹلكتروني منذ اليوم اﻷول لإطلاقه على شهادات تزكية من محررين في مجلات مثل O، و Oprah Magazine، و Forbes. وقد تلقت Selena العديد من اﻷسئلة، ومن ضمنها: "كيف فعلتِ ذلك؟ يبدو اﻷمر وكأنّكِ قد ظهرتِ من العدم، ليتحدّث عنكِ الجميع وبشكل مفاجئ". قد يكون التركيز على نجاح Selena السريع أمرًا سهلًا، ولكنّي أرغب بدلًا من ذلك في التفكير في جميع العوامل التي ساهمت في تحقيقها لهذا النجاح. أعني، جميع الخطط واﻷساليب التي تعلمتها وتمرّنت عليها ونفّذتها. جميع النشاطات المملة التي قامت بها، مثل الكتابة في اﻷيام التي لا تشعر فيها بأنّ لديها رغبة في الكتابة. التفكير في أنّها لم تحصل على 157 ألف دولار أمريكي في حسابها المصرفي بين ليلة وضحاها، بل أنّ ذلك كان ثمرة الجهود التي بذلتها خلال أسابيع، أو أشهر بل وربما سنوات خلت. أرى أنّه يجب علي التفكير بنجاح Selena بهذه الطريقة، ذلك ﻷنّي إن فكّرت فقط في أنّها حققت هذا النجاح بين ليلة وضحاها، فلن أبرح مكاني ولن أتقدّم إلى اﻹمام قيد أنملة. إن خرافة النّجاح ما بين عشية وضحاها تؤدي إلى تحوّل قصة النجاح المفاجئ إلى عامل تثبيط كبير جدًّا، وتنشّط كذلك اﻷفكار غير المنتجة مثل "لن أتمكن من تحقيق ذلك" و "لا أمتلك مقومات النجاح"، ويشعر المرء بأنّ هناك قوة تشدّه إلى اﻷسفل عندما يرى أن مسار التعلم قد أصبح بطيئًا. من وجهة نظري الشخصية، أرى أنّ عدم تعلّم البرمجة ليوم واحد لا يخرجك عن مسار التعلّم، إذ أنّه مجرد يوم واحد، ومن المؤكّد أنّك تحتاج إلى الراحة بين فترة وأخرى. لا بدّ أن Selena قد مرّت في بدايات مشروعها التجاري بأيّام لم تكن تعمل فيها على مشروعها مطلقًا، ولكنّها مع ذلك حقّقت نجاحًا كبيرًا. ولكن لا تسمح لهذه الاستراحة بأن تستمرّ لعدّة أيام متتالية. ﻻ تفقد الزخم الذي تتمتّع به، ففقدان الزخم يجعل العودة إلى العمل أمرًا صعبًا، ولكن لا ضير في أن تأخذ يومًا أو يومين كعطلة، فهذا لن يؤثّر بكل تأكيد على نجاحك المستقبلي في العمل الحرّ. وبخصوص ما إذا كنت تستوعب ما تتعلّمه في البرمجة بالسرعة الكافية أم لا، فيكفيك أن تستوعب والسرعة هنا ليست بذات أهمية. الدرس الخامس: لا تسمح لخرافة النّجاح السّريع بأن تسيطر عليك، واصل الحركة، واستمر في تطوير نفسك، واكسب المزيد من الزخم ولا تفقده على اﻹطلاق. كيف تعرف ما يجب التركيز عليه مع وجود كم هائل من المصادر التعليمية تتوفّر في أيامنا هذه الكثير والكثير من لغات البرمجة ومصادر تعلّمها بشكل ذاتي، وهذه الكثرة تؤدي في بعض اﻷحيان إلى الشعور بالارتباك، وتصبح عملية الاختيار صعبة للغاية. يلخّص Martin S. هذه الفكرة بشكل جميل فيقول: درس عالم النفس الأمريكي Barry Schwartz العلاقة بين الاختيارات والسعادة، وبشكل أدقّ، إلى أي مدى يمكن للاختيارات أن تؤثّر على سعادة اﻹنسان. وقد وجد بأنّ كثرة الاختيارات يدفع الناس إلى التشكيك في قراراتهم حتى قبل اتّخاذها، وقد يصابون نتيجة لذلك بالعجز عن اتخاذ القرارات إضافة إلى التوتر والإجهاد. ما هي اللغة التي ستختارها عندما تبدأ في تعلم البرمجة؟ هل ستختار روبي؟ بايثون؟ جافا سكربت؟ أم جافا؟ يلخّص Sean McCabe اﻹجابة بشكل جميل: اختر لغة ما واستمر في تعلمها، هكذا تختار ما تريد. وعندما تتّخذ قرارك بشأن نقطة البداية، تبقى أمامك مسألة اختيار المصادر التعليمية التي ستستفيد منها في تعلم اللغة؛ لذا أنصحك بزيارة قسم البرمجة على أكاديمية حسوب واختر أي لغة واشرع في تعلّمها. الدرس السادس: إن شعرت بالارتباك لكثرة الخيارات، اختر واحدًا والتزم به، وﻻ يكن اختيارك عشوائيًا بل بعد الاطلاع والبحث البعيدين عن المبالغة. اختر نقطة البداية وانطلق ولا تبق ثابتًا في مكانك. واصل قراءة الجزء الثاني من هنا: دليلك الشامل للتحضير للعمل كمستقل عندما تكون مبرمجًا تعلّم البرمجة بنفسه – الجزء الثاني ترجمة -وبتصرّف- للمقال The Ultimate Guide For Getting Freelance-Ready When You’re A Self-Taught Coder لصاحبته Joyce Akiko. حقوق الصورة البارزة: Designed by Freepik.