ما رأي كبار المبرمجين؟

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



من المستحيل تعلم كل شيء على الإطلاق


هناك كمية هائلة من التكنولوجيا. من المستحيل دراستها كلها.

اعثر على مجموعة التكنولوجيا التي تناسبك. اختر التقنيات التي تتيح لك إنشاء ما تحتاج إليه ودراسته بدقة. على سبيل المثال ، إذا كنت مهتمًا بالتطوير الحديث للويب ، فإن مكدس MERN سيكون خيارًا جيدًا. يتضمن MongoDB و Express و React و Node.js. هذه التقنيات مخصصة لأولئك الذين يحبون JavaScript.

هناك بالطبع مجموعات أخرى من التقنيات. على سبيل المثال ، مكدس MEAN. هنا ، بدلاً من رد الفعل ، يتم استخدام Angular لتطوير الواجهة الأمامية. من بين مجموعات أخرى من التقنيات التي يمكن إتقانها ، تجدر الإشارة ، على سبيل المثال ، إلى مزيج من PHP و MySQL و HTML و CSS. هنا ، تستخدم الواجهة الأمامية HTML و CSS فقط. إذا كنت مهتمًا بتطوير الخادم ، فيمكنك الانتباه إلى Ruby و Ruby on Rails.

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

المطورين ليسوا فقط الأشخاص الذين لديهم وثائق تعليمية ذات صلة


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

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

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

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

نابليون هيل

تعلم فن البحث على الإنترنت


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

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

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

تميل المواعيد النهائية للكسر


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

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

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

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

التصحيح 60٪ من العمل والبرمجة 40٪


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

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

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

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

إنشاء تطبيق مثير للاهتمام وممتع. ولكن التصحيح صعب ، بل وطويل جدًا. ولكن لا يوجد مكان للذهاب. هذا جزء من عمل المبرمج.

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

سوف تدعي أنك تعرف الكثير من الأشياء ، على الرغم من أنك في الواقع لا تعرف


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

هناك كمية هائلة من التكنولوجيا. من غير الواقعي فهم كل هذه التقنيات.

لا اتذكر. نسعى لفهم


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

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

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

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

التوثيق هو خلاصك


سوف نشكركم من المستقبل اليوم على الرمز الموثق جيدًا.

عند بدء البرمجة ، ستعمل ببطء على مشروعين. ثم سيتم إضافة عدد قليل من المشاريع لهم. ثم تضيع.

ومن ثم سيكون الأمر كذلك. أنت تعمل على المشروع رقم 11 ، ويذكرك المدير بشكل غير متوقع بالمشروع رقم 2. تحتاج إلى مواصلة العمل في هذا المشروع. المشروع رقم 2 هو الآن أهم أعمالك. وفي وقت سابق ، قبل عام ، تم تأجيل المشروع رقم 2 إلى أجل غير مسمى.

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

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

كن مستعدًا لحقيقة أن عليك أن تتعلم باستمرار


هذه فكرة مهمة للغاية.

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

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

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

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


All Articles