مبرمج 2020: المنهي يستريح

المبرمج اليوم ليس هو نفسه كما كان من قبل - معرفة لغة البرمجة (أو اللغات) ليست كافية لتكون قادرًا على المنافسة حقًا في سوق العمل. يمكنك كتابة ما تريد في كود C ++ كمؤشر لمؤشر لمؤشر ، ولكن ما هي الفائدة إذا كان صاحب العمل الخاص بك يبكي (قل عدد الرجال الذين يصرخون ، ويحرمونهم من المكافآت ، ويهددون ويقفون إلى جانب العميل - بمعنى العميل المباشر ومستخدمك البرنامج ، ليس شيئًا يتصل بالخادم)؟ منذ بعض الوقت ، كانت تلك الأدوات ، تلك المفاهيم الإدارية ، أن ميول اختيار الموظفين تنجذب نحو نفسها: النمطية ، والتمييز ، وحتى التهيئة والتخصص الضيق للموظفين ، والبرمجيات ، والأدوات. لكن التطور اتخذ منحى خاطئًا والآن يحتاج العالم إلى أجهزة ذكية يمكنها فعل كل شيء ، وبرامج وتطبيقات متعددة الوظائف (مرحبًا ،Yandex Go) وبالطبع متخصصون عالميون. عاد مفهوم "الأوركسترا البشرية" إلى الاتجاه السائد ، ولم يكن لديه الوقت لمغادرته. 





إذن ما الذي تحتاجه للحصول على سعادة البرمجة الكاملة لمطابقة مجموعة في نهاية عام 2020؟



▍ هياكل البيانات والخوارزميات



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



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



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



▍ العمليات التجارية



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



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



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



▍ الرياضيات



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



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



▍ المعرفة الأساسية في المجالات ذات الصلة



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



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



▍Techno-trio ، والتي بدونها لن يُسمح بالمستقبل



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



  1. . — , , ( ). . Amazon Web Service (AWS), Google Cloud Platform (GCP) Microsoft Azure . 
  2. . , , . ,   ,  . ( ).
  3. ( Docker Kubernetes) , , . , , , , . 


▍ -



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



حان الوقت الآن للتواصل ، وهو أقل تواترًا وأكثر قيمة ، لذا اكتب ما تحتاج إلى ضخه:



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


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



بشكل عام ، تتطور حياتنا بطريقة مثيرة للاهتمام: أتذكر الآن كيف كان اختراق Google Glass ، ومدى وضوح Pokemon Go ، وكيف انطلقت أنظمة إدارة المشاريع المختلفة وانهارت على الفور. كانت هذه موجات من الطلب الضخم والطلب على الاتجاهات. لذلك ، يبدو أن المهارات المدرجة للمبرمج في عام 2020 "جيدة المظهر": فهي طويلة الأجل ، وليست لموسمين. أي أنه يمكنك العيش معهم حتى عام 2030 تقريبًا دون الكثير من التوتر. وبقية العالم يعتمد على هذه الأفيال. حسنًا ، لغات البرمجة ، بالطبع ، السلحفاة تحت الأفيال ، أساس الأساسيات.  



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



All Articles