كيف تصبح أفضل مبرمج في العالم

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

فلنسرع.

1. دروس من دينيس ريتشي ، الرجل الذي يقف خلف يونيكس وجيم

UNIX هو نظام تشغيل بسيط ، لكن عليك أن تكون عبقريًا لتفهم البساطة - Dennis Ritchie
دينيس ريتشي ، Techtricksworld

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

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

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

فيما يلي بعض إنجازات دينيس ريتشي:

  1. ابتكر دينيس ريتشي لغة البرمجة C ، وشارك في إنشاء نظام التشغيل UNIX مع زميله كين طومسون.
  2. في عام 1983 حصل على جائزة تورينج من جمعية الآلات الحوسبية (ACM)
  3. في عام 1990 ، حصل كل من ريتشي وطومسون على ميدالية IEEE Richard W. Hamming من معهد مهندسي الكهرباء والإلكترونيات (IEEE)
  4. في عام 1997 ، أصبح زميلًا لمتحف تاريخ الكمبيوتر
  5. حصل على الميدالية الوطنية للتكنولوجيا من الرئيس كلينتون في عام 1999

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

قيل أن دينيس ريتشي - الذي يُطلق عليه شعبياً "لغة برمجة لغة الأب" - هو رجل لطيف ولطيف ومتواضع - ومهوس كامل!

لكنه لم يبدأ كالمهوس.

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

وواصل دراسته في جامعة هارفارد ، حيث درس العلوم وتخرج بدرجة البكالوريوس في الفيزياء.

إذن متى دخلت أجهزة الكمبيوتر في حياة ريتشي؟

النقطة 1: إذا كنت تبدو جيدًا في كتابة البرامج الرائعة ، فسيتعين عليك أن تظل فضوليًا.

أنا لست ذكي ولا سيما الموهوبين. أنا فقط فضولي للغاية - ألبرت أينشتاين

الفضول يغذي الجوع للمعرفة. ومعرفة عزيزي ، يحكم العالم.

بينما كنت طالبة ، حضرت ريتشي بطريقة أو بأخرى محاضرة عن كيفية عمل يونيفاك.

يعد UNIVAC I (الكمبيوتر الآلي العالمي الأول) أول كمبيوتر تجاري يتم إنتاجه في الولايات المتحدة.

أدناه هو ما بدا عليه:

ويكيبيديا

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

على ما يبدو ، من النوع الذي يجعل مبرمج كبير.

بعد ذلك اللقاء ، تابع ريتشي مزيدًا من الدراسة حول كيفية عمل الكمبيوتر حقًا.

الفضول يقتل القط . نعلم جميعًا ذلك ، لكنك لست قطة.

النقطة 2: أعلم أنك سمعت هذا من قبل ، ولكن قم بإنشاء مواد. الكثير من المواد.

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

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

النقطة 3: شنق حول من تفكر فيهم بشكل أفضل وأكثر خبرة.

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

كان هذا شيئًا آخر قيل له أن دينيس ريتشي جيد.

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

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

مجرد "البقاء" من حولهم.

النقطة 4: حل المشكلات.

"ليست هذه هي البرمجة الفعلية المثيرة للاهتمام. ولكن هذا ما يمكنك تحقيقه مع النتائج النهائية التي تعتبر مهمة. "- دينيس ريتشي

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

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

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

احصل على فضول دراسة المفاهيم. طلب المساعدة.

يجب أن لا تنظر إلى الوراء حتى تحل المشكلة.

عندما يكون هناك شيء مهم بما فيه الكفاية ، فأنت تفعل ذلك حتى لو لم تكن الصعاب لصالحك - Elon Musk.

وهنا بعض الأمثلة :

  • إلكترون JS ، تقنية إنشاء تطبيقات سطح المكتب باستخدام Javascript قد ظهرت إلى الحياة لأن جزءًا من فريق جيثب أراد بناء محرر قابل للتطفل باستخدام تقنيات الويب.
  • Redux ، تم إنشاء حاوية الحالة القابلة للتطبيق لتطبيقات Javascript بواسطة Dan Abramov لأنه أراد إنشاء مكتبة لإدارة الولاية مع الحد الأدنى من واجهة برمجة التطبيقات ولكن مع سلوك يمكن التنبؤ به تمامًا - هذه هي الطريقة التي وضعها بها.
  • قام كوينسي لارسون وآخرون ببناء منصة Freecodecamp لحل مشكلة تدريس تقنيات الويب في مجتمع مفتوح المصدر.

لقد رأوا مشكلة ، واستمروا في حلها.

الوجبات السريعة الرئيسية من دينيس ريتشي ، والد لغة البرمجة C

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

2. دروس من Linus Torvalds ، الرجل الذي يقف وراء نظام تشغيل Linux Kernel

لينوس تورفالدس ، Softpedia

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

  • في عام 1998 ، حصل على جائزة رواد الحدود الإلكترونية (EFF).
  • في عام 1999 ، حصل على لقب "واحد من أفضل 100 مبتكر ، تحت سن 35 ، في العالم" من MIT Technology Review TR100.
  • في عام 2000 ، حصل على ميدالية Lovelace ، التي منحتها الجمعية البريطانية للكمبيوتر
  • في عام 2008 ، أصبح مجندًا في قاعة الزملاء في متحف تاريخ الكمبيوتر
  • في عام 2012 ، تم تجنيده في قاعة مشاهير الإنترنت.
  • في عام 2012 ، كان أيضًا أحد المستفيدين من جائزة الألفية للتكنولوجيا.

الآن ، هذا يستحق بعض الركوب الرائع.

لوحة ترخيص Linus Torvalds. الصورة: جون سنايدر / سلكي

وُلد لينوس في هلسنكي عام 1969 ، ولديه عائلة من الصحفيين ، يقول إن طفولته لم تكن مميزة للغاية.

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

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

ووفقا له ، "كانت هناك فصول برمجة في المدرسة الثانوية في ذلك الوقت ، لكنها كانت أساسية وبدائية للغاية"

النقطة 5: التعليم الرسمي لعلوم الكمبيوتر أمر رائع ، لكن لا تدع هذا يمنعك.

"لا يمكن لتعليم علوم الكمبيوتر أن يجعل أي شخص مبرمجًا خبيرًا أكثر من دراسة الفرشاة والصباغ يمكن أن يجعل شخصًا ما رسامًا خبيرًا".
- اريك ريموند

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

هذا بدس جميل.

الأمر الأكثر إثارة للاهتمام هو أن كل شخص في عائلته (بخلاف أولئك من جانبه الأم) كانوا صحفيين. كان الخراف السوداء.

في مقابلته مع متحف تاريخ الكمبيوتر ، يقول ،

"لقد كنت مهووسًا جدًا. بقيت في الداخل وقراءة أو مبرمجة. وبصراحة تامة ، ما زلت أقرأ وأجلس أمام الكمبيوتر. انها بوبي "

النقطة 6: أحب ما تفعله. ليس فقط المال والشهرة التي تجلبها.

معظم المبرمجين الجيدين يقومون بالبرمجة ليس لأنهم يتوقعون الحصول على أموال أو الحصول على الإقناع من الجمهور ، ولكن لأن البرنامج ممتع - Linus Torvalds

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

تتعلم ، وترتكب أخطاء ، وتبني المواد ، وترى نفسك جيدًا ، وأنت تحب تمامًا ما تفعله بعد ذلك.

حتى مع أولئك الذين يبدأون بالحب ، يُرى أن حبهم ينمو أكثر مع إتقان مهارتهم.

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

النقطة 7: كن مرتاحًا عند البدء صغيرًا - لكنه ينمو.

"أريد فقط بناء نظام التشغيل الخاص بي" - Linus Torvalds ؟؟؟

هذا ليس كيف تسير القصة. لم يبدأ مشروع Linux كمغامرة لبناء نظام تشغيل.

قد تحمل تفاصيل ذلك لك. ولكن هنا الشيء المهم.

طلب Linus جهاز MINIX ، وهو نظام تشغيل كمبيوتر يشبه نظام التشغيل UNIX. تم إصداره لأول مرة في عام 1987 ، مع توفير شفرة المصدر الكاملة للجامعات للدراسة في الدورات والبحث.

لعب Linus حول الجهاز ، وكتب برامجه للتخلص من القرص المرن ، بدون نظام تشغيل.

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

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

كثير من الناس الناجحين يبدأون صغرًا ، لكن اجعلوه كبيرًا.

الخطر المرتبط بالبدء الكبير ، هو أنك قد تقع في فخ الإرهاق.

أيضا ، لا بأس أن لا تعرف شيئا. لا بأس أن تكون أحد الهواة في تقنية جديدة ، ولكن ينمو أجنحتك ، ويتقنها بأسرع وقت ممكن.

النقطة 8: يجب عليك القيام بالعمل. لا أحد آخر سوف يفعل ذلك من أجلك

ومن الواضح أنني كنت أقرأ كتب نظام التشغيل على أي حال - Linus Torvalds

أنا حتى الآن لمقابلة رجل ناجح ، الذي لا يعمل.

من السهل أن نفترض أن Linus كان يعرف بطريقة سحرية كيفية بناء نظام التشغيل. هذا ليس صحيحا.

كان قد وضع في العمل المطلوب.

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

لا شيء سحري. يجب عليك أن تضع ساعات العمل المطلوبة لكي تتقن البرمجة.

الوجبات السريعة الرئيسية من Linus Torvalds

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

نقاط المكافآت من المطورين ذوي الخبرة الآخرين

جمعت شخصيا المدخلات من بعض مهندسي البرمجيات ذوي الخبرة. ما رأيهم في أن يكون أفضل مطور يمكنك أن تكون؟

النقطة 9: تفوق الجميع في محاولة ليكون الأفضل

بيل Sourour ، هو كتابة البرامج لأكثر من 2 عقود الآن. إذا كنت مهتمًا ، فقد قابله كوينسي لارسون هنا

اتصلت به وهنا ما قاله:

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

على حد تعبير بيل ، قد يكون السؤال الأكثر إثارة للاهتمام هو ، لماذا تريد أن تكون الأفضل في العالم؟ ما الذي سوف تحصل عليه؟ هل هذا هو الهدف الحقيقي؟

ماذا عن محاولة أن تكون أفضل ما يمكن أن تكون عليه ولا تقلق بشأن بقية العالم؟

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

النقطة 10: تعلم كيفية التفكير في التجريدات وتصميم البرامج بشكل أكثر وضوحًا

ديف

يعمل ديف سيديا كمهندس برمجيات في منطقة بوسطن ، وتجربته الواسعة هي تجربة جئت لاحترامها بمرور الوقت. في هذه الأيام ، يبني في الغالب واجهة مستخدم مع واجهة React ومؤلف كتاب "رد الفعل النقي"

إذا كنت فضوليًا ، فإليك مدونته

وصلت إلى ديف قبل بضعة أشهر ، وحيرني التفاصيل في رده.

إليكم أفكاره:

1. في الوقت المناسب ، استكشف المزايا التي تأتي من التعرض لعدة لغات برمجة

إن تعلم لغات متعددة يعرّفك بأفكار جديدة وطرق جديدة لمعالجة المشكلات (خاصة اللغات الوظيفية).

ثم هناك المستويات الأدنى مثل C التي ستعلمك أن تضع في اعتبارك إدارة الذاكرة وأدائها. عليك بناء الأشياء ، بشكل أساسي. بناء الكثير من الأشياء.

2. استكشاف المزيد من أنواع المشاريع

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

3. جمع مجموعة واسعة من الخبرة

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

أعتقد أنني كنت أسمي نفسي اختصاصيًا - أحب أن أتعلم أشياء جديدة ، ولذا فقد فعلت الكثير من الأشياء المختلفة. رمز الحصول على البيانات في C ++ يتحدث عن الأجهزة المخصصة ، والمستخدمين الرسوميين في Qt ، والألعاب الصغيرة في OpenGL ، وجافا و SQL المملين ، و webapps في Ruby on Rails ، ومشاريع Raspberry Pi الصغيرة مثل فتحت باب المرآب ... الكثير من الأشياء الصغيرة.

4. الحصول على عظيم في الأتمتة والاختبار باستمرار

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

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

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

يصبح إنشاء الإنشاءات أقل ترهيبًا لأن جميع الأوامر منطقية ، أو على الأقل ترى القواسم المشتركة بينها.

5. فهم تصميم البرمجيات

لذلك فإن أصعب شيء بالنسبة لي عن التحسن كمطور هو بت العمارة.

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

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

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

استنتاج

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

في جلسة الكورة الأخيرة ، قام DHH ، خالق روبي أون ريلز ، بوضعها على هذا النحو.

"لا يساعد ذلك في ممارسة نفس الدرس 10 مرات. عليك أن تبحث باستمرار عن حافة منطقة راحتك. "- ديفيد هانسون ، خالق روبي أون ريلز.

حظا سعيدا ، وهتافات لكونه مطور أفضل!

هل أوصي بهذا المقال واسقط تعليقاتك.

أي نصائح ساعدتني شخصيا؟ لنستمع الى هذا!