< السبب الرئيسي الذي جعلني أكتب هذهِ السيرة ، هو أنه في أحد الأيام ، راسلني شخص على الفيسبوك و طلب مني سيرةً عن حياتي.
أيام المدرسة الثانوية
أول مرة إستخدمت الحاسبة كانت بعد 2003 ، كانت Pentium II ، و قد كان عمري حوالي 13 سنة ، في العطلة الصيفية للأول متوسط. أذكر أيام الـ Windows 2000 و المترجم الوافي الذهبي و بعض من الألعاب التي كنا نلعبها مع جيراننا كرار. لقد كنا مدمنين على الالعاب بقوة. بعدها قمت بالتعلم عن طريق التجربة و الخطأ إعدادات الـ Windwos التي كانت باللغة الإنگليزية ، و التي ساعدت على تحسين لغتي الإنگليزية أيضاً ، بمساعدة والدي على مصطلحات الذي جوابه يكون أسرع و أوضح من المترجم وافي :) .
بعدها قمتُ بشراء الكثير من أقراص الـ (CDs) المتفرقة من البرامج و المنوعات و تجربتها ، أتذكر “الأزل” ، الذي كان يحتوي على فلاشات (SWFs) و ملفات PowerPoint متحركة و الأغاني. وصلت إلى مرحلة تجميع البرامج و تقسيمها ، و التي كانت دائماً ما تُضرب بفايروس بحيث أعيد نسخها و “لصقها” على الحاسبة.
أهم البرامج التي تعلمتها كان الـ Adobe Photoshop ، و الـ Microsoft Office Word و خصوصاً الـ Utilities ، مثل محولات الفيديو و تعديل الصوت (أتذكر في عام 2005 كان لدي مونتاج لفيديو بتصوير كامرة الحاسبة ذات الكيبل الطويل لقطتنا و دمج صوتي فوق صوته) ، و التي تمسح الملفات الزائدة و غيرها الكثير.
بعد فترةٍ من الزمن ، بسبب كوني أحتاج إلى تعلم إشياء جديدة عن طريق التجربة ، الكثير من الأخطاء كانت تحدث و تبقى لا أعرف كيفية إرجاع الحالة إلى وضعها الصحيح ، عندها ، دعت الحاجة إلى واحدة من أهم الأشياء التي أردت تعلمها ألا و هي الـ format أو تهيئة الحاسبة كما تترجم بالعربية. المشكلة أنه كان لدي قرص (CD) الخاص بالـ Windows XP لكن حدثت أكثر من مرة مسح جميع بيانات الهارد (و قد كان والدي يصلحهها عند “سيد حسين” من دون تردد أو يسألني عن سبب تعطيل الحاسبة) و توقفت عن الإستمرار بالعملية لأني لا أعرف كيفية تخطي هذهِ النقطة و الإستمرار بتنصيب الـ Windwos. في أحد الأيام ، عندما كنت في محل حاسبات صديقي حيدر ، كان يعمل فرمتة للحاسبة ، و بـ”إختلاس النظر” شاهدت حركة يدهِ يضغط على حرف معين لا أذكره لكي يعبر مرحلة تقسيم الهارد. هذهِ الحركة كانت شيئاً لا يقدر بثمن. بعدها “فرمتت” الحاسبة بنظام الـ Windows XP و بعض المرات Windows 2000 و حتى الـ Windows 98.
على الرغم من صغر عمرنا ، كان والدي يعطينا مطلق الصلاحية و المال لشراء أي شيء متعلق بالحاسبات. في هذهِ الفترة (2004-2005)، كنا نذهب إلى مركز الإنترنت أنا و أخي ، لمدة ساعة ، نصف ساعة لي و النصف الآخر له. أنا كنت أستخدم الـ Internet Explorer و غالباً ما كان Yahoo! Messenger. كنا نتراسل أيضاً مع أستاذنا صفاء في اللغة الإنگليزية عن طريق الـ Yahoo!.
العطلة الصيفية في الثالث متوسط ، في عام 2005 ، كانت نقطة مهمة في الذاكرة ، فيها قمنا بسحب إنترنت إلى المنزل و إشترينا Play Station™ 2. أهم شيء كان لدي من إستخدام الإنترنت هو تنزيل البرامج. أحد المواقع العربية كان منتدى طرب أو روتانا أو موسيقى ، كانت فيه أكثر من 71 صفحة من البرامج ، كل صفحة تحتوي على 10 أو 11 موضوع لبرنامج معين ، قمت بتنزيلها جميعاً و تجربتها. كنت أعتقد أنه أضخم موقع عربي للبرامج على الويب. بعدها عرفت “الصايرة” و منتديات “المشاغب”. كل هذا و قد كنت أشتري أقراص برامج أيضاً ، أذكر برامج “أنس”.
في الرابع إعدادي أذكر إستخدامي للـ Adobe Photoshop بكثرة ، و لربما كان من أكثر البرامج التي أستغل وقتي بتعلمها.
طبعاً ، الإنترنت كنا نشترك في العطلة الصيفية فقط ، و ليس أثناء وقت المدرسة. أثناء وجود الإنترت ، كنت أستخدم Yahoo! Messenger chatting و التكلم مع أجانب ، و الذي كان أيضاً سبباً في جعل لغتي الإنگليزية قوية و أن تكون كتابتي الإنگليزية في الكيبورد بسرعة. من الأشياء التي أذكرها (عام 2006) حول الـ Yahoo! Messenger هو إستخدام الـ bots. عام 2006 عام وقت الطائفية و هي أيام لا ينساها العراقيين جميعاً. غُرف الـ Yahoo! Messenger
كانت متأثرة بموجةِ الطائفية ، مثلاً عمل بوتات تحمل أسماء سب لأحد المذاهب ، و عندما تدخل ترى هذهِ البوتات قد ملأت غرفة الدردشة و تصل إلى عدد بحيث تمنع أي شخص من دخول الغرفة لأنها فوق حد العدد المسموح لوجود الأشخاص في الغرفة. أذكر أحد البرامج العراقية من برمجة ZAidRiX ، بوقتها كانت من الأسباب اللي خلتني أريد أتعلم البرمجة ، أنه مادام أحد هنا بالعراق يسوي هيجي برامج ، إذاً ممكن تعلمها و هي مو شي مستحيل فقط الأجانب يسوون برامج إحترافية و مميزة.
منذ الرابع إعدادي و أحد أهدافي مستقبلاً كانت أن أسعى لدخول أي كلية متعلقة بالحاسبات ، سواءاً معهد أو علوم أو هندسة.
السادس الإعدادي إنعزلت عن الحاسبة ، و أذكر أن حاسبة البيت كانت معطلة بسبب مشاجرة بيننا (أنا و أخي و أخواتي) حول من يستحق حصته من الوقت لإستخدام الحاسبة ، و قد كانت سبباً في أن أهتم و أن أزيد التركيز حول دراستي.
حصلت على معدل 89.57 في السادس الإعدادي (العلمي) ، و قد عمل الوالد الكليات التي أريد التقديم إليها: أن 22 كلية تابعة إلى المجموعة الطبية و تسلسل الـ 23 كانت قسم هندسة الحاسوب \ الجامعة التكنولوجية. و الحمدلله قد إنقبلت بهذا القسم الذي كنت أسعى إليه.
الجامعة التكنولوجية كانت اليوتوبيا بالنسبة لي: شارع الصناعة (مقابل الجامعة) فيه كل ما مُتعلق بالحاسبات + الدراسة في أفضل قسم بالنسبةِ لي (هندسةِ الحاسبات). إذاً ، كان لا بُد أن أستغل هذين الشيئين: إستكشاف كل الأقراص الجديدة التي لا أعرف عنها شيئاً (النية آنذاك 🙂) و إستغلال السنين القادمة في الدراسة لفهم الحاسبة بأفضل ما يمكن أن يكون.
أيام الكلية
الفترة الذهبية التي صقلت و غيرت شخصيتي و تفكيري هي الجامعة ، خصوصاً بعد وفاة والدي في بداية المرحلةِ الثانية.
المرحلة الأولى (2008-2009)
في البدايةِ أنني فهمت الكلية هي مكان للترفيه و لا توجد دراسة بعد المدرسة! هذهِ الفكرة كانت سبباً في تخلفي عن الكثير من المواد و علي أن أستيقظ و أعيد ترتيب إهتماماتي في الدراسة بعد النصف الثاني من العام. مادة الرياضيات و أستاذها (شاكر) كانت و لا زالت الحافز الرئيسي لهذهِ اليقظة.
المشكلة في بداية الدراسة ، أنها كانت بعيدة تماماً عن توقعاتي لما سندرسهُ عن الحاسبة. كنت متوقعاً أننا سنعمل برامج مثل Adobe Photoshop أو مثل الـ YouTube وقتها أو أي موقع أو برنامج مشهور. سألت أحد أصدقائي (مصطفى سعد) الذين كانوا مصدر إلهامي في التعلم و أن أقتدي بهم ، و كان أكبر مني بسنتين ، عن متى أو في أي مرحلة نستطيع بناء برامج كبيرة؟ أجابني ربما في المرحلةِ الرابعة “قد” تتعلمون الأساسيات و أن الذي في ذهنك هو بعيد تماماً عن أهداف الجامعة ؛ الجامعة تعلمك الأساسيات فقط ، و الباقي هي عليك إجتهاد شخصي تتعلم ما تريد.
في النصف الثاني من المرحلةِ الأولى ، شاهدت “حسن علي” متفوقاً و بارعاً في برمجةِ الـC++ ، الأمر الذي دعاني إلى أن أبدأ ما كنتُ أسعى إليه عن طريق
البدء بالتعلم بصورة جدية و أن أستعين بهِ لو واجهتُ مشكلة. حسن علي أصبح صديقي من المرحلة الثانية و حتى التخرج من الكلية. أنا و حسن عُشنا في عالمنا الخاص المواضيع المتعلقة بمواد دراستنا ، خصوصاً البرمجية منها.
في بداية العطلة الصيفية ، كنت ناوياً أن أتعلم كتاب C# ، إسمه Beginning C# 3.0: An Introduction to Object Oriented Programming
المشكلة ، كانت في اللغة الإنگليزية ، و أحتاج إلى المزيد لكي أفهم بالضبط ما تعني هذهِ الجملة و ليس تكهنا من سياقِ الموضوع. بعدها بفترة قصيرة توفي والدي ، قبل إسبوع من بداية المرحلة الثانية بالضبط. كانت صدمة مفاجئة لي و لعائلتي. لا أعلم لماذا ، لكن كانت نقطة تحول لي لكي أسعى عن ما أريد أن أعمله و أتعلمه بالضبط. أردت أن أسيطر على الدراسة بصورة كاملة.
المرحلة الثانية (2009-2010)
أهم نقطة في هذهِ المرحلة هو أني بدأت أقرأ كتب المصادر باللغةِ الإنگليزية. الصعوبة كانت في أول فصلين من كتاب Computer System Architecture و الباقي “تقريباً” نفس الكلمات تعاد. كون هناك من يشجع على قراءةِ الكتب ، حسن علي إشترى الكتاب من المتنبي و بعدها أنا إشتريته أيضاً. مصطفى سعد أيضاً نصحني بشراء الكتاب ، و كيف هو أفضل بكثير من أوراق الملازم التي كنا نشتريها من المكتبات ، حيث أن الملازم لا تنقل الصورة كاملة أو أن يرسخ الموضوع في ذهنك كما يفعل الكتاب. الكتاب أغنى و أوضح و أبعد أمداً. ويكيبيديا الإنگليزية أذكر كنت أستخدمها من مركز إنترنت الجامعة. ويكيبيديا كانت و لازالت من المصادر المهمة التي أتعلم منها. كانت مرحلة قوية ، فيها بدأت أستعيد عافيتي الدراسية.
في العطلة الصيفية ، كنت ناوي بقوة أن أتعلم البرمجة بإستخدام C# ، و الكتاب الذي نصحني بي مصطفى سعد ، كان إسمه Visual C# 2008: How to Program. لحسن حظي ، المكتبة العلمية في شارع المتنبي كانت لديها نسخة أصلية من هذا الكتاب (الذي كان لا يقدر بثمن بالنسبةِ لي). أمضيت العطلة الصيفية في تعلم هذهِ اللغة ؛ و أذكر كانت أول مرة أستمتع بحل كافة المسائل البرمجية لكل فصل.
المرحلة الثالثة (2010-2011)
اتذكر في بدايةِ هذهِ المرحلة أنني كنت محملاً بالـ C# بصورة جيدة ، إلى حد أن تغنيني عن دراسة مادةِ المختبر المتعلقة بها ، بالإضافةِ إلى تعلم مصطلحات جديدة في لغات البرمجة أدت إلى غرسها في ذهني لهذا اليوم. إستمريت بقراءة مصادر الكتب ، أذكر أهمها هو كتاب الـ Operating System Concepts (كتاب الديناصورات).
كانت هناك مسابقة تجري كل سنة في الجامعة ، مسابقة برمجية ، إسمها ICTC ، فعملنا أنا و حسن علي منذ بداية العام للمشاركةِ بها بهدف التعلم و التجربة ، و لا أذكر هدفنا للفوز بصورة رئيسية ، كانت المشاركة و التعلم. المشروع كان مستعرض لكل الكتب الألكترونية (pdf) الموجودة على الحاسبة بطريقة جيدة. أنا كنت مسؤول على الـ front-end البرنامج بإستخدام الـ WPF و حسن على الـ back-end المتضمن بالـ database. تعلمت الكثير من هذهِ التجربة ، خصوصاً الـ WPF. كان تسلسلنا في حينها 30 من أصل 67.
بدأت أتعلم الـ Linux. أول Linux distro كان OpenSUSE و الواجهة كانت KDE ، لأن Gnome كان بسيطاً مقارنةٍ به. بعدها ، الـ Linux أصبح نظام التشغيل الأولي في حاسبتي.
كنت أستخدمه بصورة مستمرة ، بحيث ، في مختبر الـ OS ، الذي كان عن الـ Linux ، كنت أحضر لابتوبي بدل حاسبة المختبر و أطبق مباشرةً.
أصبح مستواي الدراسي أفضل ، و قد كنت الثاني على المرحلة بفارق قليل جداً عن صاحبي حسن علي.
في العطلة الصيفية لهذهِ المرحلة تعلمت الـ Qt ، لأنني قد إشتريت كتاب حوله ، و الصراحة لم أقرأه بكثرة ، لإنني إعتمدتُ على الـ Qt offline documentation كثيراً. الكتاب الآخر الذي قرأت نصفهُ تقريباً كان حول أساسيات الشبكات و البروتوكولات في الويب. كان كتاباً جيداً.
المرحلة الرابعة (2012-2011)
إستمريت بإستخدام الـ Linux ، و كنت أتعلم الكثير منه. في نفسِ الوقت ، التوجه إلى التطوير على الموبايل كان أحد إهتماماتي. الأندرويد. عندها ، كان لابد أن يكون مشروع تخرجنا حول الأندرويد ، كي أستطيع تعلم أكبر قدر ممكن حوله. طبعاً لم يكن لدي Smart phone يحتوي على نظام أندرويد. كانت فكرةِ المشروع ، بعد بحثٍ طويل، أن تتم ترجمة الكلمات إلى العربية بإستخدام كامرة الموبايل. إستخدمت الـ OpenCV على الأندرويد لأجل تقطيع الصورة. و الـ Tesseract لأجل الـ OCR. و قد كان لدي قاموس عربي - إنگليزي بسيط كي يتم الـ lookup أو الترجمة. قبل تسلم مشروع التخرج بشهر ، إضطريت أن أشتري موبايل Samsung Galaxy SII ، و قد كان سعره غالياً جداً ، حوالي 510$ ، و قد كان مبلغاً كبيراً بالنسبة لوالدتي ، لكن بسبب حاجتي إليه في الدراسة ، لم تتردد بإعطائي المبلغ. تم تسميةِ المشروع eCortex.
فيما يتعلم بمستواي الدراسي ، فالحمدُلله ، كنت الأول على المرحلة . و قد كان تقدير درجاتي للأربع سنين ، هو جيد جداً ، تقريباً 80.
ما عليَّ أن أذكره ، هو بيت جدي (بيبيتي) الذي كنت أسكن معهم طيلة أعوام الكلية. كانوا الأب و الأم و العائلة لي ، و لا تكفي الكلمات كي أعبر عن إخلاصي و إمتناني لهم.
لا أذكر تماماً ما كنت أتعلمه في هذهِ العطلةِ ، سوى التقديم إلى إكمال دراسة الماستر. أحد الفترات قضيت إسبوعين متواصلة في تعلم الـ TOEFL كي أقوي نفسي باللغة الإنگليزية أكثر. بعد إمتحاني للدخول في الماستر ، كان تسلسلي الرابع من أصل 36 ، و عدد المقاعد المتوفرة هي 3 فقط ، أي كنت في الإحتياط. كان عليَّ أن أبحث عن عمل ، لكوني ظننت أنني أكمل الدراسةِ هذهِ السنة.
قدمت على عمل في شركة إسمها NetMax في شارع الصناعة ، و قد تم قبولي بسبب كون معدلي عالي بالإضافة إلى المشاريع التي عملتها في السنين السابقة. أهم ما ميَّز هذا العمل ، هو أنه أعطاني الحرية في العمل من المنزل. مهمتي كانت أن أعمل موقع لتتبع إشتراكات أصحاب الأبراج لهذه الشركة بإستخدام الـ Php. طبعاً ، بدأت بتعلم الـ Symphony 2 ، لما يقارب العشر أيام. في هذهِ الأيام ، إتصل بي مقرر قسم الكلية و أخبرني أن هناك توسعة في عدد المقاعد و عليك المباشرة في الدوام الثلاثاء القادم. كانت فرحة كبيرة بالسنبة لي و لوالدتي.
أيام الماستر 2012-2015
دراسةِ الماستر كانت مرحلتين: مرحلة الكورسات و مرحلة البحث. أهم ما أذكره الأن هي مرحلةِ البحث.
مرحلةِ البحث كانت مرحلة رائعة بالنسبةِ لي. فيها كان عليَّ أن أقوي نفسي قبل أن أبدء مشروعي البحثي و أن أستغل تأخير نزول المشاريع في مواضيع الرياضيات. ما تعلمته كان الـ Linear Algebra و الـ Game Theory. بسبب كوني محظوظ بإشرافي تحت د. مؤيد ، فقد كان منفتحاً ، و أعطاني الضوء الأخضر في إستخدام الـ LaTeX في كتابة بحثني.
تعلمت الـ Python بصورة جيدة لكوني أحتاج إلى برمجة الـ simulation فيه ، و إستمر الـ Linux نظامي الرئيسي.
أذكُر أيضاً ، أول merged pull requst كان في 2014 على Python plotting library ، كنت أستخدمها لعرض نتائج العمل.
أيام إيرثلنك 2015-2017
لا يمكنك أن تتخيل كيف أعز و أتذكر أصدقائي في هذهِ الشركة. كانت واحدة من أفضل الأماكن التي عملت و عشت بها حياتي (كنت أسكن في السكن الخاص للشركة ، لمدة سنتين). كل المشاريع التالية هي نتيجة الصداقة و الدعم و العمل المُجد و المخلص.
قبل أن أبدء عملي ، في الشهر الرابع من 2015 ، كنت في طور تعلم الـ NodeJS + MongoDB ، لكن عندما بدأت العمل في إيرثلنك ، كان الـ test (إختبار لمدة شهر) أن أعمل تطبيق أندرويد يظهر أصحاب الأبراج على الخارطة و يستطيع المستخدمين تقييم و إضافة التعليقات لكل صاحب برج. طبعاً ، البرمجة كانت Android + NodeJS + MongoDB.
بعدها ، بدأ العمل بمشروع ، يسمى اليوم CBox ، و هو إستخدام Android Set-top box (STB) و عمل برنامج سينمانا بصورة جميلة و إحترافية عليه. العمل في المشروع إستمر من الشهر السادس 2015 إلى حد نهاية السنة ، أي ما يقارب بالست أشهر ، إكتسبت فيها قوة جيدة بالأندرويد و تعلمت الكثير من بيئةِ العمل. طبعاً كان مبيتي في نفس الشركة ، فكنت أستمر للعمل بعد الدوام ، في بعض الأحيان من بداية الدوام من الساعةِ الثامنة صباحاً حتى التاسعة ليلاً بصورة مستمرة ، مع بعضِ الإستراحات المتفرقة.
أذكر لحظة عرض الترجمة بالعربية على هذا الجهاز ليلاً ، حيث كانت نقطة لا تنسى عندي ، لأن الهدف الرئيسي من هذا الجهاز أن يشاهد أفلام و مسلسلات ، و من دون الترجمة (و أشياء أخرى أيضاً) ، الجهاز كان لا يعني شيئاً. طبعاً ، كان عملي بطيئاً ، و هذهِ طبيعتي بصورة عامة.
في شهر سبتمبر 2015 ، إشتريت MacBook Pro ، بسعر 2400$ ، و هو مبلغ كبير جداً بالنسبة لي ؛ كان تجميع لرواتب عدة أشهر. بعد شرائي له ، بدأت أتعلم الـ Swift بصورة بسيطة عن طريق تنزيل الـ documentation الرسمية لللغة من Apple.
في بداية سنة 2016 بدأت العمل على مشروع جديد ، ألا و هو عمل تطبيق أندرويد لسينمانا. كان هناك مبرمج باكستاني تابع للشركة يعمل في دبي قام بهذا العمل قبلي ، لكن لم يكن يرضيني. سألني مدير قسمي عن review حول التطبيق ، فأرسلت له المشاكل التي به. كان البرنامج نسخة مشابهة للـ YouTube لكن فيه الكثير من المشاكل. فقال لي علي محمود ، إعمل تعديلات عليه لتحسينه. بدأت أقرأ الكود ، و كان spaghetti code ، حاولت تصليح أكثر من مشكلة ، لكن المشكلة في الأساسيات لم تكن صحيحة أو بسيطة. فجازفت و بدأت العمل من الصفر في منتصف شهر جَنيواري (الواحد) بهذا التطبيق ، بهدف أن يكون عمل مميز و ليس تقليد للـ YouTube. كلما كان يسألني علي محمود أين وصلت في التعديلات ، أقول له ، “بعدني دا أشتغل بيهن”. المجازفة كانت تحمل عواقب ، مثلاً ، في أحدى المرات ، علي محمود إستاء من تأخري في التعديلات ، و عندما عرضت له النسخة التي أعمل بها ، أصبح غاضباً بسبب عملي من الصفر به. لكن ، أعطاني الفرصة ، و هذه فرصة لا أنساها من قِبله ، في الإستمرار في تحسين التطبيق.
بعد العمل المستمر و المجهد لأكثر من شهر ، تم رفع أول نسخة من التطبيق على الـ Google Play في نهاية شباط. أذكر كانت هناك bug: في واجهة تسجيل الدخول ، عندما يترك الإسم و الباسوورد فارغات و يختار التسجيل تلقائي ، فعند تشغيله للبرنامج مرة ثانية يحصل crash. هذهِ كانت أول bug لي في الـ public release. الحمدلله ، اهم شي أنه البرنامج عجب الكثير و كانت نقلة جيدة في تحسين التطبيقات بصورة عامة للشركة. بعدها مباشرةً عملت على نسخة الـ iOS ، حيث قرأت كتاب Learning iOS UI Development ، في حوالي عشر أيام إلى إسبوعين ، و في نفس الوقت ، كانت إستخدام أمثلة كثيرة لتطبيقها و التعلم منها. تم إصدار النسخة الأولى في منتصف الشهر الرابع من 2015. المشكلة كانت في الـ AppStore ، حيث لم يكن يسمح لبرامج تنتهك حقوق المُلكية أن تتواجد على ساحته. طبعاً ، نفس الحالة في الـ Google Play ، لكن كان أهون من الـ AppStore. كانت نسخة الـ iOS يتم تنزيلها عن طريق server ، أي نقوم بعمل ipa و يقوم المستخدمين بتنزيلها.
بعدها ، بدأت العمل في نسخة الأندرويد لتطبيق الـ Share ، لكن العمل لم يستمر لأكثر من شهر ، بسبب وصول الـ Android STBs ، و علي أن أهتم بمشروع الـ CBox.
واحدة من المشاكل هي عدم وصول Air mouses التي كانت من ضمن المشروع و هي جزء رئيسي منه كي يستطيع المستخدم التحكم في الشاشة من بعيد بإستخدام هذا الـ Air mouse. عندها ، كان علينا (أنا و مرتضى) أن نعمل على إعادة البرمجة بما يناسبة الـ STB remote controller أو الـ D-Pad navigation عن طريق إستخدام الـ Android Leanback المخصصة للـ Android TV.
حُذيفة ، كان الـ manager لقسمنا ، قسم الـ R&D ، قام بتقسيم العمل على الـ CBox إلى جزئين: جزء الـ player إلى تحت عمل مرتضى ، كونه قَلْب المشروع ، و الباقي ، مثل التصفح ، و البحث و تسجيل الدخول ، إلخ… ، كان تحت عملي. طبعاً ، كان علينا أن نفهم الـ Leanback framework قبل أن نبدء العمل. بعدما بدأنا في البرمجة ، لاحظت أن الكود بدأ يكبر بصورة كبيرة مقارنةً بالأشياء التي يفعلها ، و أنه من الممكن تبسيط الكود. ما خطر إلى ذهني هو الـ RxJava ، و قد لاحظت بعض من الأمثلة عنها ، و كيف من الممكن لو تم تطبيقها سيصبح الكود أكثر سلاسة و أقل. إستغرقت حوالي إسبوع في قراءة كتاب RxJava Essentials يومياً و بصورة مستمرة ، حتى بعد الوقت الرسمي للعمل. تم إستخدام الـ RxJava مع الـ Retrofit و الـ Retrolambda ، و قد تم تقليل و تحسين الكود بصورة ممتازة. تم إصدار أول نسخة من الـ Cinemana Leanback for CBox في شهر أكتوبر (العاشر) عام 2016. مصطفى محمد كان مُصراً على أن يكون Leanback في جهاز الـ STB ، كونه أكثر user exprience و كونهُ مخصص أكثر للـ D-Pad navigation. قرارهُ كان صائباً حتماً.
إستمر التطوير على البرامج الرئيسية الثلاث: سينمانا الأندرويد و الـ iOS و سينمانا لينباك ، بالإضافة إلى برامج أخرى ، مثلاً ، تطبيق الموارد البشرية ، MyHR.
مصطفى محمد ، قال لي (في آذار 2017 ، قبل أن تصبح رسمية من قبل Google) ، أن هناك لغة جديدة تستطيع البرمجة بها على الأندرويد بدل الجافا ، إسمها كوتلن ، و قد كتب الرابط الرسمي للغة في حاسبتي. عندها قررت أن أجربها للغة. أعجبتني بشدة ، كونها تغلبت على مشاكل موجودة في لغة الجافا. قررت أن أتعلم اللغة ، و إستمريت بالتعلم عن طريق الـ documentation الرسمية لهم بصورة متسمرة لمدة إسبوعين. عندها ، تم تحويل معظم كود سينمانا الأندرويد إلى الكوتلن (من دون علم أحد ، عدا مرتضى).
في شهر أبريل 2017 ، عُدت إلى إكمال تطبيق الـ Share للأندرويد. و قد كان لابد من تصميم واجهة مختلفة عن واجهة الأفلام و المسلسلات ، كونهُ يحتوي على تصفح فايلات مختلفة و تنزيلها. جوهر التطبيق كان بالـ download manager. تم تحديث تطبيق الـ Share القديم إلى هذهِ النسخة في نهاية الشهر. كان عملاً مستمراً و مجهداً.
بعد أكثر من سنتين ، عملت مع ناس محترفين أصحاب خبرة طويلة في البرمجة و في الحياةِ أيضاً. بحكم المعايشةِ معهم ، إكتسبت هذهِ الخصال الراقية ، و التي كانت زاخرة و مُثمِرة بكل جوانبها.
قررت أن أترك إيرثلنك ، و هذا القرار تم أتخاذهُ مسبقاً قبل عدةِ أشهر. السبب الرئيسي لكوني وَعَيْت ُ أن ما أعمله (أطوره) هو خاطىء. خاطىء بسبب العمل بالمواد المُقرصنة ، و منتهِكة حقوق المُكلية ، هو غير صحيح. إذاً ، ألم أكن أعلم من البادية بكون الشركة هي وسيلة منتجة للمواد المقرصنة؟ الجواب هو كلا. بعد سنة من عملي في الشركة ، بدأت أوعي ما تعملهُ الشركة لأجل تحريك عجلةِ إقتصادها. أنا (نحن) كنا نعيش في ثقافة القرصنة و البرامج المُكركة (cracked) ، في أن تنزل و تستمتع بكل ما تأخذه من الـ torrents ، و هوَ لك بكل حرية.
كانت هناك أساب جانبية أخرى ، بالأخص إنشاء شركة شبكتي ، و بالتالي فهي تثبت حقيقة أن ما سأفعله هو في دائرة المواد المقرصنةِ فقط: من سينمانا و الشير و حتى الـ TV. في هذهِ الحالة ، فأنا لا يمكنني العمل ، مع ما ستصبحُ رسمياً ، شركة قرصنة. لا يمكنني العمل في بيئة عكس تطويري.
مع كل هذا ، فلا تزال إيرثلنك ، صاحبةِ فضل لي في إعطائي فرصة ثمينة ، لا توجد ربما في منطقة الشرق الأوسط ، و أنا بذلك لا أنكر جميلها. و سبب تركي للشركة كان لعدم قدرتي و نيتي على العمل بسبب مخالفته لمبادئي. كان عليَّ ان أضحي بالمنفعةِ الشخصية لأجل حفاظي على المبادىء.
الختام
أتمنى من هذهِ السيرة ، أن تتكون صورة في ذهنك ، أن الأعمال الجميلة (أنا أرى أعمالي جميلةً بالنسبةِ لي) لا يمكن أن توجد لو لا العمل المُجد و المخلص. الطموح و النية بأن تسعى لأن تتسلح بأحدث التقنيات لحل مشاكل الحياة المختلفة ، و تسهيل حياة الناس عن طريق البرمجة و التطوير. بنالسبةِ لي ، البرمجة هي وسيلة لحل مشكلة ، و بالتالي المبرمج ما هو إلا problem solver ، لأن في الأصل ، الحاسبة وُجدت لكي تحل مسائل و مشاكل تكون صعبة و شديدة على الإنسان.
السر ، أن لا تتوقف عن التعلم أبداً ، و كما قال رسولنا الكريم ، محمد (ص): أطلب العِلمَ من المهدِ إلى اللحدِ.
شكراً جزيلاً على كرم وقتكم…
٢١ أبريل ٢٠١٨