Posted by: sulafahassan on: مايو 15, 2008
السلام عليكم
إذا كنت تعمل في مهنة البرمجيات فإنّك و لا شك تدرك كم خريجي علوم الحاسوب و تقنية المعلومات الذين لا يفقهون عن هندسة البرمجيات إلا كونها مادة حفظوها و اُمتُحِنوا فيها ليتخرجوا، أما في الحياة العملية فهاهي ذي برمجياتهم تعمل دون الحوجة لما قد يسمونه :هراء هندسة البرمجيات.
حسناً دعني أقودك إلى ما أريده قوله ببساطة: لا شك أنّك كمطور برمجيات أنتجت برنامجاً واحداً على الأقل يعمل و يصدر تقاريره بنجاح، السؤال هو:
هل يعمل بصورته الأكفأ؟؟
هل هو قابل للتحديث و الصيانة بيسر؟؟
هل نقل عمل مستخدميه نقلةً نوعية و واكب مستقبل تقنية المعلومات؟؟؟
ماذا عن تكلفة المال و الزمن و الجهد؟؟
إذا كان منتجك البرمجي يغطي هذه النواحي و غيرها بكفاءة فيمكنك التوقف عن قراءة التدوينة الآن … لأنك فعلا مهندس برمجيات.
مهندس البرمجيات هو المحترف الأكبر في مهنة التصنيع البرمجي، إنّه يبني منتجاً و ليس مجرد برنامج، تجده خبيرا ذا مهارات و إمكانيات عدة: كإدارة المشروعات و الرياضيات و نظم الجودة بالإضافة إلى علوم و هندسة الحاسب. إنه مطور نظم يلتزم بقواعد و أسس متعارف عليها كأي فرع من فروع الهندسة … كما أنّه يملك الخبرة و الأفق الذي يتطلبه هذا المجال.
أنا لا اقلل من شأن المبرمج فهو يدٌ فعالة في تنفيذ أي منتج برمجي … لكني أرفض غياب مهندسي البرمجيات عن أسواق تقنية المعلومات في بلادي.. و انني لاتسائل كيف ستبني منطقتنا العربية بنية تحتية قوية في عصر تحكمه المعلومة و الارقام بدون مهندسي البرمجيات. هل تتصور أنّ مطوروا النظم في جوجل مثلا يعملون مثلنا؟؟… هل تتخيل أنّ قرارتهم التصميمية تُنفذ دون دراسة و أنّ خوارزمياتهم تُكتب دون تمحيص ضبط الاداء و الكفاءة. لا بد أن تعلم ان اي شركة برمجيات تحترم اسمها و تريد أن تستمر تتبنى مفاهيم هندسة البرمجيات في تصنيع منتجاتها و التعامل مع عملائها.
هذا هو المستقبل و هكذا ستتطور يا عزيزي مطور النظم … بأن تكون مهندس برمجيات.
نعم كن مهندس برمجيات ووسع أفق المهنة إذا كنت تبغي الاحتراف…
كن كذلك و إصدر برمجيات متقنة تشرفك …
اجتهد منذ اليوم و اكتسب المهارات فالامر يتطلب خبرة سنوات …
حرك نفسك و من هم حولك و واكبوا العالم
من يدري لعلنا يوما ما نكون الرواد في إستثمارٍ رأس ماله العقل و ننافس الهند التي على ما يعانيه اهلها من فقر؛ أضحت المقاولة الأولي في هذا المجال و إعتمد عليها في ذلك الغرب قبل الشرق.
حسناً إذا لم يكن ما ينقصنا المال فما الذي نحتاجه كي ننطلق في صناعة البرمجيات؟؟ الإجابة بأن نكون مهندسي برمجيات.
الاخت سلافة
لعلها مساحة اكبر فى عالم التقنية اسمها ، اكتشاف الذات ….
المبرمج ، والمطور ، والمهندس ، والخبير ، والاستشارى ، كلها درجات من درجات الترقى فى سلم المعرفة التقنية ، تتأثر بعاملى التجربة والمعرفة ، وتزيد سرعة الوصول الى القمة كلما تفتح الذهن واستعان بالمعرفة ، وتسلح بالتجريب ، والتدقيق والتحقيق … يدفع كل ذلك ، الرغبة فى الانجاز ، ووضوح الهدف …
الى اي درجة تريد أن تصعد ؟
ما هو استعدادك لذلك ؟
وللعلم فان عالم اليوم وبوجود الانترنت كمرجع تتبادل فيه التجارب اصبح السلم الاكاديمى ، سلما موازيا غير مهم فى الوصول الى الدرجة المطلوبة فى ظل وجود مناهج قصيرة المدى ، وشهادات عالمية تحقق مستويات من المعرفة لا تتعلق بكونك ، أدبى أو علمى او حتى طالب ثانوى …
المهم معرفة المنهج ، استذكاره ، تطبيقه …
كثيرون يتوهون فى الطريق ، ويتخبطون فى ماذا اريد ان أكون ؟ خصوصا لطلاب الكليات التقنية بعد التخرج ..
هناك نسقان من المعارف …
1- أكاديمى ، وهو الذى يعتمد على المنهج النظرى فى الغالب ، ويبحث عن مجالات العلوم ، وشهاداته ، ويعكف الطالب فيه بعد التخرج على نيل الشهادات الجامعية ، الدبلوم العالى ، الماجستير ، والدكتوراه ، وكلها علوم تعتمد على المنهج الجامد ، والذى يشكل بعد الانتهاء منه والحصول على الشهادة المطلوبة ( ديكور اجتماعى .. د.اكس واى زيد ) على المستوى الشخصى أما على المستوى المعرفى ، فان المواد موضوع الدراسة والبحث لا تلبث ان تكون تاريخا تقنيا لعام سابق على احسن تقدير وذلك نسبة لتطور التقنية المتسارع . أما الدرجة الموصله له هى ( استاذ جامعى أو استشارى ) ولا تملك من خلال ذلك اضافة اى منتوج للمعرفة العامة الا فى حالات نادرة …
2- تخصصى ، وهو الذى يلبى احتياجات السوق وتتاح عبره مساحات التواصل وتبادل التجارب ، واختبار التطبيقات بحرية ، وفاعلية ، وهو ذاته الذى يولد الابداع ، ويزكى روح المنافسة ، ويقود فى نهاية المطاف الى درجة وآحده هى ( خبير ) ، وهى الاكثر فاعلية فى اضافة انتاج برامجى جديد ، لذا ارى ان الوصول الى الاستشارة عن طريق الخبرة ، أوقع ، وافعل من الوصول الى الاستشارة عن طريق الجانب الاكاديمى ، وهذه ليست دعوة لترك دراسة الماجستير والدكتوراة ، بل رسالة لتحديد الاولويات …
الفارق بين الدكتور والخبير ، هو فى قبول الاستشارة لدى العميل ، فكل خبير دكتور من حيث المخرج النصحى ، وليس كل دكتور خبير …
- اما الديكور الاجتماعى من خلال الرسائل فلا احبذه الا ان يكون مجال الدراسة والبحث بابا جديدا يفتح الافق للخبراء ليضيفوا ابداعاتهم ويتركوا بصماتهم فى مجالات المعرفة ..
والله ولى التوفيق …
التعليق علي هذا الموضوع يتطلب وقفة ذات خبره عملية مكن أن تكون واسعة في حقل التطبيقات البرمجية ، وأعتقد بأن البيئة المحيطة هي من أول العقبات في تطبيق العلم النظري كواقع عملي معاش . إن صناعة البرمجيات في تقديري ماهي إلا منتجات تلبي حاجات المجتمع والتي يحدد مستواها مستوي إدراك وثقافة الفرد في المجتمع ، كما أني أعتقد بأن أي مبرمج يريد أو يتطلع الي عمل ماهو أوسع مما يعمل ولكن يجد نفسه خارج مدي المجتمع ، وذلك لأن كثير من النظم والبرمجيات التي يمكن أن ينظر لها المبرمج علي أنها مفيدة وذات كفاءة وفعالية ينظر إليها المستخدم بدرجة من التعقيد والتي تحد من وجودها في الحقيقة (التطبيق).
وقد تكون مسؤولية تغير أو تطوير فهم المجتمع المحيط مسؤولية أكبر وأوسع من الفلك الذي يدور فيه المبرمج .
ولكي نقوم بذلك لابد أن ننظر الي البرمجيات والأنظمة كضرب علمي وليس تجاري .
ودائماً يعكس النص وجهة نظر كاتبه…..
ان الحديث عن هندسة البرمجيات يجعلنا نقف وقفه تقييم وتمحيص لما قدمناه من برامج
ما نفذ منها ويعمل الان بكفاءة قد تكون معقولة نسبيا وما هو قيد التطوير او التنفيذ
في الحقيقية اننا نحاول جهدنا تطوير انظمتنا للتتطابق مع أسس هندسة البرمجيات المتعارف عليها
ولكن في احيان كثيرة لا نكون راضيين عن انفسنا تماما في تنفيذ انظمتنا
ربما بسبب ضيق الوقت احيانا او قد يكون بسبب الإهمال احيانا اخري
مع اننا نعرف يقينا ان الوقت المبذول في تطوير النظم بصورة قياسية ليس وقتا ضائعا ابدا
بل هو وقت مستثمر في الصيانة والتطوير للنظم مستقبلا
اما مسؤولية تغير أو تطوير فهم المجتمع المحيط فهي لا تعفينا يا صوت الصدي من ان نجود عملنا باقصي ما نستطيع
اعلم ان البيئة المحيطة والمجتمع قد تصيبنا بنوع من الإحباط لكن يجب ان لا نستسلم له وان نحاول جاهدين ان نكون مهندسي نظم راضين عن انفسنا
والله الموفق
الاخت سلافة
من اهم الاسباب التي تودي الي نجاح البرمجيات هو ايمان المستخدم بهذا البرنامج الذي يستخدمة و يخدمة في عملة , اي هو من الوسائل التي تسهل العمل في هذا العصر ولكن السؤال هل البرمجيات التي تقدم هي بالكفاءة المطولبة و التقدم و التطور الذي يتيح لنا فرصة المشاركة و المنافسة علي مستوي يرضي طموحنا و تقدمنا في بلدنا او الخارج ؟؟
اعتقد من اهم الاشياء التي نفتقدها هي تبادل الخبارات العلمية مع ذى الاخبرات و الكفاءة اضف الي ذلك عدم المعرفة و العمل ب Standard and ploices العالمية لانك اذا انت بنفس الخبرة و التقدم التي بها اليوم هل انت مؤهل للعمل في الشركات الكبري؟؟؟
سوالي ليس للاحباط و لكن لان كل منا يتخرج من الجامعة وياتي الي بئية عمل و ييبع نفس الاسلوب و فجاءة يدرك ان هذا ليس الطريق الصحيح و نبدا من نقطة الصفر ……….
ولكن اذا وجد الطموح و الرغبة في تطوير الذات و ملاحقة التطورات الي باتت غيرة محدودة في هذا العصر فيمكن ان تضع بصمتك و تكون من اولئل الذين لديهم منتج جديد يغزوا العلم ….
و الله الموفق
.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
ردك جميل جداً اخت سلافة،
بالطبع لم اقصد او ارغب ان ادعو أي مدون إلى التواري و التوقف نتيجة عدم تلقى ردة فعل جيدة، على العكس انا اعرف بأن ما نفعله حالياً سوف نلقى نتيجته في المستقبل، سواء كانت نتيجة مادية او معنوية.
بصراحة، انا لم اتلقى تعليم اكاديمي بخصوص البرمجة (و لا عيب في ذلك)، و لذلك فإن هندسة البرمجيات بالذات لم تكن في يوم من الأيام من اهتماماتي، و رغم ذلك فقد تحمست اكثر للقراءة عن هندسة البرمجيات و لذا سأكون سعيداً جداً بقراءة المزيد عن الموضوع سواء في تدويناتك المستقبلية او على الإنترنت.
مايو 18, 2008 في 2:29 م
الغريب بصراحة كمية الردود التي تلقيتيها حينما كنت تتحدثين عن حياتك و عن مدونتك الشخصية، و عندما بدأتي في الكتابة الفعلية بخصوص التقنية لم تحصلي على رد واحد، اعرف ان الأمر محزن، لكن للأسف فإن التدوين تقنياً لا يلقى القبول و الإهتمام بالشكل الذي من الممكن ان تتلقاه مدونة تعرض صورة للعجائب و الغرائب.
ام عن موضوع التدوينة فأنا بصراحة لا احب هندسة البرمجيات، و لا أؤمن بوجودها، هندسة البرمجيات تعني انني من الممكن ان اقضى 10 اعوام اخطط لعمل برنامج معين، ثم استغرق 10 اعوام اخرى لتنفيذه لأكتشف في النهاية ان البرنامج لا يحتاجه اي شخص على الإطلاق، لماذا؟
لأن هندسة البرمجيات تجعلك تخطط للبرنامج اكثر من اللازم، و تجعلك تفكر في الكثير من التفاصيل، على عكس بعض المفاهيم الأخرى (مثل مفهوم getting real، و هو المفهوم الذي تسوق له شركة 37signals و هي الشركة التي ينتمى إليها صناع إطار العمل المشهور للغاية روبي اون رايلز و العديد من تطبيقات الإنترنت المهمة مثل BaseCamp, Tadalist) و هذا المفهوم و المفاهيم المماثلة له تفضل ان تقوم بالبدء في كتابة برنامج جديد صغير للغاية لا يحتوى الا على مميزات بسيطة جداً و اساسية جداً، ثم بناء على تعليقات و اقتراحات و احتياجات المستخدمين الفعلية تقوم انت بتطوير البرنامج.
هذا رأيي الشخصي بالطبع