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

ماذا أحتاج لكي أطور نفسي في هذا المجال؟

بالطبع تحتاج إلى ممارسة هذا المجال ، القراءة فيه ، التعمق أكثر بمعرفة التقنيات التي يستخدمها المطورين وهناك الأساسية منها التي يجب تعلمها مثل HTML ، CSS ، XML .. ولغات برمجة من جهة العميل أو Client Side Scripting مثل Javascript (تزداد أهمية هذه اللغة بشكل كبير جداً يوماً بعد يوم) ، ولغات برمجة من جهة الخادم أو Server Side Scripting مثل PHP ، Ruby ، ASP.NET ..

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

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

ما هي لغات البرمجة التي أحتاجها في هذا المجال؟

أما بالنسبة للغات البرمجة فالأمر يعود لك إنت وإختيارك وممكن متطلبات السوق تأثر على إختيارك ولكن هذا في السوق المحلي في دولنا العربية ولكن عالمياً لن يؤثر وخاصةً أن مزاولة تطوير مواقع و البرمجة أو التصميم أصحبت سهلة عن طريق الإنترنت وعبر المواقع التي توفر فرص لمطوري مواقع الويب المستقلين (Freelancers) تجد أن الطلب موجود ولكن نعود إلى نفس النقطة الأولى تحتاج إلى اللغة الإنجليزية + بطاقة إئتمان إلكترونية ..

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

بعد إختيارك اللغة التي تريدها ، عليك بمعرفة أساسيات اللغة وتجربتها وإعتماد محرر خاص بك أنت تختاره يساعدك على إتمام تطبيقاتك على أكمل وجه ، إضافةً إلى هذا قراءة كتاب تثق فيه حول هذه اللغة + مرجع أو دليل خاص بهذه اللغة (Manual) تجد فيه الدوال وتقسيماتها وشروحات وأمثلة حولها  ، بعد مرحلة البداية توجة إلى البرمجة الكائنية أو ما يعرف بـ Object-oriented programming ، وإبدأ بإستخدام أطر العمل ستفيدك كثيراً في إنجاز أعمالك البرمجية ويمكن في المستقبل إنشاء إطار عمل خاص بك تستخدمه في تطبيقاتك.

موضوع مفيدة حول البرمجة:

كم المدة المستغرقة لتصبح مطور ناجح؟

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

إستفد من خدمات الويب 2.0 ، نعم تستطيع الإسغناء عنها ولكن ستضيع فوائد كثيرة في ذلك :D ، إجعل لك روابط تزورها يومياً أو بشكل شبه يومي متخصصة في مجال تطوير مواقع الويب عن طريق تقنية RSS والخدمات التي توفر لك قراءة الخلاصات مثل Google Reader ، المشاركة في الشبكات الإجتماعية والإستفادة من الروابط المتداولة هنا شبكات إجتماعية مثل Design Float , Digg , Del.icio.us , Pixel2Life ,  .. حاول أن تحصر قراءتك لحسابات أشخاص معينين أو أوسمة Tags معينة في حال تراكمت عليك المقالات (خذ المفيد والنادر وأترك الباقي) ولا تدمن على الشبكات الإجتماعية لأنها ستأثر في تنظيم وقتك وحاول الدخول عليها بعد الإنتهاء من أعمالك ، وإقصر متابعتك على أكثر المدونات التي تشارك في هذه الشبكات وتجد مواضيعها مفيدة وغير مكررة مقارنة بغيرها ولن تحتاج بعدها لزيارة مثل هذه الشبكات إلا بين فترة وفترة أخرى.

وهناك شيء آخر يجب أن تستفيد منه وهو المشاركة الملفات والمواد التعليمية المفيدة من كتب ، وبرامج عن طريق برامج p2p وأشهرها التورنت ، ستجد كتب كثيرة لا تجدها إلا على دور نشر مشهورة ومواقع بيع الكتب مثل amazon.com .. عادةً لا أنشر مثل هذه المواد ولكن أشير إلى مكان وجودها وأستفيد منها للإستخدام الشخصي فقط لأن غالب الملفات (وربما جميعها) غير مرخصة ولكنها مفيدة جداً.

هل يجب على مطور مواقع الويب دراسة برامج تصميم مواقع الويب أم لا ؟

لا ، فهذا الأمر إختياري يعود لك أيضاً أهم شيء تعرف التقنيات الأساسية التي ستستخدمها Javascript , XML , CSS , XHTML ، يعود لك الخيار في إستخدام المحرر الذي يناسبك بالمميزات التي تريدها مثل Adobe Dreamweaver , PHPDesigner , Aptana , .. شخصياً أحب إستخدام المحررات التي ذكرتها ولكن حالياً أستخدم PHPDesigner 2008 إضافةً إلى Dreamweaver ( بعض الأوقات ) ..

هل أحتاج إلى اللمسات الفنية لمجال الجرافك ديزاين؟ وأطبقها عند تصميمي لموقع ويب؟

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

هل هناك شهادات تهتم بمجال تطوير مواقع الويب؟

قبل أن أجيب على هذا السؤال ، إهتم بالجانب التطبيقي أكثر من هدف الحصول على شهادات معترف بها مارس التعلم الذاتي في هذا المجال ، مارس مهنتك كمطور ويب في البداية حتى لو كان تقديم خدماتك مجاناً لأنها تعطيك خبرة مع الوقت ، بعدها إن أردت الحصول على شهادات ليس هناك موانع من ذلك ولكن تحتاجها إذا كنت تريد تكون موظف بنظام الدوام الكامل (full-time) و لكن إن أتت إليك فرصة ممارسة هذا المجال كمطور مواقع مستقل تضيعها مع أن هناك معوقات لها مثل الدخل المحدود ، كثرة الأعمال ، .. وغير ذلك ولكن مع الخبرة وتوجهك إلى تقديم خدماتك عالمياً (قد) يختلف الأمر عن سابقه وذلك لقلة الإهتمام بهذا المجال في الوطن العربي.

أما بالنسبة للشهادات فحسب معرفتي المحدودة بها مثل شهادات CIW – Certified Internet Web Professional الدولية ، شهادة ZCE – Zend Certification وهناك معلومات حول شهادة Zend باللغة العربية أيضاً ، شهادة Sun Certified Web Components Developer for J2EE من شركة Sun ، شهادات أخرى خاصة بشركة Microsoft ، بالنسبة لي لا أمتلك أياً من الشهادات التي ذكرتها ولن أهتم بذلك حالياً ، لأن المحتويات الآن أصحبت متوفرة والدروس كثيرة ولكن تحتاج إلى ممارسة (دائماً أذكر هذه الكلمة لأنها هي الأساس في الموضوع كله :) ) ، مارس التعلم الذاتي أهم شيء.

ما الفرق بين تصميم مواقع الويب وتطوير مواقع الويب؟

المفهوم الأخير يضم المفهوم الأول :) .. تصميم مواقع الويب متعلق بكتابة شفرة html ، تقطيع التصميم وتعديله ، توافق التصميم مع عدة متصفحات ، مطور مواقع الويب يمكن أن يكون مصمم جرافك ، وفي نفس الوقت يستطيع تصميم موقع ويب وبرمجة تطبيق ويب ولكن طبعاً هناك مستويات ، المطور ليس شرطاً يكون مبرمج بمعنى الكلمة متعمق في البرمجة ولكن يستطيع أن يصل إلى مستوى متوسط أو متقدم في البرمجة وفي نفس الوقت يحتفظ بخبرته في التصميم ..

مطور مواقع الويب ليس مجرد معرب للتطبيقات! أو مركب للتطبيقات على المواقع! لأن ذلك يستطيع فعله شخص لا يعرف في البرمجة سوى الأسياسيات وربما لا يعرف شيء إلا المتغيرات وكيفية كتابة ” hello world! ” !! ، ممكن يكون مطور مواقع ولكنه مبتديء ليس مطور حقيقي يشار إليه.

مواقع عالمية أنصح بمتابعتها

مجلات إلكترونية:

مدونات مطورين:

مواقع ومدونات متخصصة بالدروس ، المقالات ، المصادر ، إلهام ، .. :

معارض تصاميم:

  • The CSS Gallery List ، قائمة بأفضل معارض CSS تغنيك عن الروابط التي كنت سأعرضها ولكني إكتفيت بهذا الموقع.

مواضيع متعلقة بالموضوع تفيدك أكثر:

هذا ما إستطعت الإجابة عنه …