المحتوى عن 'مبرمج'.



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

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

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

نوع المُحتوى


التصنيفات

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

التصنيفات

  • 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

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

  1. قبل عشرين عامًا، كان المبرمج الجيّد هو ذلك الذي يكون قادرًا على أن يحشر تطبيقًا كاملًا في ملف بامتداد .COM وبحجم 64 كيلوبايت، أما من كان قادرًا على الإتيان بأفضل أداء مع معالج Intel 80386 الضعيف فكان يعدّ واحدًا من أساطين عالم البرمجة. سبب ذلك أنّ الحواسيب كانت في تلك الفترة غالية ومكلفة في حين أن أجور المبرمجين كانت زهيدة، وكانت تلك فترة “عقلية المخترق Hacker mentality”، وقد ولّى ذلك الزمن من غير رجعة، ولم تعد هذه العقلية تلقى أي قبول أو احترام في وقتنا الحاضر، ذلك لأنّ حالة السوق اليوم على النقيض تمامًا. فاليوم أصبحت الحواسيب رخيصة الثمن وأجور المبرمجين مرتفعة، ودخلنا في عصر جديد تسود فيه “عقلية المصمم Designer Mentality” حيث تكون مقروئية الشفرة البرمجية أهمّ بكثير من أدائها. الأسعار مقابل المرتّبات انظر إلى هذا الرسم البياني. يمثّل هذا الرسم البياني مقارنة بين نوعين من التوجهات خلال العقدين الماضيين (1994-2014). ويمكنك أن تلاحظ أن التوجّه الأوّل في تضاؤل تدريجي حيث تصبح ذواكر الحواسيب وأقراص التخزين الصلبة أرخص ثمنًا مع تقدم الزمن. أما التوجّه الثاني فيبين كيف أنّ مرتّبات مطوري البرمجيات في تصاعد مستمر خلال الفترة ذاتها - تضاعفت ثلاث مرّات إن توخّينا الدقة -. ومع أنّي لم أعثر على تقرير رسمي حول هذا الموضوع، إلا أنّي متأكّد بأنّه ليس خافيًا على أحد أنّ مرتّبات المبرمجين في تصاعد مستمر، إذ لم تعد وظيفة مطوّر رئيسي براتب 200,000 دولار في السنة وظيفة الأحلام، في حين أنّ أفضل العروض كانت تصل إلى 60,000 دولار قبل عشرين عامًا. هذا يعني أنّ نفقات إنشاء موقع إلكتروني بلغة PHP سنة 1994 أكثر بـ 1000 مرة من نفقات شراء الأجهزة سنة 2014، وأقلّ بثلاث مرات من نفقات المبرمجين، مع الأخذ بالاعتبار أنّنا نستخدم التكنولوجيا ذاتها، إذ لا نزال نستخدم نظام Linux مع خادوم Apache. الفرق هنا أنّه في سنة 1994 إن كان تطبيقك يواجه مشاكل في الأداء بسبب محدودية الأجهزة، فإنّك ستدفع 35,000 دولار مقابل كل غيغابايت من الذاكرة العشوائية، أما في 2014 فستدفع 10$ فقط. في سنة 1994 كان توظيف المزيد من المبرمجين بهدف تحسين الشفرة البرمجية أو حتى إعادة كتابتها أفضل وأجدى من شراء أجهزة ومعدّات جديدة، أمّا في سنة 2014 فقد انعكست الأمور تمامًا، فقد أصبحت مضاعفة حجم الخادوم أرخص بمرتين (خصوصًا إن كان الخادوم عبارة عن سحابة افتراضية) من أجور تحسين الشفرة البرمجية. في سنة 1994 كان أفضل المبرمجين والمهندسين هم أولئك الذين يمتلكون “عقلية المخترق” أما في 2014 فالتقدير أصبح من نصيب كل من يملك “عقلية المصمم”. عقلية المخترق لو سألت صاحب عقلية المخترق عن رأيه في دالة توليد متسلسلة فابيوناتشي هذه والمكتوبة بلغة Java لأجابك بأنّها “شفرة أنيقة” (هل تظنّ ذلك؟): public int f(int n) { return n>2?f(n-1)+f(n-2):n; } عادة ما يتّصف المخترق الجيّد بالصفات التالية: يستخدم جميع الخصائص المعروفة - وغير المعروفة - في لغة البرمجة التي يستخدمها. الناس عنده صنفان: مخترق ومبتدئ، وهو يكتب الشفرات للمخترقين فقط. يشعر بالملل والإحباط من اتباع القواعد والمعايير. لا يكتب اختبارات الوحدة Unit tests فالمبرمجون الثانويون سيقومون بهذا الأمر لاحقًا. يستمتع بأداء المهام الصعبة، فهكذا تظهر موهبته للعلن. يفضّل استقاء وظائف التطبيق من النقاشات الجانبية على تنفيذ ما يرد في مستند المواصفات Specifications، فذلك أكثر متعة. لا يتحمّل رؤية شخص يجري التعديلات على الشفرة التي كتبها. يفضّل أن يكرّس جهده في مشروع واحد فقط. المخترق شخص موهوب، ويرغب في التعبير عن هذه الموهبة في البرامج التي يكتبها، ويستمتع بهذا الأمر ويقوم به غالبًا بدافع المتعة لا أكثر. يمكن القول إنّه مرتبط بالشفرة التي يكتبها ولا يمكنه تخيّل حياة سعيدة بعد الانفصال عنها، ويشعر المخترق بأنّ الشفرة ملكه وحده ولا يستطيع التفكير بالأمر من منظور آخر. وعندما أتوجه بالسؤال التالي إلى أحد أصدقائي المخترقين: “من سيفهم العمل الذي ستؤدّيه هذه الشفرة؟” يكون الجواب الذي أسمعه بصورة شبه دائمة: “سيسألونني!” - عادة ما ترافق الإجابة نبرة استعلاء مصحوبة بابتسامة صادقة. عقلية المصمّم أما صاحب عقلية المصمّم فسيعيد ترتيب الشفرة السابقة لجعلها سهلة القراءة، وستكون “الشفرة الأنيقة” في نظره بالصورة التالية (ما رأيك أنت؟): public int fibo(final int pos) { final int num; if (pos > 2) { num = fibo(pos - 1) + fibo(pos - 2); } else { num = pos; } return num; } أعتقد أن المصمّم الجيّد يمتاز بالصفات التالية: يميل إلى استخدام تقنيات برمجية تقليدية. يفترض أن جميع الأشخاص مبتدئون ويكتب شفراته على هذا الأساس. يستمتع بوضع القواعد واتباعها. يفضّل الاعتماد على مستند المواصفات بدلا من الأحاديث الجانبية، كما يفضّل أتمتة المهامّ ما أمكن ذلك. تأخذ اختبارات الوحدة معظم وقته. لا يطيق المهام الصعبة والعمل الإضافي. يحب كثيرًا أن يعدّل الآخرون شفرته البرمجية ويحسّنوها. يعمل على عدد من المشاريع في نفس الوقت. المصمّم شخص يمكن أن يتأقلم بسهولة كبيرة مع فريق العمل، وبوسعه المساهمة بفعّالية في طريقة عمل الفريق والمعايير والقواعد والثقافة التي يتّبعها، ويتّسم المصمّم بانضباط كبير إلى جانب مساهمته الكبيرة في الشفرات المصدرية، ويحرص دائمًا على استمرارية عمل شفرته وأفكاره بعد انتهائه من المشروع الذي بين يديه. يصل المصمّم الجيّد إلى أقصى مراتب السعادة عندما يرى أن شفرته قد دخلت في دورة حياتها الطبيعية: التعديل والتحسين والتنقيح والتوقف في نهاية المطاف. ويشعر المصمّم بأن الشفرة التي يكتبها هي أحد أبنائه، وإن أصبح هذا الابن قادرًا على التحدّث والحركة، فعليه أن يعيش حياته الخاصة. المستقبل إن كنت تعتبر نفسك مخترقًا، فأعتقد أنّه قد حان وقت التغيير، فعصر المخترقين في أفول. قد نتوقّف عن التفكير في المستقبل القريب بمنطق “الأجهزة” وستعمل تطبيقاتنا على منصّات حاسوبية مرنة تتمتع بذاكرة وقوة معالجة وسعة تخزينية غير محدودة. وبكل بساطة، سننفق أموالنا في الاستفادة من الموارد وستكلّف أي مشكلة في الأداء القليل من الدوﻻرات الإضافية في فواتيرنا الشهرية، ولن نعبأ بمسألة تحسين الشفرة على الإطلاق. وفي الوقت نفسه، سيتطلّب التعامل مع مهندس للبرمجيات أموالًا أكثر، وقد يطلب 500$ أو أكثر للساعة الواحدة مقابل تفحّص البرنامج وتشخيص المشكلة، كما هو الحال مع المحامين وأطباء الأسنان. هذا هو السبب الذي يدفع المستثمرين في بناء برنامج جديد إلى وضع جلّ اهتمامهم في مسألة قابلية المنتج للصيانة Maintainability. وسيدرك مموّلو المشاريع أن أفضل منتج يمكن الحصول عليه مقابل أموالهم هو ذلك المنتج الذي يتمتع بأعلى قدر من المقروئية وقابلية الصيانة والأتمتة، وليس أعلى قدر من السرعة. ترجمة - وبتصرّف - للمقال Are You a Hacker or a Designer? لصاحبه Yegor Bugayenko. حقوق الصورة البارزة محفوظة لـ Freepik
  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.
  3. يوجد الكثير من المقالات التي تتحدث عن السّير الذاتية، وللتّميّز قليلًا عن تلك المقالات سأحاول أن أعطيك بعض النصائح العمليّة حول كيفية جعل السيرة الذاتية تبدو أكثر جاذبية، وكيف تضع نفسك في مرتبة النجم بدلًا من مرتبة "المبرمج الجيّد". قد تأخذ العملية عدة سنوات حتى تتمكن من زيادة زَخم سيرتك الذاتية، ولكن عندما تنتهي، ستصبح قادرًا على المطالبة بـ 100$ إضافيّة في السّاعة لقاء عملك دون أن تواجه أي تردّد من عملائك في دفع ذلك المبلغ. صفحة واحدة سيرة ذاتية واحدة فقط كان ينطبق عليها هذا الوصف من كلّ عشرة سير ذاتيّة كانت تصلني كلّ يوم، بينما كانت البقيّة تستهلك ثلاث صفحات أو أكثر، ما يجعلها تبدو أقلّ احترافيّة بكثير، فإن لم تستطع وصف نفسك في صفحة واحدة ستتولد الشكوك حول مهاراتك، وهذا أمرٌ يجب ألا يحصل لمهندسي البرمجيات software engineer خصوصًا، حيث يجعلك تبدو غير قادر على تحييد الأمور غير الهامّة والتركيز على ما يهم حقًّا، وإنّه لَمِنَ المملّ قراءة ثلاث صفحات حول نفس المُبرمج. لذا، حاول جاهدًا دون استثناءات الالتزام بهذه القاعدة، فسيرتك الذاتيّة كالملخّص التنفيذي لمنتج تحاول تسويقه، أو مُلصق دعائي، يجب أن تكون قصيرة ومباشرة، فإمّا أن يقوم أصحاب العمل بشراء المنتج أو رميه بعيدًا، فهم لا يرغبون بقراءة سيرة ذاتية; إنّهم يرغبون باتخاذ قرار حول شراء مهاراتك أو تجاهلها، وكلّما زاد عدد الصفحات قلّت معها فرصتك. لا تكذب مهما فعلت بسيرتك الذاتيّة فلا تكذب أبدًا حول أيّ كلمة فيها. تستطيع أن تخفي نصف الحقيقة أو أن تعيد صياغتها كيفما شئت، تستطيع أن تكتم معلومات عن نفسك، لكن لا تكذب أبدًا، فأنت لا تعلم من سيقرأها وفي أيّ مكتب سينتهي بها الحال. كن مستعدًّا لتوضيح كلّ كلمة ذكرتها فيها. لو قُلتَ مثلًا: أنا "خبير JavaScript"، فكن جاهزًا لشرح أهمّ الميّزات الجديدة في الإصدار 6 من ECMAScript. إن لم تستطع، فلا تستخدم كلمة "خبير". الفكرة تكمن في أن تكون جاهزًا لإثبات كلّ كلمة عند الحاجة. صورة جذابة لك في أعلى الصفحة إن رغبت بالعمل معهم فسيرغبون بمعرفة من قد يعملون معه، لذا فصورتك الشخصيّة هي عنصر أساسي من السيرة الذاتيّة، فحاول أن تجعلها تبدو احترافيّة حتى لو اضطررت للدفع مقابلها. ركّز جيّدًا على جودة صورتك فهي عنصر هامّ جدًا. لا حاجة للتّذكير بذلك، لكنه يجب عليك أن تظهر مبتسمًا في هذه الصّورة، ولتكن الصّورة عفويّة فلا داع للتكلّف وارتداء بذلة رسميّة، يكفيك مثلًا قميص مع خلفية مرحة. يجب أن تظهر سعيدًا ومرتاحًا، فليس بالضرورة أن تجاهد لجعلهم يقبلون توظيفك، عليك أن تجعلهم يشعرون بالرّغبة في توظيفك من تلقاء أنفسهم، هذه هي الرسالة التي ستحاول إرسالها لهم من خلال صورتك، تمامًا كما في مواقع التعارف الاجتماعية. لا حاجة لكل من "الهدف Objective" و "اللقب Title" "كبير مطوّر برمجيات"، "مبرمج جافا محنّك"، "اختصاصي تكنولوجيا معلومات موهوب" ... إلخ، إن هذه الألقاب مملّة ولا تسوقّك جيّدًا فهم يعلمون من أنت من خلال قراءتهم لسيرتك الذاتية. إلى جانب هذا، فإنّك تحدّ من نفسك ضمن إطار هذا اللقب، فقد يرغبون بإيجاد نائب مدير القسم الهندسي بينما تقول سيرتك "مهندس برمجيّات". إنّ عدم التطابق الواضح هذا سينقص من فرصك بالعمل لديهم. اسمك هو ما يجب أن يكون العنوان في السيرة الذاتيّة. باقة كبيرة من المهارات يبيّن هذا القسم لأصحاب الوظيفة أين يقع "ثِقَلك التقنيّ"، ويجب أن يحوي على لائحة قصيرة جدًّا من المهارات لا تتجاوز 12 بندًا. فمن غير الممكن أن تكون خبيرًا في MySQL ،PostgreSQL ،Oracle ،MS SQL في الوقت ذاته; وقد تظن لبرهة أن وجود الكثير من المهارات يُعطي الانطباع بأنّك خبير، بينما في الواقع يُفهم من ذلك بأنّك لا تُتقن أيّ شيء، وهو أمرٌ عليك تجنّبه. ولكن كيف تنتقِ المهارات التي ستذكرها؟ عليك بدون مبالغة إيجاد أفضل ما تَبرَع فيه من مهارات وتضعه في ذلك القسم، تأكّد من أنّ المهارات المذكورة على ذات المستوى في التصنيف، فعلى سبيل المثال Java و AngularJS لا يجب أن يوضعا بجانب بعضهما البعض، فـ Java على مستوى أعلى من AngularJS، وبالتالي قد تكتب "Java و SQL و HTTP" أو "AngularJS و Spring Framework و Web Sockets". نصيحتي هي ألّا تصف مهاراتك وصفًا شموليًّا قبل أن تصبح رمزًا معروفًا، فـ Java تبدو مناسبة كمهارة في السيرة الذاتية لـ Jon Skeet، لأنّه بدون شكّ يعرف كلّ شيء عن عالم Java، ومشهودٌ له بذلك. أما لو كان لديك خبرة 3 سنوات فكيف لك أن "تتقن Java"؟ ربما تعرف استخدام بضعة مئات من الصفوف فيها فحسب، لهذا السبب فإنّه من الأفضل أن تذكر الأجزاء التي تتقنها في Java تحديدًا. وكما ذكرت سابقًا، كن دقيقًا في وصف مهاراتك قدر ما أمكنك. ملفك الشخصي على StackOverflow.com بغضّ النظر عن كل ما يُقال عنه، فقد أصبح StackOverflow المنصّة الأساسية -بحكم الواقع- التي تطرح فيها الأسئلة والأجوبة التقنيّة، فتواجدك وتقييمك المرتفع هناك سيرسل رسالة واضحة لصاحب عملك -المحتمل- بأنّك نجم (أو نجم صاعد). لن تجد هناك الكثير ممن حصل على 100 ألف نقطة تقييم أو أكثر، فلم لا تصبح أحدهم. وحتّى لو لم تكن تملك حسابًا على StackOverflow بعد، أنشئ واحدًا الآن وأمضِ ساعة واحدة بالإجابة على الأسئلة الجديدة كلّ يوم لعدة أشهر، وستحصل على 1000 نقطة تقييم أو أكثر، إن اعتبرنا أنّك كنت مساهمًا لا متفرّجًا فقط. هذا كاف في البداية، ولا تنس أن تضع رابط صفحة حسابك في سيرتك الذاتية. قد لا تكون قادرًا على الإجابة مباشرة، حينها اقرأ إجابات الآخرين، قم بالتعليق عليها، حاول إثراءها، وصحّح ما أمكنك، لتكن عضوًا نشيطًا في المجتمع. ملفك الشخصي على GitHub من يستطيع إنكار أن GitHub قد أصبح المنصّة الأساسية للبرمجياّت مفتوحة المصدر. ولكونك مطوّر برمجيات من العصر الحديث، فيجب أن يكون لديك حساب عليه كي تملك أثرًا واضحًا في عالم البرمجيّات مفتوحة المصدر إن أردت التسويق لنفسك بسعر أعلى. ولكن لماذا قد تهتم بهذا الأمر؟ إن مساهمتك في عالم البرمجيّات مفتوحة المصدر، سيمكّن صاحب عملك المحتمل بأن يرى ما يظنّه السوق في برمجياتك وفيك أنت، ووجودك فيه هو ضمانة له، تزيل خوفه من أن يرتكب خطأً بتوظيفك، فلا بدّ أنّ أحدهم قد شاهد شيفراتك البرمجيّة، وربما حصلت على بعض الثناء على مشاريعك أو قام أحدهم بالتصويت لها. بالنتيجة، ستجعلهم يشعرون بارتياح لاختيارك. لن تحتاج لصرف الكثير من الوقت على المصادر المفتوحة لتكون من "النخبة"، يكفي أن تشارك في تلك البرمجيّات التي تستخدمها أنت، فإن كنت تستخدم Sinatra في عملك، ألق نظرة على شيفرتها المصدريّة وستجد الكثير من الأجزاء التي يمكن إجراء إضافات أو تحسينات عليها. اعرض مساعدتك أو قم ببساطة بإرسال طلبات الجذب pull requests الخاصة بك هنا وهناك. إلى جانب هذا، أضف منتجاتك ومشاريعك الخاصة وسوّق لها، وستذهل لمقدار المستخدمين والمتابعين الذين ستحصل عليهم خلال عدّة سنوات بهذا العمل. الشهادات يعتقد البعض بأنّ الشهادات غير مهمّة، وهذا قد يكون صحيحًا في بعض الحالات، ولكنّ سيرتك الذاتيّة يجب أن تحوي بعضًا منها، فهناك شهادات من اليسير الحصول عليها ببضعة أسابيع من الدراسة وبضع مئات الدولارات، حينها لن تبقى مجرّد مبرمج Java وإنّما مبرمجًا معتمدًا، وليس هناك الكثير منهم. نعم هناك ملايين مبرمجي Java حول العالم ولكنّ نسبة قليلة منهم فقط من يمتلكون شهادة مبرمج معتمد، وبغضّ النظر عمّا إن كنت تعتقد بأهميّة تلك الشهادات أم لا، احصل عليها. تجنّب المواقع التي تدور حول اعتمادياتها شبهات مثل BrainBench وغيره. صحيح بأنك تستطيع أن تحصل على شهادة معتمدة منها ولكن لا تذكرها في سيرتك الذاتيّة فهذا سيثبت فقط بأنّك فخور بإنجازك المشبوه، وهذه إشارة غير جيّدة. أسماء وأرقام حقيقية عليك أن تكون حذرًا مع هذه النّقطة. بداية، عليك أن تبحث في ماضيك عن أسماء مشهورة أو أرقام كبيرة. على سبيل المثال، منذ 10 سنوات كنت أساعد شركة ناشئة في كتابة برمجيّة كانت IBM أحد مستخدميها، وعلى الرغم من أنّ IBM توقّفت عن استخدام هذه البرمجيّة بعد بضعة أشهر ، إلّا أنّها استخدمتها فعلًا، وبالتالي يمكن أن أكتب في سيرتي بأنّي: "كتبت برمجيّة لـ IBM"، فهل أكون كاذبًا؟ لا. وإن سُئلت عمّا قمت به بالضبط لـ IBM، سأكون قادرًا على الشرح. في معظم الحالات لن أُسأَل، ولكنّ فرصتي بأن يتمّ وضع سيرتي الذاتيّة في أعلى الكومة ستصبح أكبر. تستطيع القيام بذات الأمر مع الأرقام، إليك قصة حقيقية أخرى. منذ بضعة سنوات، كنت أساعد شركة في إعداد Continuous Integration Pipeline، ولم يكن الأمر صعبًا، لكنّ الشركة كانت تحصل على 5 ملايين زيارة يوميًّا عبر موقعها. وعلى الرغم من أنّه لم يكن لي علاقة بالحصول على هذا الرقم، لكنّي عملت في الشركة لبضعة أشهر، وبالتالي يمكنني أن أقول في سيرتي: "قمت بإعداد Continuous Integration Pipeline لمتجر إلكتروني ذي 5 ملايين زيارة يوميّة"، وفي حال سؤالي عن التفاصيل سأتمكّن من إعطائها لهم، لأنّي لا أكذب. استخدم هذه التقنية بحذر دون أن تكذب، ولا تخشَ من ذلك، فسيرتك الذاتيّة تحتاج لأسماء وأرقام كبيرة. المدونة أنشئ مدوّنتك الخاصة وابدأ بالكتابة عن إنجازاتك اليوميّة، وعن الشيفرات البرمجيّة التي تكتبها وتقرأها، وعمّا تشاهده في المكتب، وعن أفكارك ومشاريعك، وعن الكتب التي تقرأها. إن أردت أن تتقاضى أجرًا كبيرًا فستحتاج أن تملك مدوّنة قطعًا. وليس بالضرورة أن تكون المدوّنة مشهورة، فلا تعر انتباهًا للأرقام، لكن يجب أن تكون معدّة ومصمّمة بشكل جيّد. لا تستخدم WordPress أو Blogger أو Tumblr. عوضًا عن ذلك وما أفعله شخصيًّا، أنصحك باستخدام خدمات توليد الصفحات الثابتة مثل Jekyll وقم باستضافتها على صفحات GitHub. وإلى جانب كون هذا إضافة قيّمة إلى سيرتك، فإن الكتابة المنتظمة ستساعدك في ترتيب أفكارك، مشاريعك وقراراتك. هذا ما أجنيه شخصيًّا على الأقل من مدوّنتي. التعليم سأكتفي في هذا المجال بأن أذكر مستوى شهادتي، "ماجستير" أو "بكالوريوس" يكفي، وليس هناك حاجة لأذكر متى تخرّجت أو من أي مؤسسة تعليمية، فأستطيع ذكر ذلك لاحقًا عند سؤالي، ولكنّ هناك استثناءان لهذه القاعدة. بداية، إن كنت تملك شهادة دكتوراه فاذكر هذا في سيرتك فهي مهمّة وقيّمة لعدم وجود الكثير من حملتها في وسط المبرمجين. ثانيًا، إن كنت خريج جامعة مشهورة مثل ستانفورد، معهد ماسوستش للتكنولوجيا، أو شبيه ذلك، فاذكرها أيضًا. المؤتمرات يجب عليك أن تُلقي بعض المحاضرات هنا وهناك بشكل متواصل، ولكن حتّى تغدو قادرًا على الوصول إلى المؤتمرات الكبيرة، قم بذلك في أيّ مكان آخر يقبلون بك فيه. فمثلًا تستطيع إنشاء حساب على موقع lanyrd (أو ما شابهه) وتحقق باستمرار أيّ المؤتمرات تبحث عن متحدّثين وقم بإرسال طلبك وستفاجئ بأن بعضهم سيقبلون بعض أفكارك. إن العناوين الأسهل للبدء بها هي الحديث عن خبرتك العملية مع بعض التقنيّات والأدوات الحديثة، كسبيل المثال "كيف يساعدنا Docker في تحسين الإنتاج" أو "خمسة مشاكل لدى تنصيب Apache Spark"، أو أن تصف ما قمت بإنجازه على مشروع عملت عليه مؤخّرًا، فلا يهمّنا حقًّا ما تتحدث عنه. ما يهمّنا هو أن تصبح معروفًا، فإن قبلك السوق، فصاحب العمل سيثق بك أكثر. هذا تمامًا ما تحتاجه لتتمكن من طلب أجرة أعلى. تاريخ مسيرتك المهنية كصاحب شركة، لا يهمني شخصيًّا تاريخك المهنيّ على الإطلاق. على العكس من ذلك، فلو لم تشغل من قبل وظيفة بدوام كامل، ربما أكون مهتمًا بالعمل معك أكثر، لكنّ هذا رأيي فقط، لأنّي أؤمن حقًّا بأنّ المكاتب الحديثة والوظائف بدوام كامل تحوّل المبرمجين إلى عبيد (لا مبرمجين فقط). أما باقي أصحاب الشّركات الأخرى فقد يفكّرون أو غالبًا يفكّرون بطريقة مختلفة، لهذا السبب عليك أن تذكر في أيّ الشركات أمضيت السنوات العشرة الماضية من حياتك، وأنصح بإبقاء هذه القائمة قصيرة، حتى لو عملت في 8 شركات في السنوات العشرة الأخيرة فلا تذكر هذا، 3 تكفي، هذا سيظهر لهم بأنّك عبد جيّد لديك ولاء لسيّدك السابق (لم تغيّر عملك كثيرًا). هذا ما يرغبون برؤيته، لأنهم يخطّطون لشرائك ليكونوا أسيادك الجدد. ACM, IEEE, JUG والعضويات الأخرى إن هذه العضويّات لا تعني شيئًا إطلاقًا إلّا أن تثبت بأنّك عضو في هذه المجتمعات. وكما في معظم ما ذكرناه سابقًا، سيثق بك صاحب العمل أكثر إن كان السوق يثق بك. إنّ هذه العضويّات لا تعني أبدًا أن أحدًا يعترف بك، نظرًا لأنك تحصل عليها بدفع رسوم سنويّة فقط. ولكن، طالما أنّك تدفع هذه الرسوم بخلاف كثيرين، فإنّ هذا يجعلك أكثر وثوقيّة من الآخرين. الهوايات أعتقد بأنّ المعلومات عن الهوايات مهمّة، ويجادل البعض في هذا، لكنّي أعتقد بأن لمسة شخصيّة بينك وبين صاحب العمل المحتمل لها دور هام، فلا تنس أنّ هناك شخصًا حقيقيًا على الطرف الآخر، يقرأ سيرتك الذاتيّة، وسترغب بأن تعجبه، حتّى يكون مرتاحًا عند اتخاذ قرار توظيفك. ساعده في اتخاذ القرار بسرعة. إن كنت تحبّ التزلّج، إطعام القرود في حديقة الحيوان، فاذكر ذلك. كن مبتكرًا، لا تكن مملًّا، تمامًا كمواقع التعارف الاجتماعي. التصميم كيف يجب أن تبدو سيرتك الذاتيّة ذات الصفحة الواحدة؟ يجب أن تُظهِر شخصيتك من خلال سيرتك الذاتية، تجنّب بالتالي استخدام القوالب الجاهزة التي يمكنك تحميلها مجّانًا. قم بإنشاء قالبك الخاص، وحتى لو لم تكن قادرًا على التصميم، فاطلب المساعدة من صديق يستطيع. تذكّر حقًّا بأنّ كل ما تحتاج القيام به هو اختيار نوع الخط، قياسه وبضعة ألوان خفيفة هنا أو هناك. إن سيرتك الذاتيّة هي المنتج الذي تريد تسويقه، فأنت من صَنَعَها، أنت من رعيتها واهتممت بها، فإن كانت مجرّد مستند Word بالقالب القياسيّ ستجعلهم يشعرون بأنّك لم تهتم بما يكفي بها، فإن لم تهتم بأمر صغير كهذا، فكيف ستهتم بإنشاء برمجياتهم؟ بالتالي، لا تهمل جماليّة سيرتك الذاتية، ولا تجعلها متكلّفة، يمكنك أن تجعلها بسيطة جدًا لكنها يجب أن تمثّلك، وأن تكون قد بذلت من أجلها الاهتمام الكافي. ترجمة -وبتصرّف- للمقال Pimp Up Your Resume لصاحبه Yegor Bugayenko. حقوق الصورة البارزة: Designed by Freepik.
  4. عندما كنت عديم الخبرة اعتقدت أنّه لا فائدة ولا قيمة للخبرة، فقد قمت مع شريكي بتعليم أنفسنا كيفيّة تطوير تطبيقات الويب في غضون أشهر قليلة في الجامعة وطوّرنا النّسخة الأولى من Kiko بسرعة كبيرة. صمّمت الواجهة الأماميّة بنفسي وذلك بتجميع دروس جافاسكربت إلى أن تحصّلنا على شيء يشبه ما كنا نرغب فيه.. كنا نظن بأنّنا في منتهى الرّوعة والإبداع، فتمكّننا من بناء تطبيق يحظى باهتمام جمهور واسع دفعنا للاعتقاد أنّه يجدر بالجميع أن يباشروا مشاريعهم الخاصّة بمجرد تخرّجهم من الجامعة وأنّ كل شخص لا يشعر بالخوف من التّجربة لن تواجهه أيّة عقبات للانطلاق فما الذّي يمنعنا من البدء ونحن شباب. أكاد أشعر بالغثيان عندما أتذكّر أوّل برنامج طوّرته كما أشعر بالرّضا لعدم قدرتي على الوصول إلى شيفرته المصدرية حاليّا فأنا أرغب في إنكار أنّي كتبت ذاك التّطبيق من قبل. كانت الشيفرات البرمجيّة فوضويّة ورغم اعتقادنا أنّنا طوّرناه بسرعة إلا أنّنا في حقيقة الأمر استهلكنا أضعاف ما يحتاج مثل ذاك التّطبيق من الوقت. من المفارقات أنّه بعد بنائي لخبرة في هذا المجال صرت أعتقد أنّ امتلاك الخبرة والمرور بتجربة سابقة أمر لا يُقدّر بثمن فما الذّي جعلني أغيّر رأيي؟ تزيد الخبرة من سرعتك، لقد اتّضح أنّني لست مبرمجا رائعا ومع ذلك فأنّا مطوّر لا بأس به ويرجع هذا للخبرة. تحتاج إلى تطبيق Rails CRUD مع API؟ يُمكنني أن أبني بشكل سريع، فهذا ما أقوم به منذ سبع سنوات فلقد طوّرت كامل الـ Back-end والواجهة البرمجية لأحدث مشاريعي بنفسي في غضون ثلاث أسابيع فقط..تساعدك التّجربة على التّركيز على الأشياء المهمّة، عندما لا تعرف ما هو المهمّ فمن السّهل أن تعتقد أن كلّ قرارٍ مهم لكنّ معظمها ليس كذلك. امتلاكك الخبرة يؤهلّك لمعرفة ما هي القرارات الممكن تأجيلها، تجاهلها أو جعل أحدهم ينوب عنك لتنفيذها (كلّها تقريبا) ممّا يتيح لك الاهتمام بالأمور الضّروريّة.تمنحك الخبرة الثّقةَ، لقد حصلنا على استثمار من قبل لشركاتنا لذا أنا على يقين بقدرتنا على الحصول على استثمار آخر لمشروع آخر من جديد وبما أنّني بنيت تطبيقات الويب من قبل فأنا أعلم أنّني لست بحاجة لتوظيف مبرمج ليحلّ محلّي إلّا إذا وجدنا شخصا ممتازا حقا . في غضون ذلك، يمكنني الانتظار . عندما تنجز مهمّة من قبل فلن تقلق حيال قدرتك على إنجازها مرة أخرى.بالّرغم من كل هذا إلّا أنّني ما زلت أعتقد بوجود بعض الجوانب السّلبية المحتملة للخبرة والتي تستحقّ ذكرها: تميل الخبرة إلى عرقلة الابتكار، وربما سبق لك أن قرأت أو سمعت عن هذا الأمر، فعندما يكون لديك الكثير من الخبرة في مجال معيّن فإنّك تعتمد عموما على الحلول والأساليب التّي نجحت معك في الماضي. يمنعك هذا أحيانا من اتّخاذ نهج جديد سيحقّق في نهاية المطاف نجاحا على نحو أفضل من أساليبك المعتادة.يستغرق بناء الخبرة الكثير من الوقت وقد يتّخذ البعض انتظار حدوث ذلك ذريعة للتّسويق وعدم القيام بأي شيء، مما يفوّت عليهم فرصًا كثيرة.تقتنع بأنّ بعض الأشياء مستحيلة لكنّ أغلب الأشياء التّي ظننّاها مستحيلة أو غير عمليّة في السّابق صارت ممكنة الآن أو أنّها ستصبح كذلك لاحقا. تجربتك وخبرتك قد تدفعك للاعتقاد بعدم إمكانيّة وقابلية إنجاز أمر ما لكنّ آخرين سيأتون وينجزونه.في الأخير، كنت أتساءل إن كان من الممكن "تزوير" التّجربة عن طريق الحصول على المشورة خصوصا في مجالات متخصّصة للغاية مثل كيفيّة جعلك موقعك يتحمّل زيارات ملايين المُستخدمين. ومع ذلك أعتقد بأن هناك أمورًا كثيرًا يجب علينا أن نتعلّمها بصعوبة وبمشقّة، وعليه لا تقلق حيال إيجاد طرق مُختصرة للوصول إلى الخبرة المنشودة. ترجمة -وبتصرّف- للمقال: What good is experience? لصاحبه Justin Kan. حقوق الصورة البارزة: Designed by Freepik.
  5. كان سيكون من الرائع لو أن المصمّم هو من يصمّم والمطوّر هو من يطوّر/يبرمج، لكن للأسف هذا ليس الحال، بل سيتبادل المصمم والمطوّر الأدوار بين الحين والآخر، وما لفت نظري هو وجود العديد من الدروس والمقالات الّتي تشرح للمصمم كيف يطوّر ولكن القليل منها يشرح للمطوّر كيف يُصمّم، ومن هذا المنطلق فكرت في مشاركة بعض الحيل والأفكار البسيطة لكم معشر المطورين. ما يسعني قوله بدايةً، أني لن أكون قادرًا على تعليمك أساليب التصميم الأنسب في مقالة واحدة، حيث يأتي هذا الأمر مع الوقت والتدريب وربما شهادة معتمدة، وقبل أن أنسى الملكة/الموهبة، علمًا أني لن أجعل منك مصممًا محترفًا، لكنّي سأقدّم لك بعض النصائح في كيفيّة تجنّب أبرز المشاكل الّتي تواجه بعض المطوّرين بين الحين والآخر. ملاحظات عامةقبل أن أشرع في التطرّق إلى الحيل نفسها، أود فقط مشاركة بعض الملاحظات العامة والتي بَنيتها من خلال مشاهدتي لتصاميم صمّمها مطوّرون، أهدف بهذه الملاحظات تغيير نظرة المطوّر حول التصميم، فالتصميم ليس مجرّر ترتيب للبكسلات (pixels) في صفحة بيضاء. التصميم حس فني قبل كل شيءإن الشيفرة البرمجيّة التي يكتبها المطوّرون إما أن تعمل أو لا، بمعنى آخر تميل الشيفرة إلى المنطق أكثر من أي شيء آخر، فمن اليسر فهم واستوعاب العقل الإلكتروني على عكس نظيره العقل البشري، الذي يميل إلى التناقض والتباين وعدم الثبات على مبدأ واحد، وهذا بالضَّبط عالم المصممين. يحاول المصممون جاهدين الانخراط مع الناس، وذلك من محاولة التماس ما يشعرون به، واضعين أنفسهم مكان المستخدِم في سبيل فهم طريقة تفكيره وأسلوبه في معالجة الأمور. أجد الكثير من المطورين يقعون في هذا الخطأ مرارًا وتكرارًا، حيث أنهم يعاملون المستخدم كما لو أنّه يفكر بنفس طريقة تفكيرهم، هم يقومون بخلق الافتراضات حول دوافع وغايات المُستخدِم وقدراته، ودائمًا ما يفشلون في فهمه بالشكل الصحيح. أريد التأكيد على أمر في غاية الأهميّة، وهو محاولة فهم عقليّة المستخدم، أمعن في التفكير فيما يكره ويُحب المستخدم، هل هو في عجلةٍ من أمره؟ ما هو مقصده الأساسي؟ ما هو مقدار التشتت المتوقّع من المستخدم؟ حاول جاهدًا الدخول إلى ذهن المستخدِم، سيكون ذلك أمرًا مساعدًا لك في التصميم بالتأكيد. تجنب تطبيقات التصميم الاحترافيةيميل بعض المطوّرون إلى استخدام أدوات احترافيّة عندما يرغبون في تصميم الموقع بأنفسهم مثل تطبيق فوتوشوب، وذلك بحجّة أن جميع المصممين المحترفين يستخدمونه، طبعًا لا شك في أن المُصممين يستخدمون أدوات من هذا النوع لا بل قد يرسمون بأيديهم في بعض الأحيان، مع ذلك فإني لا أنصح بذلك إلا إذا كنت بالفعل تستطيع استخدام هذا النوع من التطبيقات، حيث أن استخدام هذا النوع من الأدوات من شأنه يزيد من صعوبة استكمال التصميم بدلًا من تسهيلها وذلك في حال عدم الإلمام باستخدامها بالشكل المطلوب. ألا يكفي فهم وتطبيق مبادئ التصميم نفسها؟ لماذا يجب تعلّم استخدام تطبيق جديد، أنت كمطوّر يتقن كتابة الشيفرة، يستحسن بك تصميم الموقع باستخدام CSS و HTML على اعتبار أنها الأدوات التي تتقنها بالفعل، طبعًا لن يكون التصميم ساحرًا آسرًا، ولكن هذا ليس الهدف من الأساس. لا تحاول وصول عنان السماء بالتصميم بل حاول أن تكون موضوعيالا تحاول تصميم مواقع إبداعيّة أو مبتكرة، فيصعب الأمر حتى على محترفي التصميم، حاول فعل ذلك وسينتهي بك المطاف بتصميم يحبّه الأقليّة مقابل أكثريّة تكرهه. العب على المضمون، اجعل من التصميم خفيف الظل سريع الفهم، فلنكن واقعيين التصميم المناسب أو لنقل المقبول لا يترسخ في أذهان الناس، بمعنى آخر التصميم الجيّد يُستخدم ولا يُنتقد. إن لم يتحدّث المستخدم عن التصميم فهذا يعني أن التصميم لم يسبب له أي مشاكل وهذا مؤشر جيّد، وكما أسلفت لن يكون تصميمك بذلك التصميم الجذاب الخلاب ولكنه على الأقل يلبي الغرض. النصائح العمليةسأكتفي بهذا القدر من التنظير، وسأبدأ بالتحدّث عن الأمور العمليّة، فمثلًا كيف لك أن تجعل من التصميم مناسبًا بالقدر الكافي بعيدًا عن كونه قبيحًا؟ تمام، سأقترح خمس نقاط محدّدة يجب التركيز عليها، طبعًا يمكنني الكتابة عن كل منها بالتفصيل، ولكني سأبسّط الأمور هنا واجعلها سهلة التطبيق. الخطوط Typographyإن نجاح استخدام الخطوط Typography في التصميم يأتي من خلال الثبات على مبدأ واحد في كامل التصميم، بمعنى تجنّب استخدام العديد من أنواع الخطوط typefaces، خطّ أو خطّان سيكفيان بالغرض، وتجنّب أيضًا استخدام أحجام متعدّدة وأوزان لونيّة مختلفة، بل استخدمها في التأكيد على أهميّة جزء معيّن من المحتوى، فكلما كان المحتوى هام كلما كان الخط أكبر وأعرض. حاول دائمًا الثبات على تنسيق واحد في كامل التصميم/التطبيق، فإن كان أحد العناوين بحجم ووزن معيّن في أحد الصفحات، تأكّد من أنّه على نفس السويّة في باقي الصفحات، خاصّة وأن CSS تجعل من هذه المهام سهلة التطبيق في المجمل. أخيرًا، لا تهتم بالخطّ فقط بل أيضًا في طول السطر وارتفاعه، لا تجعل من السطور طويلة، ربما 40 إلى 60 حرف كافٍ في الأغلب، كي لا تصبح هذه السطور صعبة القراءة، أضف أيضًا قليلًا من المساحة البيضاء بين السطور، سيجعل ذلك من الصّفحة فسيحة ووسيعة وسهلة القراءة. استخدم المساحات البيضاء whitespaceإن استخدام المساحات البيضاء whitespace ليس بذلك السر في التصميم، ومن خلال خبرتي فإن إضافة المزيد من المساحة دائمًا هو أمر جيّد، لأن المسافات تسهّل من عمليّة القراءة، وتعطي إحساسًا بالبساطة وتُوصِل الفكرة بيُسر ورحابة وإبداع فنّي وبأقل مجهود ممكن. نميل في معظم الأحيان إلى تصغير حجم الصّفحة قدر الإمكان للتقليل من طولها، فيدفعنا هذا الأمر إلى حشر المحتوى وتكديسه على حساب المساحات البيضاء، قاوم هذه الرغبة، وكن سخيًّا في الحشوة padding والهوامش margins والارتفاع بين السطور، ولا تخف من الأجزاء الفارغة من الصّفحة. النظام الشبكيقد يشتكي البعض بأن تصميم الموقع صَندوقيّ عند استخدام الأنظمة الشبكيّة في التصميم، ولكن في الحقيقة إن التصاميم الصندوقيّة جيّدة ومناسبة لأغلب المواقع والتصاميم، يجب على الموقع الحسن أن يتكوّن من بنية تحتيّة تتألف من أعمدة (columns) وصفوف (rows)، فهي تساعد المستخدم على فهم هرميّة الموقع وتنظم أركانه، وعلى الرغم من أن المصمّم الشاطر سيخرج عن النص في بعض الأحيان ولا يلتزم بالنظام الشبكي، ولكن سيكون دائمًا هناك بُنيّة شبكيّة خلف الستار تسهل من تطبيق تصميمه على أرض الواقع. حدّد عدد الأعمدة التي يجب على الموقع أن يمتلكها، وتأكّد من هذه الأعمدة متطابقة في جميع أرجاء الموقع، ولكن عند الضرورة لا تتردّد في التوسّع واستخدام أكثر من عمود، وتأكّد أيضًا من توزّع العناصر بشكل متناسق في النّظام الشبكي وألا تختلف من صفحة إلى أخرى، مثل القوائم العلويّة وشريط التنقل وشريط البحث. قد يبدو النظام الشبكي مقيّدًا لعمليّة التصميم ولا يحث على الإبداعيّة ولكنّه أمر أساسي لنجاح أي تصميم. الألوانيُعتبر التعامل مع الألوان أمرًا ليس بالهيّن، وطالما لديك المجال تجنّب استخدام الكثير من الألوان، لا بل من الأفضل استخدام أدوات آليّة في توليد الألوان، مثل أداة الألوان المقدّمة من شركة أدوبي Adobe Color CC، حيث تسمح لك هذه الأداة إما بالاختيار من مجموعة ألوان موجودة بالفعل أو إنشاء مجموعة لونيّة جديدة تُناسب الهويّة البصريّة/اللونيّة للموقع corporate colour. لاحظ أنها تتضمّن على خمسة ألوانٍ في اللوحة الواحدة، وهذا أمر حسن في الحقيقة، لا تُفرط في استخدام عديد الألوان، ولا تنس الاستفادة من تباين الألوان في التمييز بين المحتوى الهام والمحتوى الأهم، لأن التباين في الألوان هو الطريقة الأفضل في تمييز المحتوى وليس تعدّد الألوان. الصورتفتقر معظم تصاميم المطوّرين إلى الصور، وربما هذا ليس بالشيء السيء، فمن السهل إساءة استخدام الصور، مع ذلك فأنا أشجّع على استخدامها حتى لو كان في الأمر بعض المغامرة، لما لها دور في لفت النظر وإلقاء الضوء على المحتوى الهام في الصّفحة. يُمكن لاختيار الصور أن يكون صعبًا، ولكن إليك بعض الاقتراحات التي ستوجهك نحو الطريق الصحيح في الاختيار: تجنّب استخدام الصور المتحركة.اختر الصور ذات الأماميّة foreground (صدر الصورة) القويّةاضغط الصور (compression) ولكن لا تبالغ في الضغط.استخدم الوجوه، فهي تجذب نظر الزوّار.تجنّب استخدام القصاصات الفنيّة clipart.خاتمةقد وصلنا إلى ختام المقال، أرجو أن أكون قد وفقت في تقديم المساعدة ولو بالشيء القليل، طبعًا يوجد العديد مما قد يُضاف، ولكن لا بأس بهذه الخطوط العريضة كبداية، وفي حال أردت الانخراط في المزيد من التفاصيل بهدف تطوير مهاراتك ونقلها إلى مستوى متقدّم، عليك بتصفّح مقالات التصميم هنا في الأكاديميّة، فيوجد العديد من المقالات الدسمة. ترجمة وبتصرف للمقال: When developers design لصاحبه: Paul Boag.