مدونة سلافة

أن تكون مهندس برمجيات…

Posted by: sulafahassan on: مايو 15, 2008

السلام عليكم

إذا كنت تعمل في مهنة البرمجيات فإنّك و لا شك تدرك كم خريجي علوم الحاسوب و تقنية المعلومات الذين لا يفقهون عن هندسة البرمجيات إلا كونها مادة حفظوها و اُمتُحِنوا فيها ليتخرجوا، أما في الحياة العملية فهاهي ذي برمجياتهم تعمل دون الحوجة لما قد يسمونه :هراء هندسة البرمجيات.

حسناً دعني أقودك إلى ما أريده قوله ببساطة: لا شك أنّك كمطور برمجيات  أنتجت برنامجاً واحداً على الأقل يعمل و يصدر تقاريره بنجاح،  السؤال هو:

 هل يعمل بصورته الأكفأ؟؟

هل هو قابل للتحديث و الصيانة بيسر؟؟

هل نقل عمل مستخدميه نقلةً نوعية و واكب مستقبل تقنية المعلومات؟؟؟

 ماذا عن تكلفة المال و الزمن و الجهد؟؟ 

  إذا كان منتجك البرمجي يغطي هذه النواحي و غيرها بكفاءة فيمكنك التوقف عن قراءة التدوينة الآن … لأنك فعلا مهندس برمجيات.

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

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

هذا هو المستقبل و هكذا ستتطور يا عزيزي مطور النظم … بأن تكون مهندس برمجيات.

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

 كن كذلك و إصدر برمجيات متقنة تشرفك …

اجتهد منذ اليوم و اكتسب المهارات فالامر يتطلب خبرة سنوات …

حرك نفسك و من هم حولك و واكبوا العالم

 من يدري لعلنا يوما ما نكون الرواد في إستثمارٍ رأس ماله العقل و ننافس الهند التي على ما يعانيه اهلها من فقر؛ أضحت المقاولة الأولي في هذا المجال و إعتمد عليها في ذلك الغرب قبل الشرق.

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

 

 

 

 

14 تعليقات إلى "أن تكون مهندس برمجيات…"

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

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

لأن هندسة البرمجيات تجعلك تخطط للبرنامج اكثر من اللازم، و تجعلك تفكر في الكثير من التفاصيل، على عكس بعض المفاهيم الأخرى (مثل مفهوم getting real، و هو المفهوم الذي تسوق له شركة 37signals و هي الشركة التي ينتمى إليها صناع إطار العمل المشهور للغاية روبي اون رايلز و العديد من تطبيقات الإنترنت المهمة مثل BaseCamp, Tadalist) و هذا المفهوم و المفاهيم المماثلة له تفضل ان تقوم بالبدء في كتابة برنامج جديد صغير للغاية لا يحتوى الا على مميزات بسيطة جداً و اساسية جداً، ثم بناء على تعليقات و اقتراحات و احتياجات المستخدمين الفعلية تقوم انت بتطوير البرنامج.

هذا رأيي الشخصي بالطبع :)

الاخت سلافة
لعلها مساحة اكبر فى عالم التقنية اسمها ، اكتشاف الذات ….
المبرمج ، والمطور ، والمهندس ، والخبير ، والاستشارى ، كلها درجات من درجات الترقى فى سلم المعرفة التقنية ، تتأثر بعاملى التجربة والمعرفة ، وتزيد سرعة الوصول الى القمة كلما تفتح الذهن واستعان بالمعرفة ، وتسلح بالتجريب ، والتدقيق والتحقيق … يدفع كل ذلك ، الرغبة فى الانجاز ، ووضوح الهدف …
الى اي درجة تريد أن تصعد ؟
ما هو استعدادك لذلك ؟
وللعلم فان عالم اليوم وبوجود الانترنت كمرجع تتبادل فيه التجارب اصبح السلم الاكاديمى ، سلما موازيا غير مهم فى الوصول الى الدرجة المطلوبة فى ظل وجود مناهج قصيرة المدى ، وشهادات عالمية تحقق مستويات من المعرفة لا تتعلق بكونك ، أدبى أو علمى او حتى طالب ثانوى …
المهم معرفة المنهج ، استذكاره ، تطبيقه …
كثيرون يتوهون فى الطريق ، ويتخبطون فى ماذا اريد ان أكون ؟ خصوصا لطلاب الكليات التقنية بعد التخرج ..
هناك نسقان من المعارف …
1- أكاديمى ، وهو الذى يعتمد على المنهج النظرى فى الغالب ، ويبحث عن مجالات العلوم ، وشهاداته ، ويعكف الطالب فيه بعد التخرج على نيل الشهادات الجامعية ، الدبلوم العالى ، الماجستير ، والدكتوراه ، وكلها علوم تعتمد على المنهج الجامد ، والذى يشكل بعد الانتهاء منه والحصول على الشهادة المطلوبة ( ديكور اجتماعى .. د.اكس واى زيد ) على المستوى الشخصى أما على المستوى المعرفى ، فان المواد موضوع الدراسة والبحث لا تلبث ان تكون تاريخا تقنيا لعام سابق على احسن تقدير وذلك نسبة لتطور التقنية المتسارع . أما الدرجة الموصله له هى ( استاذ جامعى أو استشارى ) ولا تملك من خلال ذلك اضافة اى منتوج للمعرفة العامة الا فى حالات نادرة …
2- تخصصى ، وهو الذى يلبى احتياجات السوق وتتاح عبره مساحات التواصل وتبادل التجارب ، واختبار التطبيقات بحرية ، وفاعلية ، وهو ذاته الذى يولد الابداع ، ويزكى روح المنافسة ، ويقود فى نهاية المطاف الى درجة وآحده هى ( خبير ) ، وهى الاكثر فاعلية فى اضافة انتاج برامجى جديد ، لذا ارى ان الوصول الى الاستشارة عن طريق الخبرة ، أوقع ، وافعل من الوصول الى الاستشارة عن طريق الجانب الاكاديمى ، وهذه ليست دعوة لترك دراسة الماجستير والدكتوراة ، بل رسالة لتحديد الاولويات …
الفارق بين الدكتور والخبير ، هو فى قبول الاستشارة لدى العميل ، فكل خبير دكتور من حيث المخرج النصحى ، وليس كل دكتور خبير …
- اما الديكور الاجتماعى من خلال الرسائل فلا احبذه الا ان يكون مجال الدراسة والبحث بابا جديدا يفتح الافق للخبراء ليضيفوا ابداعاتهم ويتركوا بصماتهم فى مجالات المعرفة ..
والله ولى التوفيق …

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

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

اما مسؤولية تغير أو تطوير فهم المجتمع المحيط فهي لا تعفينا يا صوت الصدي من ان نجود عملنا باقصي ما نستطيع
اعلم ان البيئة المحيطة والمجتمع قد تصيبنا بنوع من الإحباط لكن يجب ان لا نستسلم له وان نحاول جاهدين ان نكون مهندسي نظم راضين عن انفسنا

والله الموفق

الاخت سلافة
من اهم الاسباب التي تودي الي نجاح البرمجيات هو ايمان المستخدم بهذا البرنامج الذي يستخدمة و يخدمة في عملة , اي هو من الوسائل التي تسهل العمل في هذا العصر ولكن السؤال هل البرمجيات التي تقدم هي بالكفاءة المطولبة و التقدم و التطور الذي يتيح لنا فرصة المشاركة و المنافسة علي مستوي يرضي طموحنا و تقدمنا في بلدنا او الخارج ؟؟
اعتقد من اهم الاشياء التي نفتقدها هي تبادل الخبارات العلمية مع ذى الاخبرات و الكفاءة اضف الي ذلك عدم المعرفة و العمل ب Standard and ploices العالمية لانك اذا انت بنفس الخبرة و التقدم التي بها اليوم هل انت مؤهل للعمل في الشركات الكبري؟؟؟
سوالي ليس للاحباط و لكن لان كل منا يتخرج من الجامعة وياتي الي بئية عمل و ييبع نفس الاسلوب و فجاءة يدرك ان هذا ليس الطريق الصحيح و نبدا من نقطة الصفر ……….
ولكن اذا وجد الطموح و الرغبة في تطوير الذات و ملاحقة التطورات الي باتت غيرة محدودة في هذا العصر فيمكن ان تضع بصمتك و تكون من اولئل الذين لديهم منتج جديد يغزوا العلم ….
و الله الموفق

عزيزي أحمد حازم

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

أما فيما يخص عدم محبتك لهندسة البرمجيات و إحسساسك بأنها ستعطلك في التخطيط لسنوات دون إنتاج برمجي مفيد و ملموس فاسمح لي أن اراجعك.
إن هندسة البرمجيات لا تدعو الى تقييد الابداع البرمجي بانماط الادارة الكلاسيكية و لا وسائل التخطيط التقليدية فهذا لا ينطبق على نظم الهندسة المألوفة ناهيك عن الخيال الواسع الذي تتطلبه صناعة البرمجيات.
هندسة البرمجيات تدعو إلي التصنيع المحترف للبرامج و الباب مفتوح على مصراعيه لاستخدام دورة تطوير النظم التي ترغب فيها؛ سواء أكانت تقليدية كالWaterfall أو حديثة كالAgile. المهم أنك تتبع نظم الجودة و تصدر منتجا يحقق أهدافه و يكون ذو إعتمادية عالية.
أما ال getting real و التي تتبناها شركة 37signals فهي واحدة من طرق ال Agile … إذن فهي من صميم هندسة البرمجيات.
سأحاول أن أقوم بنشر تدوينة أو اكثر عن دورات حياة النظم المختلفة …
شكرا لاهتمامك

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

شرفتني مشاركتك سيدي… و قد ألهمنتي موضوع تدوينة جديدة عن الفرق بين المحترف و العالم
ألف شكر

صوت الصدى:

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

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

إنّ هندسة الرمجيات منهج حديث يستهدف المطور و ليس المستخدم…

أعترف بوجود الكثير من العوائق في عالم بيروقراطي رتيب و لكن ألا تتفق معي أنّه لا تقوم ثورة شاملة دون أن يتحرك أفراد.

سعيدة لمشاركتك

العزيزة لينا:
لا أملك إلا أن أتفق معك في كل حرفِ كتبتيه… إنني أحس تماما أنه ينطبق على ممارستي للمهنة و على ما أحلم أن احققه.
إننا في حاجة لتعلم الإنضباط… و عندما اقول الانضباط فانني أعني الإنضباط تجاه أحلامنا و رغبتنا في التطوير.

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

و مشكورة يا عزيزتي

عزيزتي الدانة:

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

أما معرفة الStandards و العمل بما أستحدث من طرق و تقنيات … فعذرنا الوحيد في ذلك هو الكسل ثم الإهمال … و هو عذرٌ قبيح كما تعرفين…

نعم يا عزيزتي إنّ الطموح و الرغبة في التطوير هو الزاد الذي لابد لنا من التزود به لننطلق…
فهلا شحنّا بعضنا..

لك مني جزيل الشكر

.This blog is really cool
I just wanted to thank you for the amazing work you have done.
The world wide web needs more people like you!!
Thanks again and keep up the good work
OS

ردك جميل جداً اخت سلافة،

بالطبع لم اقصد او ارغب ان ادعو أي مدون إلى التواري و التوقف نتيجة عدم تلقى ردة فعل جيدة، على العكس انا اعرف بأن ما نفعله حالياً سوف نلقى نتيجته في المستقبل، سواء كانت نتيجة مادية او معنوية.

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

OS:
أنا سعيدة بإشادتك على المدونة… إنّ هذا من شأنه أن يحمسني للمضي قدماً فيما ابتدأته.
أتمنى أن تتكرر زياراتك لمدونتي
و أن تجدها أفضل و أفضل في كل مرة

الاخ أحمد حازم:

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

فالرغبة في المعرفة إن لم تنبع من داخلنا و نتلهف عليها…لن نتلقنها لا بمقرر و لا محاضر و لا إمتحان.

اترك رد

 

مايو 2008
السبت الأحد الأثنين الثلاثاء الأربعاء الخميس الجمعة
    يونيو »
 12
3456789
10111213141516
17181920212223
24252627282930
31