حافة المطور: كيف تصبح مطورًا أقدم

تسلق هذا سلم المعرفة. أحذية محب غير مطلوبة.

هذا هو الجزء 2 من سلسلة من المقالات للمبرمجين الذين يتطلعون إلى تطوير مهاراتهم. أخذنا الجزء الأول خلال المراحل الأولى حيث بدأنا البحث عن أكثر الطرق كفاءة للانتقال من الصفر إلى مطور قابل للتشغيل. اليوم ، سوف نأخذ الأمور إلى أبعد من ذلك بكثير. كما أصدرت للتو دورتين عبر الإنترنت للمطورين: The Complete Web Developer في 2019 و The Complete Junior to Senior Web Developer Roadmap

هذه المقالة مخصصة لجميع المطورين والمبرمجين والمبرمجين الذين يبحثون عن قفزة في حياتهم المهنية بعد قضاء بضع سنوات في الصناعة (أو ربما تكون قد بدأت للتو ولكنك ترغب في رؤية نوع المسار الذي يجب أن تستمر). هذه المقالة مخصصة لأولئك الذين لديهم رغبة بسيطة: فأنت تريد أن تعتبر مطورًا أوليًا وتريد التفوق في مجالك. في نهاية قراءة هذا ، سيكون لديك مسار محدد مع قائمة من أفضل الموارد لتتمكن من الارتقاء وتصبح مطورًا أقدم. Woaa! بيان جريء. آمل أن أكون حصلت لك مدمن مخدرات. هيا بنا نغطس

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

ماذا نريد؟

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

  • نحن لا نريد أن نعيش حياة ينظر إليها على أنها "غير كفء"
  • نريد أن نحترم من قبل زملائنا في العمل
  • نريد أن نشعر بالذكاء والإنجاز
  • نريد أن نشعر بالتقدير

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

ما هو المطور الرئيسي؟

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

فهمتك. كيف أصبح واحد؟

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

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

هذه هي المهارات الأساسية الستة التي ستحتاج إلى اعتبارها مطورًا أول:

1. المهارات الفنية

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

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

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

إذا كنت قد خرجت من برنامج تشفير bootcamp ، أو لم يكن لديك درجة علمية في علوم الكمبيوتر ، فأنت بحاجة إلى البدء في التعرف على بنيات البيانات والخوارزميات وغيرها من مواضيع علوم الكمبيوتر. لماذا ا؟ لأنه على الرغم من تغير الأطر والتقنيات ، إلا أن المبادئ الرئيسية في علوم الكمبيوتر (في الغالب) تظل كما هي. من خلال فهم هذه الموضوعات ذات المستوى الأعلى ، ستتمكن مرة أخرى من رؤية أن معظم مشكلات البرامج والممارسات الجيدة ثابتة عمومًا عبر اللغات والوقت المختلفين. ربما يكون هذا الكتاب (Rob Conery) وهذا الكتاب (Gayle Laakmann McDowell) من أفضل الأدوات التي وجدتها لتحسين مهاراتك في هذا المجال. على الرغم من أنها تخدش السطح فقط ، إلا أنها ستضع الأساس لمزيد من التعلم في المستقبل.

ابدأ في الاستماع إلى ملفات podcast مثل Software Engineering Daily بواسطة Jeff Meyerson حتى تتمكن من مواكبة التطورات الحالية والتوقعات المستقبلية لهذه الصناعة بأكملها.

أخيرًا ، اقرأ هذا المقال الرائع الذي يمر ببعض المهارات الفرعية من وجهة نظر تقنية بحتة.

2. مهارات الفريق

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

هذا هو المكان الذي يأتي فيه الذكاء العاطفي. علم النفس الاجتماعي هو أداة مهمة لتحسين هذه المهارة وليس هناك شيء أفضل من "كيفية كسب الأصدقاء" والتأثير على الناس. تذكر: كيف يمكنك أن تجعل من حولك أفضل؟ إذا كان لديك 5 أشخاص في فريقك ، فيجب أن يكون 1 + 1 + 1 + 1 + 1 أكبر من 5 لأنك تجعل من حولك أفضل (أحصل على عيون شريرة من أنصار الرياضيات الآن ... سأنتقل).

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

3. العميل / مهارات المستخدم

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

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

4. مهارات النمو

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

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

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

5. مبيعات / مهارات المقابلة

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

6. مهارات المجتمع

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

شيء واحد نهائي

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

استنتاج

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

شيء أخير…

لقد قمت بإنشاء دورتين عبر الإنترنت: The Complete Web Developer في 2019 و The Complete Junior to Senior Web Developer Roadmap. في الخطوة الأولى ، أدخلك عبر الخطوات بأكملها التي ذكرتها أعلاه إذا كنت تريد كل شيء في مكان واحد ، أو مساعدة إضافية أو تريد دعم عملي. كل دورة لديها أكثر من 100 فيديو HD و 30 ساعة من المحتوى. أخذوا مجنون ساعات من لجعل. لكنني فخور حقًا بكيفية ظهور كل شيء. أنا أطلقها على العالم اليوم ، وبما أنه موسم العطلات ، يمكنك استخدام رمز الكوبون RELEASEYA77 وستكون الدورة التدريبية 10 دولارات فقط (متاح لأول 100 شخص محدث: تم بيعهم)

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

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

اتبعني على Twitter و Medium إذا كنت مهتمًا بمزيد من عمليات الكتابة المتعمقة والمفيدة مثل هذه في المستقبل!

1. The Developer Web Developer في 2019

2. استكمال المبتدئين إلى كبار مطور ويب خريطة الطريق