كيف أصبح مطور برامج من العصاميين؟


الاجابه 1:

إذا كان لديك جهاز كمبيوتر محمول وواي فاي يمكن الوصول إليه في المنزل.

  • اختر لغة واحدة موجهة للكائنات شائعة هذه الأيام ويفضل جافا ، إذا كنت لا تعرف c ++.
  • إذا كنت تعرف c ++ ، فمن الأفضل اختيار جافا سكريبت للوسيط المتوسط ​​أو mern stack أو Python.
  • أنت بحاجة إلى فهم أساسي لأساسيات نظام التشغيل والنطاق المعجمي وهياكل البيانات. راجع nptel videos.
  • إذا كنت تتعلم Java ، فابدأ بـ Java brains videos و Headfirst Java.
  • على طول الجانب تشير إلى Narsimha Karunmachi لـ DS و algo لـ Advanced Java.
  • في حالة البدء بأساسيات جافا سكريبت ، يمكنك الرجوع إلى Headfirst Javascript و Complete Reference javascript وموقع FreeCodeCamp للممارسة والتعلم.
  • بعد ذلك ، يمكنك تناول موكب متوسط ​​على udemy ، حيث أن أساسيات التعلم لـ JS لا تنتهي أبدًا.
  • تعلم html و css جنبًا إلى جنب. فأنت لا تحتاج إلى معرفة حصرية جدًا عن نفس الموضوع ولكن مع ذلك.
  • لتعلم الثعبان ، ds و algo in python وتعلم python بالطريقة الصعبة تذكر أن تتدرب على المشاكل الحسابية على python حيث أن python ليس لغة أساسية.
  • كتابة العديد من algos في python أمر سهل للغاية ، وبالتالي يمكن استنتاج أعضاء هيئة التدريس في Python فقط من مدى صعوبة المشكلات التي قمت بحلها.
  • قم بإعداد مشروع على اللغة المكتسبة ، chatbot لـ python أو متوسط ​​التكديس ، تعد Java تطبيق ويب.
  • سجل في العمل المستقل لفهم المشاريع العملية.

الاجابه 2:

هذه فكرة سيئة جدا. إذا كان تعلم كتابة البرامج اللائقة يستغرق عادةً حوالي 10 سنوات ، فإن هذه الطريقة ستستغرق 20.

قضيت أول 11 عامًا كمبرمج من العصاميين تمامًا. في ذلك الوقت ، كتبت بعض البرامج المفيدة ، ولكن كانت هناك مشكلة - إذا كان هناك أي شيء يتجاوز أصغر البرامج ، بعد كتابتها لن أتمكن من فهم

الكود الخاص بي

. أيضا ، كان هناك مستوى حرج من التعقيد الذي لم أستطع تجاوزه.

كانت هناك مشكلة أخرى أسوأ بكثير - لم أكن أعرف أن هناك مشكلة! فكرت للتو ، "duh ، البرمجة صعبة ، ماذا تتوقع". لحسن الحظ ، يمكننا إصلاح هذا ، والذي سيسمح لك بإصلاح الأول.

لذلك ، ذهبت إلى الجامعة ، وفي السنة الأولى فقط تعلمت أكثر مما تعلمته في 11 عامًا سابقًا. أهم ثلاثة أشياء (بالنسبة لي) كانت:

  • كيف تعمل أجهزة الكمبيوتر على مستوى أساسي (الترانزستورات ، البوابات ، ALUs) - كان هذا هو دافعي الأصلي للانضمام ، لأنني كنت عالقًا ، وأردت حقًا معرفة (كيف تحول أجهزة الكمبيوتر الكهرباء إلى أشياء ممتعة كان أكبر سؤال في حياتي ، شيء كنت أرغب دائمًا في معرفته - والآن أنا أخيرًا ، على الأقل على مستوى عالٍ ، ولم يعد لغزًا كاملاً).
  • قوة بناء التجريد بشكل عام ، والبرمجة الشيئية بشكل خاص. انفجر حجم وتعقيد البرامج التي يمكنني كتابتها للتو بعد ذلك ، الآن عرفت كيفية بناء الأشياء في طبقات ومقصورات ، لذلك بدلاً من برنامج ضخم واحد حصلت عليه ، في جوهره ، العديد من البرامج الصغيرة. وبالتالي يمكنك "تحميل" أجزاء من الشفرة في رأسك ، وإذا فعلت ذلك بشكل صحيح ، فلا يهم ما هو الباقي - رائع!
  • حتى ذلك الحين ، كنت أعرف برمجة الكمبيوتر فقط. لقد فتحوا لي علم الحاسوب ، النظرية الكامنة وراء الحساب (والتي تتضمن أيضًا البرمجة). لقد كنت دائمًا شخصًا عمليًا جدًا ، لذلك فاتني تمامًا النقطة في ذلك الشخص ؛ بالنسبة لشيء يسمى "النظرية" ، فإن أهميته العملية لا تصدق - كلها تقريبًا يمكنك ، وسوف تستخدمها ، لكتابة برامج أبسط وأسرع وأفضل من أي شيء يمكن أن تتوصل إليه. كان ينبغي أن يطلقوا عليها "حكمة الكمبيوتر المعلّمة القابلة لإعادة الاستخدام" أو شيء من هذا القبيل: د

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

حظا سعيدا!


الاجابه 3:

حاول أن تجد مشكلة / مشروع "حقيقي" ثم ابدأ التعلم!

إن مجرد العبث في المعتاد لا يؤدي بك إلى أي مكان ، ولكن بمجرد أن تكون لديك رؤية لما ستنجزه كل شيء في مكانه.

حاول العثور على "منصة" توفر تعليقات سريعة (وممتعة!) ، على سبيل المثال القيام بشيء ما في متصفح باستخدام جافا سكريبت. تسمح لك المتصفحات الحديثة بالتجربة حتى بدون البرمجة من خلال ميزات مثل "مكون الفحص" في Google Chrome حيث يمكنك تعديل المعلمات ورؤية النتائج في الوقت الفعلي. هذه طريقة رائعة للتعلم!

إذا لم تتمكن من العثور على مشروع حقيقي ، فحاول إعادة إنشاء شيء بسيط. كرة مرتدة تتحرك عبر الشاشة. ألعاب بسيطة مثل لعبة tic-tac-toe (بدون الجزء "الذكاء الاصطناعي" الخاص بآلة الآلة للبدء). مرافق بسيطة مثل تحويل فهرنهايت إلى درجة مئوية.

معظم لغات البرمجة الشائعة متشابهة جدًا لذا لا يهم أي لغة تبدأ بها.


الاجابه 4:

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

تطوير الويب لديه أصغر عائق للدخول وربما أكثر أدوات التعلم. المدارس مثل Galvanize أو Turing هي معسكرات تدريب لمدة 6 أشهر ستعلمك المزيد عن القيام بالتنمية فعليًا من الحصول على شهادة لمدة عامين في كلية المجتمع ، والتي من المرجح أن تكون إهدارًا كليًا. كما أنهم سيوفرون لك فرصة أكبر للحصول على وظيفة بسرعة. هناك الآلاف من مدارس المعسكرات التدريبية هذه في جميع أنحاء العالم وقد تضطر إلى معرفة أيها قريب منك. هذان الاثنان فقط هم القريبين مني ويمكن أن يعملوا كمرجع لما تبحث عنه. يمكنك أيضًا استخدام أدوات مثل Linux Academy أو Code School أو Code Academy أو Udacity أو Khan لتدريب نفسك على الإنترنت.

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

الشيء العظيم هو أن معظم المستوى المنخفض

الأساسيات

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

الأساسيات. يبدأ الكثير من الأشخاص باستخدام PHP أو Javascript.


الاجابه 5:

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

ثم حاول أن تجعله أفضل.

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

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

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


الاجابه 6:

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

لماذا تريد ان تكون مبرمج؟ إذا كان أي شيء آخر غير "أريد أن أصنع أشياء!" ثم لا تهتم بالسير في الطريق العصامي لأنك لن يكون لديك الشغف أو الالتزام أو القيادة المطلوبة.

ستعرف ما إذا كنت ستصبح مبرمجًا رائعًا بمجرد كتابة برنامجك الأول. إذا كان ردك هو "Omg هذا رائع للغاية! كيف يعمل هذا!؟! " إلى أول برنامج لك "Hello، World" ، فأنت في طريقك ... سيستغرق بعض الوقت ، لكن الوقت ممتع ويستحق ذلك.

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

Alice.org

التالى. سيعلمك ذلك جافا أثناء الاستمرار في تعلم كيفية صنع الألعاب. بدلاً من ذلك ، استخدم Unity3d وتعلم C # و / أو JavaScript. إذا كنت لا تحب الألعاب ثم ... حسنًا ، هذا سؤال آخر ؛-) النقطة هنا هي العثور على شيء سهل الاستخدام حيث يعمل "Hello World" كثيرًا دون الحاجة إلى الكثير من التعليمات البرمجية من جانبك.

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

Adafruit Industries ، إلكترونيات ومجموعات DIY فريدة وممتعة

DIY كيفية جعل التعليمات

SparkFun إلكترونيات

يجب أن تكون اللغات التالية للتعلم نوعًا من اللغة الوظيفية (Elm is neat ، ولكن كذلك

الجلسرين / الزيجوم

. إذا كنت تحب Java عند اللعب مع Alice ، فيمكنك أيضًا تجربة Clojure.)

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

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

بالنسبة للموجه ، ابحث عن شخص لديه أكثر من 20 عامًا من الخبرة ، وحاصل ذكاء أعلى من معدل ذكائك ، وشخص لديه أيضًا مرشد خاص به أو شخص يعمل مع فريق كبير من الباحثين لمدة 10 - 20 عامًا.

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

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

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


الاجابه 7:

ربما تكون فكرة جيدة أن تبقى في القطاع الطبي ، ولكن في الجانب التكنولوجي ، حيث أن لديك قدرًا كبيرًا من التدريب بالفعل.

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

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

نأمل أن تعلمك الدورة التي ستدرسها الأساسيات - SQL ، نوعًا ما من تطوير الويب وما إلى ذلك. إذا كنت ترغب في الحصول على بداية سريعة ، أقترح عليك التركيز على بعض الجوانب الأقل تقنية. على سبيل المثال ، إذا كنت لا تعرف XML ، أنصحك بتعلمها. وذلك لأن العديد من الأنظمة الطبية تتفاعل باستخدام XML. على وجه التحديد ، مواصفات HL7 (كلا الإصدارين 2 و 3 ، فهي مختلفة تمامًا من حيث المفهوم).

إذا كنت تبحث عن وظيفة جيدة الأجر وثابتة ، فأنا أعلم أن الكثير من المؤسسات الطبية (تقريبًا؟

حظا سعيدا.