
إذن ما الذي تحتاجه للحصول على سعادة البرمجة الكاملة لمطابقة مجموعة في نهاية عام 2020؟
▍ هياكل البيانات والخوارزميات
يوجد الآن الكثير من المبرمجين الذين تعلموا ذاتيًا ولديهم مهارات تشفير جيدة في لغة برمجة معينة. هؤلاء هم تقنيون ، أعيد تدريبهم من ملفات تعريف أخرى ، "vhozhdens in IT" ، هواة التعليم الذاتي ، إلخ. إنهم يفهمون حقًا كيفية كتابة الكود ، وهم على دراية جيدة بالوظائف وبناء الجملة ، ويعرفون بعض الحيل ، وهم متقدمون بشكل خاص في OOP والأنماط. هذا بالفعل كثير للتنافس في سوق العمل.
ولكن في أول أيام العمل في مشروع جيد ، تبدأ المشاكل ويصبح من الواضح أن المهام التعليمية التي جعلت منك مبرمجًا رائعًا لا علاقة لها بالشفرة في الإنتاج. لكتابة كود احترافي جيد ، تحتاج إلى فهم هياكل البيانات والخوارزميات ، وأن تكون قادرًا على تصميم البرامج. لقد رأيت مبرمجين أذكياء جدًا لم يستخدموا المصفوفات والأشجار والقوائم المرتبطة والأنواع وما إلى ذلك. هؤلاء الرجال لديهم سمتان مميزتان: 1) هم عنيدون وواثقون من تفوقهم. 2) يقضون الكثير من الوقت في كتابة ما هو موجود بالفعل كهيكل - لقد رأيت الأنواع والأشجار المعاد اختراعها ، إنه أمر مخيف وغريب. أنا بالفعل صامت بشأن الموارد.
لذلك ، يجب أن يعمل المبرمج من أي مستوى بسهولة مع الهياكل والخوارزميات الموجودة. بالمناسبة ، يحب متخصصو الموارد البشرية ومدراء تقنية المعلومات استخدام هذه الموضوعات في المقابلات. ما إذا كان الأمر يستحق تحويل مقابلة إلى امتحان هو موضوع لمقال منفصل ، لكن الحقيقة تبقى.
▍ العمليات التجارية
ما زلت أتذكر الأوقات الجيدة التي كان من الممكن فيها إنشاء منتج أحلامك ، وقام متخصصو المنتجات والمسوقون ومندوبو المبيعات بتحويله إلى منتج أحلام عملاء الشركة. الآن ، بالطبع ، الأمر مختلف: الرجال التجاريون استرخوا ، وأصبح العميل انتقائيًا ، وتعلم المنافسون صنع أشياء جميلة بدلاً من الأعمدة القديمة على ركبهم. الآن يجب على أي مبرمج وأي مطور فهم العمليات التجارية التي يقوم بإنشاء البرامج من أجلها ، ويجب أن يكون لديه حد أدنى من الفهم لمجال نشاط الشركة. وهنا لن تذهب حجج مثل "الجراح لا يحتاج إلى إجراء عملية جراحية عشر مرات" ، لأن هذا تزوير في الجدل والسفسطة: الجراح ، بالإضافة إلى موقع الشق وعضو معين ، يفهم التحليلات ، وعلم العقاقير ، والإنعاش ، وعلم التشريح العام ، وعلم وظائف الأعضاء ، إلخ.
وهذه مشكلة كبيرة: ينشئ المطورون منتجًا وفقًا للمواصفات الفنية ببساطة ، وليس من أجل راحة عملاء محددين. لذلك ، إذا كان من المهم بالنسبة لك أن تكون فعالًا وأن تنشئ منتجًا قيمًا وقابل للبيع (لصالح راتبك) ، فقم بإنشائه مع مراعاة احتياجات العميل ، دون مراعاة وجهة نظرك للاحتياجات اطلب من المستخدم المتطلبات ، واجمع معلومات حول كيفية استخدام المنتج ، وحدد الوحدات والوظائف غير الملائمة والمريحة - ثم يصبح الأمر أفضل وأسهل.
بالمناسبة ، اختراق صغير حول كيفية فهم العمليات التجارية التي يتم إنشاء تطبيقك من أجلها. اجتمع مع زملائك من قسم "البيع" ، من المكتب الأمامي وقم بإجراء ندوة مشتركة: يخبرونك عن العمليات والعملاء ، حول ملف تعريف الاستخدام والمزايا المهمة ، وتخبرهم أن التطوير ليس موجة من العصا و "غسلها بالآلة الحاسبة" طلب العميل كثيرًا حساب معايير وتكلفة مشروع محطة للطاقة النووية في نصف ساعة ".
▍ الرياضيات
ملكة الحقول. حسنًا ، أو العلوم ، وليس الجوهر. بغض النظر عن كيفية تجنب الرياضيات في عالم تكنولوجيا المعلومات ، تزداد أهميتها كل عام. لا يمكن تطوير التعلم الآلي ، ولا الشبكات العصبية ، ولا الذكاء الاصطناعي دون معرفة الرياضيات. وإذا كنت أنت ، مطور مواقع الويب أو مطور الواجهة الأمامية ، مجرد شخير وذهبت لقراءة الفقرة التالية ، توقف ، فهذا ينطبق على الجميع. لأن البرامج التي لا تحتوي على بعض أساسيات ML / AI / الشبكات العصبية / BigData ستتخلف قريبًا. لذلك ، الحل بسيط: قبل فوات الأوان ، ادرس الشريحة الضرورية من الرياضيات.
لدي القليل من السر حول كيفية البدء: شراء أي موسوعة متقدمة للأطفال أو كتاب علمي مشهور عن الرياضيات والغوص في الغلاف الجوي ، وتوضيح المصطلحات الأساسية. وبعد ذلك ستذهب وتتقلص.
▍ المعرفة الأساسية في المجالات ذات الصلة
قد تثير هذه النقطة غضب أي شخص ، ولكن نعم - سيكون المبرمج وزملاؤه أفضل حالًا إذا عرفوا جميعًا المزيد عن عمل أحد الجيران في مكان مفتوح أو مكتب أو فريق. إذا كنت مبرمجًا ، فأنت تعرف بشكل أفضل بعض أساسيات UI / UX والواجهة الأمامية والخلفية وإدارة النظام والاختبار وما إلى ذلك. سيسمح هذا ببناء حوار عمل مثمر دون اتهامات وشكوك متبادلة. ليست هناك حاجة للخوض في عمق الموضوع - يكفي الكتاب المدرسي الأساسي والمحاضرات عبر الإنترنت ودورة الإنترنت. إذا كنت مهتمًا حقًا بمهنة أحد المطورين ، فيمكنك الحصول على برنامج بدوام كامل لتطوير البرامج المتكاملة - سيتم تقديم كل شيء هناك بمبالغ معتدلة ، ومع ذلك ، غالبًا ما يتم دفعه.
يسهل العثور على هؤلاء "الجنود العالميين" الذين يتمتعون بنظرة عمل واسعة بين مديري المشاريع وقيادة الفريق. إذا كنت مهتمًا ، فزرع في الاتساع وقليلًا من العمق من حيث دراسة التخصصات التابعة.
▍Techno-trio ، والتي بدونها لن يُسمح بالمستقبل
قد يبدو الأمر غريبًا ، ولكن غالبًا ما يعرف المبرمجون فقط وجود هذه التقنيات الثلاث ويمكنهم شرح ما هي بشكل عام. ومع ذلك ، ستؤثر هذه التقنيات قريبًا على الجميع بطريقة أو بأخرى.
- . — , , ( ). . Amazon Web Service (AWS), Google Cloud Platform (GCP) Microsoft Azure .
- . , , . , , . ( ).
- ( Docker Kubernetes) , , . , , , , .
▍ -
أنا أحب موظفي الشركة السامة. إذا قام شخص العلاقات العامة أو مدير المشروع بتصحيح مربع بعصبية وقال إن "Javist Sergey سام" في الشركة ، فأنا أعلم أن Javist Sergey على الأرجح يضطهد الزملاء بحجم معرفته ، ويجد الأخطاء بشكل مهني ويشرحها بشكل ممل بدافع النوايا الحسنة ، وبسبب الانزعاج ينسحب الآخرون على أنفسهم ويتصرفون بوقاحة. لكنه محترف - وهناك الكثير منهم. لكن ، للأسف ، الناس مخلوقات اجتماعية ذات نفسية منظمة بدقة ، وبالتالي لا يمكنهم تحمل الناس دون تعاطف ، وناقل اجتماعي ، ومعذرةً ، ذكاء عاطفي. لذلك ، في حين أن Javist Sergey يتجمد ويجري محادثات ذكية مع جامع القمامة ، فإن Pythonist Savely هو بالفعل أحد كبار السن ، ويهدف إلى قادة الفريق ، وقد حضر ثلاثة مؤتمرات ، ويقود الصداقة مع رؤسائه ، ويطير مع عميل إلى معرض في برشلونة (لقد فهمت بالفعل ،أن الأمثلة مخترعة وأن كل الصدف عشوائية ، لأنه لا أحد يطير إلى برشلونة في 2020).
حان الوقت الآن للتواصل ، وهو أقل تواترًا وأكثر قيمة ، لذا اكتب ما تحتاج إلى ضخه:
- مهارات الاتصال والاعتراضات والتساؤل والمناقشة ؛
- القدرة على التعاطف ، ومن خلال التعاطف ، سحب المعلومات الضرورية ؛
- القدرة على التعبير عن الأفكار بكفاءة ووضوح ؛
- مهارات الاتصال غير الرسمي دون الألفة والتحول الشخصي ؛
- القدرة على الدفاع عن وجهة نظرك.
لدي أخبار سارة لك: يتم تثبيت معظم المهارات الشخصية بشكل افتراضي في شخص ما ، ما عليك سوى سحب هذه المهارات بكفاءة من نفسك. لا تذهب إلى المدربين والمدربين ، فإن 2-3 كتب أساسية عن علم النفس التنظيمي وإدارة الصراع وعلم النفس الاجتماعي ستجعلك محادثة مدروسة.
بشكل عام ، تتطور حياتنا بطريقة مثيرة للاهتمام: أتذكر الآن كيف كان اختراق Google Glass ، ومدى وضوح Pokemon Go ، وكيف انطلقت أنظمة إدارة المشاريع المختلفة وانهارت على الفور. كانت هذه موجات من الطلب الضخم والطلب على الاتجاهات. لذلك ، يبدو أن المهارات المدرجة للمبرمج في عام 2020 "جيدة المظهر": فهي طويلة الأجل ، وليست لموسمين. أي أنه يمكنك العيش معهم حتى عام 2030 تقريبًا دون الكثير من التوتر. وبقية العالم يعتمد على هذه الأفيال. حسنًا ، لغات البرمجة ، بالطبع ، السلحفاة تحت الأفيال ، أساس الأساسيات.
لماذا نحن؟ يوم مبرمج سعيد ، أيها الأصدقاء! أنت تغير حياتك للأفضل باستخدام الكود ، وتضع المتطلبات في تطبيقات العمل ، وتقرأ المواصفات الفنية بين السطور وتعرف ما يفكر فيه العميل أو قائد الفريق. أحب عملك ، وانمو عليه وعلى نفسك ، ولا تدع واحدة "؛" تفوتك. كل كلمة مرحبا وعدد أقل من الأخطاء.