تاريخ المقال طول المقال تتطلب قرائته
1100 كلمة 7 دقيقة

منذ أن خططنا لعقد دورة البرمجة لتطبيقات الأيفون وذلك بعد عقد ورشة العمل الأولى لبناء تطبيقات الأيفون كان هدفنا الأساسي تخريج مبرمجين جاهزين للعمل وبناء تطبيقات يمكن بيعها عبر متجر التطبيقات بعد الدورة مباشرة، وكان التحدي الأول هو أننا وضعنا في حسباننا بأنّ المتدرب لم يقم بالبرمجة سابقا لهذه المنصة؛  وعلينا أن نقوم بأخذه عبر رحلة بسرعة الضوء ليستطيع خلالها بناء تطبيق خلال (10) أيام والتي هي أيام الدورة مقسّمة على (5) أيام للمبتدئين و(5) أيام للمتقدمين بواقع (25) ساعة لكل دورة.


التحدي الأول

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

لتعلّم البرمجة عليك أن تكون قابلا لتعلّمها وذلك يعني أن تكون ذو عقلية منطقية تستطيع استيعاب كيف يفكر الكمبيوتر لتستطيع تطويعه عبر الأكواد البرمجية، لذا تجد الكثيرين ممن دخلوا فروع علوم الحاسب في الكليات والجامعات تركوها بعد السنة الأولى لعدم مناسبة هذا العلم لهم أو لعلّهم تخرجوا ولم يكونوا مبرمجين.

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


التحدي الثاني

وهو بامتلاك المتقدّم لجهاز من نوع (ماك) وتحديدا جهاز (محمول)، حيث إنّه لا يمكن التطوير على أيّ نظام آخر غير (ماك) وهذه الأجهزة مكلفة ولا يمكن تجهيز معمل متخصص بها أو استغلال معمل موجود سابقا والذي يحوي عادة أجهزة (PC) تحوي نظام (Windows)؛ لذا كان على المتقدّم إحضار جهازه معه لهذا السبب ولعدة أسباب أخرى ومن بينها أنّ عملية تركيب بيئة التطوير وربط حساب المطوّر وشهادات التوقيع تطلب تحميلها وربطها بنفس حساب المستخدم والتي تكون مرتبطة بحساب التطوير ورفع التطبيقات. ولقد قمت بكتابة موضوع بعنوان (ثمان خطوات لتتمكن من بناء تطبيقك الموجّه لأجهزة (iPhone/iPad)) لشرح المتطلبات لدخول هذا العالم.


التحدي الثالث

أن تكون الدورة عملية أكثر من أن تكون نظرية، لأنّ الهدف هو تخريج مبرمجين يستطيعون البرمجة مباشرة بعد الدورة وليس عليهم الانتظار فترة طويلة أخرى بعد الدورة حتى يستطيعوا بناء تطبيقاتهم مما قد يتسبب التأخير بفقدهم ما تعلّموه من مهارات أو نسيان المعلومات المطلوبة لبناء التطبيق.

لذا قمنا ببناء دليل تعليمي عبارة عن كتيب مصور بجزأين (101) و (102) يشرح الخطوات بالصور ليكون مرجعا أساسيا للمتدرب بينما هو يقوم بالتطبيق، كما قمنا باختيار مشروع أساسي نقوم ببنائه خلال أيام الدورة يحوي أهم الأفكار والمكونات الأساسية لبيئة التطوير ونقوم فيها وفي كل يوم بإضافة ميزات جديدة لتعلم مهارات تعليمية تؤدي إلى الاحترافية. وقد كان مشروع المكتبة الإلكترونية خير مثال حيث بدأنا ببنائه للتعامل مع البيانات المخزنة كملفات (File System) على جهاز وطوّرناه ليتعامل مع قواعد البيانات (SQLite Database)، ثمّ طوّرناه ليتعامل مع خدمات الويب (Web Service &XML) ومن ثمّ قمنا بمشاريع منفصلة متخصصة تعمل بشكل مستقل؛ مثل مشروع الآلة الحاسبة ومشروع الخرائط والتعامل مع الصوت والصورة وغيرها من المشاريع.


التحدي الرابع

وضعنا في الحسبان التعقيدات التي يخضع لها المطورون من قِبل أبل وخصوصا بتسجيل حسابات التطوير والتعامل مع المتجر، لذا قمنا في اليوم الأول بتعريف المتدرب على كيفية التسجيل والخطوات اللازمة للانخراط؛ وذلك ليكون في الأيام الأخيرة قد تمّت الموافقة على انضمامه من قبل شركة أبل وبالتالي يكون جاهزا للتدريب العملي ومعرفة خفايا التعامل مع الموقع.


القيمة المضافة

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

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


إثبات جدوى

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


الدورة استثمار

خلال الإعلان عن الدورة أصررت على كلمة (الاستثمار في الدورة) بدلا عن (تكاليف الدورة) وذلك ليعرف المتدرّب أنّ ما يقوم به (استثمار) فعلي وبإذن الله يكون عائده مجديا وهذا ما أثبتته التجربة، حيث إنّني شرحت بأنّ تكاليف الاستثمار  وإن كانت مرتفعة بعض الشيء متمثلة في مبلغ الدورة وتكاليف العتاد والانضمام لبرنامج المطورين والذي يصل بمجمله إلى قرابة (4 آلاف دولار) مقسّم ما بين (ألفي دولار) تقريبا تكاليف الدورة و(ألفي دولار) تكاليف الأجهزة وبرنامج المطورين. وهو نصف المبلغ الذي حصل عليه بعض المتدربين من أول عملية بيع لتطبيقاتهم أي أنّ عائد الاستثمار الأول كان ما يقارب (100%) في أول تجربة، حيث إنّ بعضهم قام بالتعاقد على تطبيقات بقرابة (10 آلاف دولار)  بل هو استثمار ناجح على المدى الطويل بإذن الله.


ماذا بعد ذلك؟

بعد انتهاء الأسبوع الأول للمتدربين والذي أسميناه دورة المبتدئين (101) لاقت الدورة صدى كبيرا بنجاحها وخصوصا بعد أن تحدث عنها من جربوها فعليا، وكان هناك طلب كبير عليها من قبل الناس الذين ربما انتظروا ليتأكدوا من نجاح التجربة ولكننا لم نكن لنقبل بخرق معايير دورتنا والتي كان أحدها أيضا أنّ دورة المتقدمين (102) لا يحضرها إلا من أنهى معنا الدورة الأولى الخاصة بالمبتدئين (101) ليكون كمنهج تعليمي نضمن به تسلسل المبرمج وتأهيله لهذه المرحلة. وأيضا لكي لا يضيّع وقت زملائه في الدورة في حال لم يكن يتقن جزئية كنا قد تحدثنا عنها سابقا في الدورة الأساسية، ولقد تشجعنا فعلا لتكرار الدورة ولكننا آثرنا أن نؤجل ذلك لما بعد رمضان وذلك لضيق الوقت فيه خصوصا لو افترضنا بأنّ صلاة التراويح تنتهي قرابة الساعة (09:30) والدورة تحتاج إلى (5) ساعات يوميا بشكل مكثف لا يمكن فصله لذا فإنّ المتدربين لن يجدوا وقتا للراحة أو حتى للسحور : )