ماذا على مطور ASP.NET المبتدئ أن يفعل ؟

 BiggnerGuy

 مقدمة :-

هل تعرف أحد فى أى مجال لم يكن مبتدئاً يوماً ما؟ ………. لا أحد يولد عالماً, فإنما العلم بالتعلم, ولكن طرق العلم تختلف, والكثير من الناس قد وجد التشتت والإحباط له طريقا , والكثير من الأخطاء يقع, والكثير من الوقت والجهد يضيع, وذلك لغياب النصيحة والاستفادة من خبرات الآخرين, ولهذا كان حديثنا فى هذا الموضوع, والهدف منه, تقديم النصح, وعرض التجارب, ورسم طريق نأمل أن تجد فيه الإفادة,حيث ستجد فى هذا الموضوع, تعريف بطبيعة مهنة مطور ASP.NET , وماذا يجب عليه أن يعرف, وكيف يتعلم, وأخيراً, كيف يقوم بإنشاء موقع من الصفر حتى النشر ليراه القاصى والدانى, وسأميل للتلخيص, وكذلك سأسعى لإستخدام أبسط العبارات لتصل إلى مستوى المبتدئ, والله المستعان .

من هو المطور الذى نتحدث عنه ؟

مطور مواقع الإنترنت, هو كائن حى يجلس أمام شاشته, ليقوم بإخراج موقع إنترنت, ينحصر عمله بين Client – Server ذهاباً وإياباً, يفكر, يكتب كود, يختبر إنجازاته, يتعاطى المنبهات :).

DeveloperWithNoMoney

ما هى مهام مطور مواقع الإنترنت ؟

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

Ben10 cartoon network

ماذا يجب على مطور ASP.NET أن يعرف ؟

إذا أردت أن تبنى صفحة إنترنت, فأول ما تحتاج أن تعرفه هو HTML, وذلك لأن وظيفتها بناء (تصميم) صفحة إنترنت, فعلى سبيل المثال,مربع النص الذى تكتب فيه البريد الإلكترونى ,أو الصورة التى تراها أمامك, والجدول الذى ستراه بعد قليل , ما هم إلا عناصر HTML, وغير ذلك كثير من هذة العناصر التى تتكون منها صفحة الإنترنت, وإذا ما أردت أن تقوم بتنسيق هذة العناصر فعليك بإستخدام CSS, والتنسيق هنا, هو ضبط الألوان والمحاذاة و الحجم لكلاً من النصوص, والصور, الجداول, وغير ذلك من عناصرHTML, وإذا ما أردت أن تضف المزيد من التفاعل مع هذة العناصر, فعليك بإستخدام Javascript, ولكن دعنا نفكرقليلاً ………… هذة الصفحة تم إرسالها من الـ Server إلى الـ Client وتم عرضها فى المتصفح, فتبقى هذة الصفحة بهذا الشكل ثابتة, لن تتغير إلا إذا قامت بالإتصال مرة أخرى بالـ Server لتحديث نفسها ………. فهنا يبدأ العمل على الـ Server حيث تجد أن IIS يستقبل الطلب الذى أرسله المتصفح, ويقوم بتوجيهه إلى ASP.NET, هذة البيئة البرمجية لبناء تطبيقات إنترنت, حيث لابد لك من معرفة لغة برمجة تكتب بها كود داخل هذة البيئة, ولديك خياران, إما #C أو Vb (سأستعمل #C فى حديثى), فتستطيع من خلال هذة اللغة (#C) من كتابة كود يتفاعل مع هذة الصفحة ويقوم بتحديثها, هذا التحديث, قد يكون بتزويد هذة الصفحة ببعض البيانات, هذة البيانات قد تكون مخزنة فى مكان ما, والشائع أن الجميع يستخدمون مخزن بيانات, يسمى SQL Database أو قاعدة بيانات SQL, ولا داعى للقلق ……. فـ #C تمتلك ما يعرف بـ ADO.NET وهى مجموعة من الأكواد الجاهزة التى يمكنك من خلالها الإتصال بقاعدة البيانات وإرسال وإستقبال بيانات منها………. ولكن هناك مشكلة!…….. وهى أن SQL لا تفهم #C ولكنها تفهم Transact-SQL……… لهذا تقوم #C بإستخدام ADO.NET لإصدار أوامر إلى SQL, هذة الأوامر تكون عبارة عن جمل مكتوبة بـ Transact-SQL, هذة الجمل تكون عبارة عن إرسال بيانات إلى SQL أو العكس, إحضار بيانات من SQL إلى #C, حيث تقوم بدورها بتسليمها إلى الصفحة التى يتم تسليمها هى نفسها إلى المتصفح ليراه المستخدم أمامه, وقد تم تحديثها…………….. فهذا ما يجب عليك معرفته لتكون مطوراً لمواقع الإنترنت . ونلخص هذا الكلام فى الجدول التالى حتى لا يختلط عليك شئ :-

الهدف منها

مكان التنفيذ

النوع

الآداة

تصميم صفحة إنترنت

المتصفح/Client

لغة

HTML

تنسيق صفحة الإنترنت,من ضبط للألوان, والصور والمحاذاة.

المتصفح/Client

لغة

CSS

إضافة مزيد من التفاعل لصفحة الإنترنت

المتصفح/Client

لغة

Javascript

ملف قاعدة البيانات وهو مستودع للبيانات

الخادم/Server

ملف

SQL Database

إستضافة وإدراة قواعد البيانات

الخادم/Server

software

SQL Server

مخاطبة قواعد البيانات

الخادم/Server

لغة

Transact-SQL

بيئة برمجية لبناء وتطوير مواقع الإنترنت

الخادم/Server

بيئة برمجية

ASP.NET

كتابة كود يتم تنفيذه على الـ server

الخادم/Server

لغة

C#

الإتصال بقواعد البيانات

الخادم/ Server

تقنية

ADO.NET

ما تم ذكره فى الجدول هو الأساسيات, وما زاد على ذلك فهو إضافات لتحسين العمل, فلربما تسمع عن LINQ و Entity Framework و Jquery وأشياء آخرى, فإعلم إنها إضافات, يمكنك تعلمها فيما بعد.

 كيف أتعلم هذة الأشياء ؟

هنا تكمن المشكلة…… بالفعل, المشكلة فى طريقة التعلم, فى البداية, الطريق صعب, ولكن مع الإرشادات من ذوى الخبرة تقل صعوبته, فإحرص على إستشارة ذوى الخبرة, والآن سأبين لك ما أراه مفيداً إن شاء الله, فى كيفية سلوك هذا الطريق :-

  • حدد ما تريد أن تتعلمه:- بمعنى حدد البداية التى ستبدأ بها, وأنصحك بالترتيب الذى أعددته لك فى الجدول السابق, ومن ضمن التحديد, ألا تتعمق فى البداية فى واحدة دون الآخرى, ولكن تعرف على الإساسيات بشكل مبدئى, وسيأتى الإحتراف مع الممارسة.

  • حدد مصدر جيد للتعلم:- ليس كل كتاب مفيد, فهناك من الكتب ما هو مضيعة وقت, قابلت أحدهم يوماً ما, وليس كل المقالات والدروس والدورات غنية وذات فائدة كبيرة , ولهذا عليك أن تسأل أولاً, ما هى المصادر الجيدة لتعلم كذا, وتستطيع أن تضع سؤالك هذا فى أماكن تجمع المبرمجين, أو ربما تتوجهة به لشخص تعرفه, ولا تنحصر المصادر فى شرح تقرأه أو تسمعه أو تراه, بل تمتد إلى أن ترى أكواد “, فإحرص على رؤية أكواد مشاريع الغير, وهناك مواقع بها الكثير من المشاريع Open Source , ولكن تصفح أكواد الغير فى هذة المشاريع خطوة متقدمة بعض الشئ, فلا تقدم عليها إلا بعد معرفتك بالإساسيات.

  • إحرص على التطبيق العملى :- لابد لك من أن تفكر فى مشروع ما, قد يكون خاصاً بك, أو بصديق , أو بأحد من أفراد العائلة, المهم, أن تقوم بتطبيق ما تعلمته فى هذا المشروع, ولا يهم إن كان موجوداً من قبل أم لا, أو إن كان صغيراً أو كبيراً أو متوسط الحجم, فالغرض منه التعلم والتطبيق العملى, ولا تُأخر هذة الخطوة .

 سأبد فى عمل مشروع …. ولكن هناك مشكلة ؟

لاشك أنك ستقابل بعض المشاكل بمجرد التفكير أو البدء فى إنشاء مشروع, وهنا سأوضح ما تيسر :-

  • مشكلة التصميم :- أغلب من رأيتهم من المبرمجين لا يحسن التصميم, وأنا منهم, لهذا, إشتكى الكثير منهم فى بداياته من أنه لا يستطيع إنشاء مشروع كامل له, لإنه لا يجيد التصميم, ولا يتوفر لديه تصميم مناسب للفكرة التى فى رأسه, فهل معنى ذلك إلا تقوم بالبدء فى المشروع ؟…… بالطبع لا , هناك دوماً حلول, فإليك الحلول التالية :-

    • شراء تصميم :- هناك العديد من المصممين الذين يبحثون عن من يقومون بتصميم موقع له, وليس هذا فحسب!……… هناك مواقع تقوم ببيع تصميمات رائعة بأسعار معقولة, يمكنك شراء واحداً منهم.

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

    • إستخدام Bootstrap:- فى البداية Bootstrap هى مجموعة تنسيقات Css وjavascript جاهزة , تقوم بتحسين شكل الصفحة, و يوجد الكثير مثل Bootstrap تستطيع الوصول إليهم من خلال البحث فى جوجل عن CSS Frameworks, فيمكنك إستخدام Bootstrap للحصول على تنسيقات رائعة للجداول والقوائم والخطوط والنصوص والأدوات الآخرى.

  • مشكلة الإستضافة :- قد تقوم بإنجاز موقع, وتحتاج إلى نشره, فتحتاج إلى إستضافة وربما تكون غير مستعد لدفع مصاريف الإستضافة, فماذا تفعل؟………. الحل فى إستضافة مجانية, حيث تستطيع أن تنشر موقعك عليها من دون أن تدفع شئ (ابحث فى جوجل asp.net free hosting).

  • مشكلات العمل داخل الموقع :- هناك نوعان من المشكلات ستقابلهما, أولهما, مشكلة المنطق,و كيفية إيجاد الحل, والمشكلة الثانية, مشكلة الكود, أما الآولى, فعليك بتعلم مهارات حل المشكلات, والثانية, بالمحاولة لمدة لاتزيد عن 30 دقيقة, وإن لم تجد حلاً, إطلب المساعدة, من صديق,أو من غيره, وأفضل صديق وجدته كان جوجل“, إنه حقاً يعرف كل شئ :D.

  • وأخيراً مشكلة التردد :- لا تترد وابدأ, لا تقول, سأنتظر حتى أكون محترفاً, فقط توقف وإنظر حولك لترى الكثير من التطبيقات الناجحة التى لم يكن أصحابها من المحترفين, إبدا, وهناك الكثير من الأماكن التى يمكنك ان تضع فيها سؤالك إن واجهت أمراً ليس لديك به علم, وستجد من يساعدك.

إنشاء موقع من الصفر إلى النشر

يوجد العديد من منهجيات إدارة المشروعات(إبحث فى جوجل عن Project Management ), ولكن لا يهم المنهجية التى تعمل بها مادمت مبتدئ, لإنك يوماً ما ستقوم بتحسين مهاراتك, فدعنا نتكلم فى العام دون التخصيص, فى البداية ما هو الموقع ؟ …………… هو مجموعة من الصفحات التى تراصت جنباً إلى جنب لتُكوّن موقع, يستطيع المستخدم التنقل من صفحة لآخرى عبر قائمة تضم أسماء هذة الصفحات وما بها من مهام, وهذة المهام , سيتم تحديدها فى مرحلة التحليل, بجمع المعلومات عن الفكرة التى تريد إنجازها, ومن ثم البدء فى الإنجاز ………….. ولكن هناك بعض المبادئ التى أريدك أن تتعرف عليها أولاً :-

  • إفهم الفكرة جيداً :- إن كان المشروع لغيرك, فلا تترك شيئاً للتخمين, عد وإسأله مرات ومرات, لتتأكد من أن ما تقوم بإنجازه هو مايريده العميل فعلاً , لإنه غالباً ما يخطئ فى التعبير عن ما يريد,فأحذر هذا…….. يمكنك مناقشة العميل والجلوس معه أكثر من مرة لتفادى المشكلات فيما بعد.

    CustomerandDeveloepr

  • أنجز المطلوب فقط :- لا تفرط فى التحليل, وتضع المزيد من الأفكار, ولا تفتح الباب أمام العميل ليصلك كل يوم مكالمة من سيادته يخبرك بأمر رآه فى منامه ويريد تطبيقه فى المشروع, أغلق عليه هذا الباب, وإن إستطعت أن توقع إتفاقاً بينكم على هذة المتطلبات ,فإفعل……. لإن الزيادة من جانبك أو من جانبه تعنى أن هناك جهداً ضائعاً ووقتاً مستنفذاً وأموالاً تمت خسارتها….. فأغلق الباب.

CustomerandDreams

  • صمم قاعدة بيانات رائعة:- حُسن تصميم قاعدة البيانات من أكبر الأمور التى ستوفر لك المرونة فى العمل, والتصميم الجيد يأتى من معرفة جيدة بكافة جوانب المشروع, أى بالتحليل الجيد, ولتحسين مهاراتك قم بالتعرف على كلاً من (Normalization/De-normailzation).

  • أكتب أفضل كود :- إبحث عن أفضل الطرق فى كتابة الكود وتعلمها وطبقها فى مشروعك, لا تكن كصانع الكنافةأو كطباخ “Spaghetti”, لإنك أنت أول من سيجد المشقة مع هذا الكود, لذلك تعرف على مبادئ تصميم البرمجيات ومنها SOLID , كذلك إقرأ عن Design Patterns, وأسعى دوماً فى تحسين طرق كتابة الكود.

     spagett

البدء الفعلى فى المشروع

سأفترض فى حديثى الآن أن هناك عميل هو صاحب المشروع, وأنت المطور الذى سينجز هذا المشروع, ولا يوجد أحد غيرك, وذلك لإن كلامى هذا, إن تم توجيهه إلى مبرمج فى شركة برمجيات, سيختلف الحديث, لإن العمل سيتم توزيعه على أكثر من فرد, ولكن هنا أنت من ستقوم بكامل العمل, فما هى أول خطوة ستأخذها؟……… الجلوس مع العميل ومناقشته فكرة المشروع هى أول خطوة, وإن إستطعت ألا تجعل بينك وبينه وسيط فافعل, فلابد أن تعرف منه من هم الـ “Stakeholders”, أى من الآطراف المعنية بهذا البرنامج, ويجب أن تعرف منهم ماذا يريدون من هذا البرنامج أن ينجز لهم…… عندها كلاً سيقوم بإعطاءك متطلباته, وهناك من العملاء الجيدين, من يقوم بإعطاءك ملفاً نصياً مكتوباً به متطلباته وملاحظاته وهذا جيد, وإن لم يفعل, وكان المجال مسموحاً, فإطلب أنت منه ملفاً يوضح فيه متطلباته, ولاشك أنك ستناقشه فى هذا الملف, ولكن إن لم يكن المجال مسموحاً, فلا داعى لإن تطلب منه شئ لإنك لن تحصل عليه, وإكتفى بسماعه والجلوس معه وإكتب أنت ما تريد من ملاحظات, واستخدم أبسط العبارات معه, فقط قم بتدوين كل شئ.

تحليل المشروع :-

بعد أن تتضح الفكرة أمامك ………. ماذا ستفعل؟ ……. يُفترض الآن أن تقوم بتحليل المشروع لمعرفة المهام المطلوبة, وكتابتها على شكل وحدات (Units), وتُقسم هذة الوحدات إلى مهام, ومعرفة العلاقة بينهم.

فنقوم بتقسيم الواحدات على سبيل المثال التالى :-

  • Products

  • Product Categories

  • Product Images

  • Customers

  • Blog

    • Posts

    • Comments

وهكذا إلى أن تنتهى من سرد جميع الوحدات التى يتضمنها الموقع, وعلى قدر المعلومات التى قمت بتجميعها من العميل, يبنغى أن يكون التحليل وافى ولا يترك شئ, ومن هذا التحليل ستخرج قاعدة البيانات, وبها الجداول التى ينبغى أن تخدم المشروع, ولكن عليك أن تتبع المبادئ السابقة, وصمم قاعدة بيانات رائعة.

تصميم الواجهة

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

تصميم الكود

يمكنك الآن التفكير فى كيفية تصميم الكود, كيف سيكون؟ ……. خذ بعض الوقت فى تدوين كيفية سير العمل مع الكود, أى لابد أن تقوم بالتخطيط للكود, وهذا مهم جداً حفاظاً على الوقت.

بعد ذلك يمكنك الآن البدء بكتابة الكود, ويمكنك البدء بكتابة Data access (كود الإتصال بقاعدة البيانات), ومن ثم كتابة كود الـ Business Logic, وأخيراً, تبدأ بكتابة كود الـ Presentation, والبدء فى تركيب الكود على الواجهة (UI), ومن ثم تقوم بضبط الـCSS وما شابه, أى أنك تقوم بتركيب الـUI الذى رأه العميل ووافق عليه, ليخرج المشروع بشكله النهائى مبدئياً, لإننا لم نقم بعد بالإختبار.

الإختبار

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

جرت العادة أن تقوم بإستعراض الموقع فى المتصفح وتبدأ بالإختبار, ولكن بجانب ذلك يمكن إستخدام ما يعرف بـ Test Automation (أداوت لإختبار الكود بعيداً عن بيئة التشغيل), حيث توفر لك مرونة عالية عند إختبار الأكواد, ولكن للعمل معها يوجد بعض المتطلبات التى ستعرفها عند البدء فى تعلم ما هو الـ Test Automation , ولا غنى لك عن إختبار الموقع فى المتصفح, فكونك مبتدئ يمكنك الإختبار بالطريقة التى تجيدها.

التعاملات المادية

rich-guy-cartoon

بعد أن يفتح الله عليك من أبواب فضله, ويأتيك عميل لتتفق معه على مشروع, لاشك أنك ستواجه بعض الأمور المادية, حتى لا أطيل, فى البداية ينبغى أن تقوم بتقييم تكلفة المشروع(يمكنك البحث فى جوجل عن هذا لإن الموضوع يطول), لكن إحرص على أخذ نسبة ولتكن 25% بعد الإتفاق, ومن ثم 25% آخرى بعد الموافقة على التصميم (UI) , والـ50 % بعد التسليم, وإن كان المشروع كبير, يمكنك إستلام 25% دفعة ثالثة بعد فترة بعد عرض ما تم إنجازه على العميل, و25% الأخيره عند التسليم. تختلف الأساليب فى التعامل المادى, ولكن هذا التقسيم يضمن لك حقك, وإن كان لديك طريقة آخرى, فدعنا نعرفها وإتركها فى تعليق.

البحث فى جوجل

كل المطورون مهما كان محترفاُ وبل خبيراً, لابد له من أن يبحث, لا أحد قد جمع العلم كله, ولا أحد يعرف كل شئ, المختصر, أن الكل يبحث فى جوجل, ولكن هناك من يصل من أول محاولة, وهناك من يحاول ويحاول ولا يصل, وفى النهاية يجلس أيام مع مشكلة واحدة, ضع فى علمك, أنك لم تكن أول من يقابل مشكلة ولن تكون آخرهم, المعنى, أنه فى الغالب ستجد أن هناك من طرح سؤالاً فى نفس المشكلة التى أنت فيها, ولكن عليك أنت تصل إلى السؤال لتعرف الإجابة إن وجدت……. ما جعلنى أكتب هذة النقطة, هو أننى أريد أن ألفت إنتباهك إلى كيف تبحث ؟“……….تغيير صيغة البحث عامل مهم جداً فى إيجاد أفضل النتائج, وإختيار كلمات البحث أهم وأهم, فمثلاً جرب مثلاً : “Get Started with ………” أو “How to …..” أو “Using ….. to ….. ”, بدلاً من كتابة ما تريده بشكل مباشر, فمثلاً , لا تكتب asp.net وإنتهى , ولكن جرب “get started with asp.net ”, وإذا ما وقف أمامك مصطلح لا تعرف ما هو , فعليك بـ Wikipedia.

 الختام

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

الدورات المتاحة :-

دورة  ASP.NET Web Forms  تتكون من 20 درساً, التفاصيل هنـــــــــا

دورة ASP.NET MVC  تتكون من 15 درساً , التفاصيل هنــــــــــا

دورة ASP.NET Web API  تتكون من 15 درساً, التفاصيل هنــــــــــــا

14 رأي حول “ماذا على مطور ASP.NET المبتدئ أن يفعل ؟

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

  2. فقط سؤال صغير هل تعتبر السكربتات التي تحوي جمل ال الانسيرت او السيليكت أو الديليت التي تكون مكتوبة داخل السي شارب عندما نريد الوصول لقاعدة البيانات والتفاعل معها ,هل تعتبر من مكتبات الا ادو دوت نت ام فقط كلاسات الادابترز والداتا سيت والداتا تيبل هي من تعتبر من مكتبات الاا ادو دوت نت ؟؟؟

    1. “جمل ال الانسيرت او السيليكت أو الديليت التي تكون مكتوبة داخل السي شارب عندما نريد الوصول لقاعدة البيانات والتفاعل معها ” ..هذة Transact-SQL.

      نعم :- “كلاسات الادابترز والداتا سيت والداتا تيبل هي من تعتبر من مكتبات الاا ادو دوت نت ”

  3. مقاله جدا رائعة
    بارك الله فيك و ان شاء الله في ميزان الاعمالك ^_^
    انا من زمان ببحث عن مقاله ترشدني للطريق الصحيح

  4. المقاله مفيده جدا وتفتح افاق لكتابة العديد من المقالات .
    اريد اضافة نصيحة للمطور المبتدئ :
    1- اياك وان تتسرع او تكون على عجلة فى تعلم البرمجه بل خذ وقتك الكافي للتعلم الجيد ولا تياس من التعلم .
    2- بالنسبة للتعاملات المادية لا تتسرع فى اعطاء العميل تكلفة الموقع فى نفس جلسة التحليل لانه ربما يسألك كم يكلف الموقع.
    – وكذلك لمعياد التسليم اعطي لنفسك فرصه لعمل خطه زمنية مع اخذ الاحتياطيات اللازمه لاي ظروف ما .

  5. المقال رائع ,
    بالنسبة لمرحلة بعد التعلم او بمعني اصح حينما يكون المطور له القدرة علي انجاز موقع (لان التعلم لا ينتهي) يجب ان يسعي الي المشاركة في مشاريع فعلية , من خلال التسويق الذاتي علي مواقع التواصل الاجمتاعي بهف جذب العملاء , او ان يرسل السيرة الذاتيه الخاصة به الي شركات البرمجة , ومن الممكن ان يقبل بالعمل في شركة بدوام جزئي او كلي بعائد قليل , لان هذا اكيد سيكون مصدر خبرة ممتاز , لان الاحتكاك بسوق العمل مهم جدا , وايضا من الممكن ان يحاول ان يستفيد من المواقع التي توفر عمل للمطورين مثل freelancerو elance.com و odesk
    وعليه في هذه المرحلة ان يحاول جاهدا اذا قام بعمل ويب سيت لاي عميل ان يجعل هذا العمل مميز ولا ينقصه شئ وذلك لكسب ثقة العميل , هذا في مرحلة العمل ولكن يجب ان يحرص المبتدئ علي تنظيم وقته وعدم التشتت بان يقوم بتحديد المصادر التعليمية ويقوم بوضع خطة منظمة يلتزم بها , والابتعاد عن التعليم بشكل عشوائي .
    هذا ما اردت قوله , بالتوفيق للجيمع

اترك رداً على محمد عماد إلغاء الرد