ما هي مجالات التخصص في البرمجة التي توصي بها للمبتدئين [مغلق]

StackOverflow https://stackoverflow.com/questions/17320

  •  08-06-2019
  •  | 
  •  

سؤال

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

هذا سؤال متعدد الأجزاء حقًا:

  1. ما هي التخصصات المشتركة في برمجة الكمبيوتر وتطوير البرمجيات؟
  2. أي من هذه التخصصات له قيمة أكبر على المدى الطويل، سواء كأساس للتخصصات الأخرى و/أو كمهارات قابلة للتسويق؟
  3. ما هي مجموعات المهارات التي تكمل بعضها البعض؟
  4. هل هناك أي مجالات تخصص تعيق قدرتك على تطوير مجالات التخصص الأخرى؟
هل كانت مفيدة؟

المحلول

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

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

آسف إذا بدوت كمستشار كبير.ولكن هذا ما أعتقده.:-)

نصائح أخرى

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

أعتقد أن السؤال الأهم هو:ما هي مجالات التخصص التي تهتم بها أكثر؟

بمجرد أن تعرف، ابدأ التعلم في هذا المجال!

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

ومع ذلك، أنصحك بالغوص في المنطقة التي ستستمتع بها. التعلم مدفوع بالحماس.

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

تعمق قدر الإمكان في بيئة واحدة، win32، .net، Java، Objective C...أيا كان.

من المهم بناء فهم عميق لكيفية عمل X...بحيث يمكنك ترجمة نفس المفاهيم إلى لغات أو منصات/بيئات أخرى، إذا كنت ترغب في ذلك.

"هل هناك أي مجالات تخصص تعيق قدرتك على تطوير مجالات أخرى من التخصص." نوع من ، ولكن لا شيء دائم أعتقد.

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

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

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

ونعم، وهذا يشمل C.أو المجمع.هذه هي الطريقة الأسهل للحصول على فهم جيد لكيفية عمل جهاز الكمبيوتر الخاص بك وما يفعله الكود عالي المستوى بالفعل.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top