الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف تصبح مبرمج محترف؟

مغلق
بدأه undo في 6 فبراير 2005 · 7 رد · 4,795 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذا تساؤل يدور بذهني منذ فترة.

ما هي الأدوات التي يجب على المحترف اتقانها لكي يستطيع ان يقوم بتنفيذ اي مشروع يسند له؟

هل يجب ان اتعلم التقنيات المختلفة حتى تلك التي تؤدي نفس الوظائف؟

هل يجب ان أتعلم قواعد بيانات بالاضافة للغات البرمجة؟

حملت تساؤلاتي الى المحاضرين طالباً أراؤهم .

م. أحمد غزي - مدير في شركة Egypt IT corp .

يجب عليك ان تتقن أداة لكل وظيفة.

الوظائف التي يجب ان تعرف كيف تؤديها هي:

1. تطوير تطبيقات ويندوز

2. تطوير تطبيقات ويب

3.تطوير خدمات ويب web services و المستقبل لها.

4. تصميم و تطوير قواعد بيانات (لا تهتم بجزء الادارة او الadministration لانه من صميم صلاحيات الDB administrator وليس من واجباتك كمبرمج)

فمثلاً: تعلم فيبي لانشاء تطبيقات ويندوز و asp .net و جافا سكربت لتطبيقات ويب و web services و تعلم سيكول سيرفر لقواعد البيانات. هذه هي الادوات التي يجب ان تتسلح بها لكي تصبح محترفاً و لكي تجد عملاً بسهولة.

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

1. قد تجد راحتك في لغة غير التي تعمل عليها حالياً و ساعتها ستنتقل للغة الجديدة.

2. توسيع مجال عملك . يعني حتى لو لست خبيراً في التعامل مع هذه التقنيات لكن ستظل أفضل بكثير على غيرك من الذين لا يعرفونها اساساً و خصوصاً لو كنت خريجاً جديداً.

د. أحمد حسن (صاحب شركة Top IT و الوحيد الحاصل على MVP في مصر) أبدى رأياً مشابهاً بخصوص تعلم أكثر من لغة برمجة معلقاً:

"من المستحيل أن تصبح خبير في كل اللغات لكن يمكنك ان تتعلم لغة حتى الاتقان و ان يكون لديك معرفة سطحية بباقي اللغات و خصوصاً ان متطلبات سوق العمل متغيرة بل و ربما تجد ان الشركة التي تعمل بها انتقلت من لغة لاخرى و ساعتها عملية انتقالك ستكون غاية في السهولة"

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

م. محمد علاء أضاف "لكني ما زلت انصح بتعلم C++ كبداية لتعلم البرمجة لأنها ستجعلك تتقن مبادئ الOOP بينما لو بدأت بالفيبي 6 او حتى لغات الدوت نت (رغم دعمها للOOP) فستجد نفسك تميل تلقائياً للابتعاد عن الOOP."

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#2

ما هي الأدوات التي يجب على المحترف اتقانها لكي يستطيع ان يقوم بتنفيذ اي مشروع يسند له؟

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

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

الإختصاص هو أهم شيء لإتقان الأداة بشكل فاعل .. ومن ذلك أوافق أن الواحد منا لازم يركز على لغة بالدرجه الأساسيه , لابل لازم يركز على نوع تطبيقات .. أنا مثلا مؤخرا صرت مهووس ببناء المكونات (تسمونها ActiveX أي ملفات ocx عندكم) ووجدت انها أكثر شيء أحب العمل فيه , وسأحاول أن أبني بدائه شركه صغيرة مختصه في هذا الموضوع فقط . ولكن لن اكتب على الكرت : كافة الخدمات البرمجيه , وتطوير كل التطبيقات , وتمديد شبكات , وطباعة كتب , ويمكن ان نعمل على تركتور لو تدفعولنا ؟؟؟؟؟ لا أعرف لا أتفق مع هذا التصور ... بل أؤمن بالتخصص أكثر من العموميه , ولو ان الإضطلاع مطلوب جدا لإتخاذ قرار صائب

مدير المشروع , والمخططين الأساسيين للمشروع ولو لم يكون مدراء مشاريع , يجب ان يملكو إضطلاع واسع على لغات برمجة ونظم وبرامجة غدارة قواعد بيانات وما إلى ذلك , لإنه من مهمتهم إتخاذ القرار .,

وكذلك المبرمج الذي يطور تطبيقاته لوحدة أو مع عدد قليل من الشباب ,, لإنه عندها هو المسؤول عن الإدارة

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

يعني ربما يندرج هذا الكلام تحت إطار مقالاتك عن هندسه البرمجيات وحرفه البرمجيات (والتي أنا شخصيا معجب بها , ولنا حديث بس أفضى شويه) . وهذا يكون العامل الأهم ..

هل يجب ان اتعلم التقنيات المختلفة حتى تلك التي تؤدي نفس الوظائف؟

لا .. برأيي الشخصي ليس من المهم ان تقوم بنفس العمل بأكثر من طريقه ..

بل أن تقوم بأكثر من عمل بنفس الطريقه

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

هل يجب ان أتعلم قواعد بيانات بالاضافة للغات البرمجة؟

نعم .. ليس بالضرورة تعلم إحترافي . لكن لابد من معرفتها , وهي ومجموعه أمور مهمه كخلفيه نعمل عليها

من تجربتي الشخصيه ,.. حتى المشاريع التي عملتها مع مختص قواعد بيانات إلى جانبي كان لابد ان أعرف بقواعد البيانات لكي أترجم عمله وأفكاره إلى المشروع ..

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

التعامل مع قاعدة البيانات , من الجيد جدا

كتابة الإستعلامات , SQL وغيرها .. من المهم جدا جدا ,, هذه لاغنى عنها في معظم المشاريع

خذ مثلا بعض التقنيات الأخرى غير قواعد البيانات .. لابد ببعض الإضطلاع عن الشبكات مثلا , بعض الإضطلاع على الرسوميات ومبدأها , بعض الإضطلاع على نظام التشغيل وتوابع API أو مايكافئها ..

وأضيف شيء جديد .. الإضطلاع على التفكير التسويقي الصحيح

آخر شخص قابلته أثر فيي كان مؤلف أحد الكتب في دلفي , وصاحب شركه ..

إضطلعت على مكتبته , ولم اجد فيها كما توقعت كتب عن لغات البرمجه .. بل وجدت كتب من نموذج آخر .. مثلا كتاب باللغه الإنكليزيه ("كيف تحصل على شهادة ISO لمنتجك") ("كيف تكون مدير للنجاح في مشروعك" ) ("العادات السبع لستيفين كوفي") وما إلى هنالك من هذه الكتب

#3

مشكور على الرد الرائع..

و هذا هو نوع الردود الذي اتطلع له دائماً ;)

اقتباس
ويمكن ان نعمل على تركتور لو تدفعولنا ؟؟؟؟؟

:D :D :D

على كل حال, حكاية التخصص دي .. غير مقتنع بها..

كلام حلو و لذيذ و شكله مقنع جداً لكني ما زلت لا أومن به ..

أولاً: أنا مؤمن جداً بأن عقلي يمكنه احتراف جميع لغات البرمجة و جميع قواعد البيانات و جميع التقنيات في البرمجة أو على الأقل الشائع منها..

ذلك ليس لأن عقلي سوبر كمبيوتر (في الحقيقة هو اقوى من ذلك :D) لكن لأن قدرات العقل البشري فعلاً جبارة..

المشكلة:: هي وقت التعلم!! الوقت الذي سأستغرقه مهوووووووووول حقاً لكي الم جميع التقنيات..

طب و الحل:

1. اتقن مجال ما لكي تبدأ العمل به فوراً

2. التزم بالتعلم مدى الحياة .. لو خصصت 3 قعدات اسبوعياً للمذاكرة .. أوعدك بعد سنتين ان حكاية التخصص دي ستقتنع انها اوهام في اوهام..

هل تعرف ان باتريك هايندز (محاضر في مايكروسوفت MDC2005) حاصل على 55 شهادة مايكروسوفت؟؟ يعني راجل بتاع كله.. انا اؤمن ان المسألة مش حكاية انه عبقري و لا حاجة .. المسألة انه بيحب القراءة في شتى المجالات..

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

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#4

كلامك سليم يا Undo , أنا أيضا معك في أن العقل البشري يستطيع إتقان كل هذه الأمور مهما كانت , وكلام عروة منطقي واقعي , فمن إستطاع أن يؤمن لقمة العيش ويؤمن مستقبل متزن له ولأسرته وأصبح بعيدا عن الهم وغم جمع النقود فقط , يمكنه أن يتقن كل شيء فعلا , لكن الموضوع معقد جدا , والتقنيات كثيرة لاتعد ولاتحصى , وكلمة إتقان التي قلتها تزيد الأمر سوء فمثلا عدد الحاصلين على MVP هذه السنة لمبرمجي ال DDK خمسة فقط ! والحاصلين على MVP في برمجة دايركت أكس حوالي 9 فقط ! وال SQL كانت 6 صفحات :D

الشيء الذي يمكن تطبيقه بسهولة أكبر عمليا , هي أن تتقن تقنيات في نطاق معين فقط , يعني أن تلتزم بمنطقة كاملة بتقنياتها , فمثلا يمكن أن تلتزم بإتقان سي++ مع تطبيقاتها في مجال الإتصالات بأنواعها , بدأ ببرمجة ال winsock وال NetBIOS تقنيات ال MArshaling الأخرى بين المعالجات أمثال ال namedpipe بالطبع مع بنية DCOM والتي لاأعرف فرقها من ال COM+ حتى الآن !! وال CORBA وبعض تقنيات التخاطب الأخرى , طبعا لاننسى بما أننا قلنا تخاطب فسنحتاج أن ندخل في مجال برمجة شبكات الوندوز والأكتيف دايركتري لإنشاء تطبيقات يمكن أن تنقذك أحيانا في تصميم شبكات Group policy بدومين مع القليل من السيكورتي لأنك ستتعامل مع أدوات تحقق وتفويض في وندوز مع تشفير وصلاحيات وصول LSA , وكل ذلك بالبرمجة طبعا .

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

مجال آخر يبدأ ببرمجة الجرافيكس وينتهي بك المطاف بضغط الملفات وتعلم ASP وال ASP.NET وربما ال PHP أيضا !! لتطبيق بريمجات تحتاج فيها لهذه الأمور سويا كبرنامج قبلا فكرت فيه ولم يرى النور أبدا !

عموما إتقان كل شيء ليس مستحيلا لكن يؤوول للمستحيل مع متوسط عمر البني آدم 70 سنة :)

لذى إتقان نطاقات التقنيات هو الحل الأمثل .

تم تعديل هذه المشاركة بواسطة HGB في 7 فبراير 2005 في 00:00

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#5

رائع جدا ... :lol:

خلاصه الكلام .. هو عبارة HGB الأخيرة :

اقتباس
عموما إتقان كل شيء ليس مستحيلا لكن يؤوول للمستحيل مع متوسط عمر البني آدم 70 سنة

في الحقيقه أنكم الآن تناقشون عروة المنفتح (الذي يقبل الإضطلاع على تقنيات أخرى ) .. أما لو كان الموضوع مفتوح من فتره سابقه لكانت وجهة نظري غير ذلك تماما <_<

: أنا . كنت أظن أنني لن أستطيع تعلم اكثر من لغة برمجه , ولكنني خلال دراستي في مجال الحاسب (معهد هندسة كومبيوتر + هندسة معلوماتيه حاليا) لاحظت أني دائما تميزت عن غيري في لغات البرمجه .. دائما مثلا كنت الأول بلغات pascal و C++ و Delphi و Assimply مع أنني في البيت مركز تماما على دلفي .. مؤخرا بدأت بالعمل على لغات أخرى غير دلفي .( بعد مشروع الكتيب الصغير الذي عملت عليه , والذي دفعني دفعه كبيرة للأمام . و نصيحتي للجميع :

if you want to learn some thing >> teach it) ولاحظت أنني أستطيع , حيث عملت أول مشروع Visual لي على C++ وشاركت بترجمه اللعبه Quake2 من C++ إلى دلفي .. كما أني عملت على Asp.net من C#

فعلا الموضوع ليس مستحيل . ويمكن للجزمة العتيقه فوق الكتفين (ماتسمونه بالعقل البشري ) أن تستوعب كل ذلك وأكثر :blink: .. لذلك أنا الآن تعتبر لهجتي خفت كثيرا عن أيام زمان .. حيث كنت مع فكرة الإقتصار على شيء واحد فقط .. والإلمام التام بكل جوانبه ... أما الآن فأنا أنفتحت بزيادة وأصبحت أؤيد الإضطلاع .. وربما على يد الأخ undo و HGB سأصبح من مؤيدي التنوع .. هوهوهو :D

أما بالنسبه للعمل (أي بغض النظر عن الموت علما وعشق البرمجة) فأنا لازلت مصر , على محاولة الإختصاص على الأقل بإتجاه ما ..

ويبرز هنا نوعين من الشباب

1- نوع يختص بتقنيه ما ويضطلع على كافة الأدوات التي تستطيع التعامل معها

(مثال : لدي صديق مهووس بالشبكات والبروتوكولات , فهو مختص بروتوكولات ويعرف التعامل معها من جميع لغات البرمجة ويجد ميزات خاصه لكل لغة)

أي تقنيه واحدة . لغات برمجة متعددة

2- نوع يختص بإداة ويضطلع على المشاريع التي يمكنها تنفيذها . وهذا هو حال الكثيرين .. حيث يختصون في لغة برمجه ما ويضلعون على البرامج التي يمكن عملها بواستطها ..

أي لغة واحدة . تقنيات متعددة

حسنا من انت من بين هؤلاء

تم تعديل هذه المشاركة بواسطة ORWA في 7 فبراير 2005 في 00:43

#6
اقتباس
بدأ ببرمجة ال winsock وال NetBIOS تقنيات ال MArshaling الأخرى بين المعالجات أمثال ال namedpipe بالطبع مع بنية DCOM والتي لاأعرف فرقها من ال COM+ حتى الآن !! وال CORBA وبعض تقنيات التخاطب الأخرى , طبعا لاننسى بما أننا قلنا تخاطب فسنحتاج أن ندخل في مجال برمجة شبكات الوندوز والأكتيف دايركتري لإنشاء تطبيقات يمكن أن تنقذك أحيانا في تصميم شبكات Group policy بدومين مع القليل من السيكورتي لأنك ستتعامل مع أدوات تحقق وتفويض في وندوز مع تشفير وصلاحيات وصول LSA , وكل ذلك بالبرمجة طبعا .

:blink: :blink: .. حسبي الله و نعم الوكيل .. انجليزي ده يا مرسي؟؟ انا حاسس و انا بأقرأ هذا الكلام ان وداني طولت و اخدت شكل ودان الحمار (أعزك الله) :D :D

اقتباس
كنت الأول بلغات pascal و C++ و Delphi و Assimply
اقتباس
عملت أول مشروع Visual لي على C++ وشاركت بترجمه اللعبه Quake2 من C++ إلى دلفي .. كما أني عملت على Asp.net من C#

بطلوا تذلوا فينا بقى :( :( كل ده بتعرف تعمله و بعدين تقول لي انك تؤمن بالتخصص..

صحيح.. ناس ما ..... ;) ;)

اقتباس
ويبرز هنا نوعين من الشباب

كلامك بيذكرني بpaper قرأتها من فترة عن الفرق بين الجافا و الدوت نت:

الجافا : تقنيات متعددة و لغة واحدة

الدوت نت : تقنية واحدة و لغات متعددة

رغم ان هذا ليس ما تقصده تماماً ..

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#7

رايت أن التخصص يجعل منك مبرمج محترف ويؤمن لك مكانا محترما جدا فى أقوى شركات البرمجه .

أما غير التخصص أو التنوع فإنه يؤمن لك مركز قيادى أو إدارة شركة برمجه ولدينا من الأمثله الكثير حيث أن معظم أصحاب شركات البرمجه المعروفه يكون لهم إهتمامات متنوعه كثيرا تصل إلى حد الخروج عن مجال البرمجه أصلا لتصل إلى مواضيع مثل (التعامل مع السوق - النجاح - الإداره .... ) وكما ذكرت يا عروه عندما كنت تكتب ظهرا (2:44)

اقتباس
وأضيف شيء جديد .. الإضطلاع على التفكير التسويقي الصحيح

أيضا القسمين الذان تحدثت عنهما مساءا (09:41 PM ) - بعد التحول :D - صحيحان جدا

عنى أرى أننى أؤوول :D إلى القسم الأول "تقنيه واحده - لغات متعدده"

أخيرا عن مقولة هيثم :

"عموما إتقان كل شيء ليس مستحيلا لكن يؤوول للمستحيل مع متوسط عمر البني آدم 70 سنة "

يمكن أن نحولها إلى "عموما إتقان كل شيء ليس مستحيلا لكن يؤوول للمستحيل مع متوسط عمر البني آدم 40 سنة " حيث أنك بعد هذا السن يقل تركيزك وقدرتك على الإستيعاب وتؤؤول إلى شيخ مخرف :D أو حكيم (طبعا مع المسئوليات وأعباء الحياه وإذدياد كمية العلم فى عقلك وإنشغالك بالعمل به!)

#8

أعتقد ان البرمجة هي من أمتع الهوايات قبل أن تكون اختصاصا...

::::التوقيع::::

موقع ممتاز

وان شاء الله يفيد الجميع

وشكرا

؟؟لماذا لا يصل الايميل المرسل من صفحتي الي الهوتميل؟؟

مستوي الجدية في المواضيع المطروحة

لا اله الا الله محمد رسول الله

هذا الموضوع مغلق.

مواضيع مشابهة