التطور الطبيعي للمبرمج : العام الخامس

السلام عليكم ورحمة اللهprogramming

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

عام 2015 كان اﻹتجاه فيه بالنسبة لي أكثر في مجال اﻹدارة، فاصبحت اعتمد أكثر على باقي المبرمجين في كل المشروعات وقلّت المشروعات أو الساعات التي أقضيها في كتابة الكود. لكن كان هُناك وقت أكثر لدراسة أشياء جديدة، أهمها Asterisk حيث قدمنا مشروع لشركة إتصالات نعمل معها يعتمد على هذه التقنية، وقد توسعت فيها كثيراً وورفعت أحد البرامج التي قمت بعملها في اﻹنترنت . وقد كتبت عنها في تدوينة سابقة.

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

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

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

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

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

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

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

حاولت أيضاً في هذا العام تعلم لغة Go وكنت انوي عمل أحد البرامج الصغيرة بها لإجراء بعض العمليات في الملفات، لكني في النهاية فضلت عليها Free Pascal حيث تتميز بالسهولة في التعامل مع الملفات. درست لغة Go لفترة ثم تركتها، لم اجد مشروع مناسب استخدمه فيها. ربما استخدمها في وقت لاحق أو ربما لا استخدمها.

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

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s