أربعة محاور أساسية لاحتراف أي تقنية تطوير في زمن قياسي

قطاع كثير من الطلاب في المرحِلة الجامعية أو ما قبلها في وطننا العربي الكبير لديه رغبة كبيرة في احتراف البرمجة. هذا شيء جيد بالتأكيد، لكن المؤسف في الأمر أن أعداد كبيرة منهم تترك المجال قبل أن يحققوا شيء شخصياً.


أعتقد أن المشكلة تتمثل في كيف يبدأ وكيف يستمر أي من هؤلاء هنا تظهر الحاجة لبرنامج واضع يضعهم في أول الطريق والذي يمثل القيمة الأساسية لهذا المقال القائمة علي طرح برنامج تدريبي بسيط في إطار جدول زمني واضح ومحدد مُمرحل بناءاً علي قدره كل متدرب علي الاستيعاب والساعات التي يمكن أن يخصصها يومياً للتدريب / و يُجيب علي كل من يسأل:

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

إذا كنت مُهتم بالحصول علي فرصة عمل ترضي طموحك بعد تخرجك مباشره أو قبل ذلك أنصحك بأن تبدأ تدريبك بعد قراءة هذا المقال فوراً ولا تتأخر أكثر من ذلك، ما الذي يمنعك؟ ببساطة لاشيء.

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

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

المحور الأول الاطلاع:
الاطلاع أول وأهم المراحل في أي برنامج تدريبيي وتكمُن أهميته في معرفة مكونات اللغة وأدواتها وإمكانياتها بصورة دقيقة الشيء الذي من خلاله تُكون فكره عامه عن معظم الأدوات إن لم يكن كلها وكيفه استخدامها وتعتبر هذه النقطة مهمة جداً في استمرارك من عدمه،  تستغرق هذه المرحلة في المتوسط من 100 – 150 ساعة تختلف من متدرب لآخر كلٌ حسب مجهوده مقسمة لثلاث مراحل أساسية.

المفاضلة بين المصادر:
أختر بعناية أهم الُكتب في المجال بناء علي قيمة المحتوي وليس حجم الكتاب وعدد الصفحات هنا ستُواجه بكم هائل من المصادر تأخذ منها كتاب واحد فقط وأصر علي كتاب واحد لكي لا تقحم نفسك في متاهة الانتقال بين المصادر ويمكن أن تسأل بصورة مباشرة عن أهم الكتب في التقنية المعنية الشيء الذي يُقلص خياراتك بين ثلاث أو أربعة خيارات يمكن أن تفاضل بينها بناء علي طريقة كل كتاب في تناوله للمادة العلمية أو لغة الكتابة (إنجليزي -  عربي) وأنصحك بأن لا تُهدر الكثير من الوقت في هذه المرحلة تحرك بسرعة وفعالية قدر الإمكان.

1 القراءة أربعة محاور أساسية لاحتراف أي تقنية تطوير في زمن قياسي

قراءه عميقة ومتأنية:
إقرأ الكتاب الذي اخترته سابقاً من الغلاف إلي الغلاف بتأني وعمق ولا تبالغ في ذلك لأنك غير مطالب بحفظ هذه المصادر فليكن تركيزك علي فهم كل ما يتناوله ويشرحه الكاتِب ولا بآس أن تعيد الكره مره ثانية وثالثة كحد أقصي كما لا تستعجل في القراءة ولا تُهمِل أو تتجاوز بعض الفصول بمعني أن تأخذ منحي وسطي بين الأمرين وإذا واجهت صعوبة في بعض الفصول لا بآس سيتضح كل شيء في المراحل القادمة إن شاء الله.

القليل من التطبيق :
كل كُتب البرمجة تقريباً تحتوي علي أمثلة تطبيقية قم بتنفيذ تلك الأمثلة  ولا تتجاوز شيء كما لا تنسخ أي شفرة أكتب وأختبر كل شيء بنفسك قد تواجهُك بعض الأخطاء التي يمكنك تجاوزها بسهولة ويجب أن تتحلي بالصبر كعامل أساسي للاستمرار، الهدف من هذه المرحلة هو المرور علي مكونات اللغة بصورة أعمق آخذاً في الاعتبار التطبيق العَملي كمعيار أساسي وهذا ما سنعتمد عليه في المراحل القادمة الشيء الذي ينعكِس علي مُستوي فهمك للمادة العلمية ويزيل الغُموض الذي ربما قد يواجهك في أثناء الاطلاع.

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

المحور الثاني المصادر مفتوحة:
أغلب مهارات البرمجة لا يمكن اكتسابها من القراءة ولا حتى الأمثلة الموجودة في الكتب لذلك عليك الانتقال إلي مستوي جديد يلبي احتياجاتك متمثل في “التطبيقات المفتوحة” بمعني تطبيقات مبرمجة مسبقاً يمكنك الاطلاع علي شفرتها المصدرية ومكوناتها  هنا يجب عليك الاطلاع علي العديد والعديد من هذه التطبيقات لتكون علي دراية تامة بكيفية استخدام هذه الأدوات في تطوير تطبيقات حقيقية كما لا أعتقد أن تواجهك مشكلة في الحُصول عليها حيث أن أي لغة برمجة أو تقنية لديها أكثر من منصة توفر تطبيقات مفتوحة المصدر. أحصرها في ثلاث مراحل:

بحث وتحميل:
حمَل ما يتَسع له قرصك الصلب ولكن عليك أن تنتقي بعناية ما يجب عليك تحميله قبل ذلك إذ أن بعض التطبيقات لا تعدو كونها ألعاب  بسيطة أو محاكاة لأفكار لن تفيدك كثيراً فكر في تطبيقات العمل التجاري، نظم إدارة الموارد علي سبيل المثال أو كل ما له قيمة وتعتقد أنه يكسبك مهارة جديدة ومن ثم عليك تصنيف هذه التطبيقات في مجلدات لتُسهِل علي نفسك الوصول إليها عند الحاجة.

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

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

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

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

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

أهم المهارات التي يمكن أن تكتسبها ويجب أن تركز عليها في هذه المرحلة غير كتابه الكود  ما يلي:

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

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

3- التصميم: أو واجهات المستخدم بمعني يجب عليك الاهتمام بالتلوين و توزيع الأدوات  حاول قدر الإمكان أن تكون بسيطة وجذابة تجعل من السهل جداً التعامل مع تطبيقك.

4- التعامل باحترافية مع قواعد البيانات.

من أهم المهارات والتي من الصعب توفُرها في الكتب وتعتمد بصورة أساسية علي تحليلك للمشكلة وتصميمك لطريقة الحل لذلك قد تغير التصميم أكثر من مره لكن لا بآس.

5-الاهتمام بمعايير جودة البرمجيات

منهج أساسي للعمل في المؤسسات الكبيرة أطلع علي بعض المعايير مثل (ISO) وحاول الالتزام بها قدر الإمكان.

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

أبحث عن التقييم بحيادية:
شارك تطبيقك الأول مع أصدقائك والمهتمين بالمجال لتحصل علي تقيمهم موضوعي وفعال يدفعك في الاتجاه الصحيح لا تتوقع أن يكون كل شي مرضي تقبل النقد بصدر رحب حتى ولو كُنت ستبدأ من الصفر مرة أخري تعامل مع كل رأي باحترام وأفرِد له مساحة نِقاش أستهدف أصحاب الخبرة والمعرفة ولتُكن علي يقين بأن أي وجهة نظر ستقودك إلي  تحسين تطبيقك وتطوير أدائك كما يجب عليك الالتزام بإزالة كل الملاحظات في أقرب وقت.

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

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

 تعلم جيداً بساطة استخدام هذه الأدوات فقط تحتاج إلي القليل من المهارة لتحسين نتائج البحث والوصول بأقصر الطرق إلي ما تريد أكتب كلمات مفتاحيه محدودة تشير إلي المشكلة بصورة مباشرة إذا لم تحصل علي النتائج المرجوة غير الكلمات التي تبحث بها ولا بأس أن تكرر العملية أكثر من مره كما لا تقحم نفسك في “متاهة البحث” بمعني محاولاً الوصول إلي نتائج طبق الأصل لما تبحث عنه  الشيء الذي يبدد الكثير من الوقت  كما أود أن ألفت انتباهك إلي نقطه هامة جداً بدون شك “Google” سيقدم لك الحل لكن أنصحك بأن تفكر في كل مشكلة بنفسك أولاً أكثر من مره قبل أن تبحث وبالنسبة للأخطاء التي تواجهك إثناء البرمجة أعتقد أنها شي عادي جداً إذا لم تتجاوز الأمر بنفسك فقط أنقل رسالة الخطأ إلي محرك البحث وستحصل علي نتائج فعاله.

المنتديات يمكن أن تقدم الكثير:
نعم تقلص دورها لدرجة كبيره في ظل سطوه شبكات التواصل الاجتماعي لكن هنالك منتديات لازالت تحتفظ بمكانتها وموقعها الريادي لقوة وضخامة المحتوي علي سبيل المثال CodeProject) , ,asp.net (php.net ويجب أن تُركز علي المنصات المتخصصة في التقنية التي اخترت احترافها كذلك بعض المواقع والمدونات التي تقدم محتوي متميز ومقنع ولا تتجاهل المجموعات والصفحات لنفس التقنية علي منصات التواصل الاجتماعي التي تضيف بعد تفاعلي جديد لمسيرتك.

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

الخاتمة:
انجازك للبرنامج التدريبي المطروح بمراحله المختلفة وإكمالك لتطوير أول تطبيق بمستوي جوده عالي بناء علي تقييم المختصين في المجال يؤهلك للاحتفال والاعتزاز بوقوفك علي مستوي الصفر عندها فقط يمكن أن تطلق علي نفسك لقب مطور تطبيقات محترف في التقنية المعنية ومستعد لجني الأموال وحاول قدر الإمكان الانضمام لفريق عمل يزيد من خبرتك كخطوة طبيعية للاستمرار.