المهنة: مبرمج. ليس كل شيء واضح

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

فنان - ناديجدا كوتكينا ، ممثلة - cyber_roach

من هذا؟


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

يجب أن تفكر فيما إذا كنت مبرمجًا مستقبليًا ، إذا كان ...

دافعك يأتي من الداخل ، فأنت تحب عملية التحكم في جهاز كمبيوتر ، وتريد ليس فقط استخدام برنامج (لعبة ، تطبيق) ، ولكن أيضًا معرفة كيفية عمله ، وتعديله.

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

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

أين هو مطلوب؟


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

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

  • — (, , , , IoT ..). .
  • - ( ) — - , , - . WEB, .
  • — , . , , .
  • — , , — (, , ..). .
  • , — , . , , . , COVID-19, :-)
  • ( ) — , . , . 
  • DevOps/DevSecOps — , . « , », DevOps , .
  • التطوير التطبيقي وأعمال البرمجيات هو عالم تطوير منفصل حيث يمكنك كتابة سطح مكتب على دلفي وكسب الملايين ، ومعرفة COBOL وأن تكون أكثر المتخصصين جذبًا في السوق ، وتصفح جافا وتكون في الأدوار القيادية في المجتمع ، إلخ. هذا مسار تطوير محفوف بالمخاطر ، بشكل أساسي للمطورين ذوي الخبرة ، ولكن إذا كنت تقع في حب C / C ++ / Java أو نوع من "اللاتينية من البرمجة" - لماذا لا؟ 

مرة أخرى ، أسرد المجالات الرئيسية ، ولكن في الواقع ، في واجهتهم ، يتم تشكيل مناطق واعدة جديدة ، على سبيل المثال ، معالجة اللغة الطبيعية (NLP) ، AR / VR ، تطوير الألعاب ، أتمتة الاختبار ، وما إلى ذلك. 

من المهم فهم تقسيم آخر.

  1. - , , , , UI/UX .. , ( ?:-))
  2. -- , : , CRM, ERP, , , , -, 1 .. , , - , , . 

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

المتطلبات المهنية الأساسية


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

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

  • , , — , . , « », .
  • — , . , ?! , ! , , , , , . , , - . , , 00:09, + ;-)
  • — , . , , . 

  • — , , code style .
  • — . , , SDK, API, . — 6-12 .
  • — , , , . , -, ( , ). , , . 

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

الحاجة إلى معرفة اللغات الأجنبية


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

ومع ذلك - ما الذي يعطي معرفة بلغة أجنبية؟

  • . , ( ).
  • .
  • , , , .. , .
  • .
  • -.
  • .

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

أين تدرس


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

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

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


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

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

أهم الكتب وأدوات التعلم


كل تخصص له مجموعة خاصة به من الكتب والموارد للتدريب ، ولكن هناك أشياء يجب على الجميع قراءتها.

  • فن البرمجة دونالد كنوث
  • لآلئ البرمجة جون بينتلي
  • « »,
  • « . , », .
  • «. », .
  • « . Ebay?»,
  • « », .
  • « . »,
  • «. »,
  • « »,
  • « . »,
  • « -»,
  • «-. », ,

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

من مواردك المفضلة:

  • Codecademy هي منصة تفاعلية عالمية لتعليم لغات البرمجة. اللعقات والإنجازات والتلعيب كلها دوافع.
  • Udacity هو مورد باللغة الإنجليزية لتعلم البرمجة.
  • Codewars هي مجموعة ضخمة من مهام الاختبار لمهارات التدريب في أي لغة برمجة.
  • Coursera - لا تعليق ، مجرد أفضل محاضرة "خليط".
  • MIT OpenCourseware هو بحر من الدورات التدريبية من معهد ماساتشوستس للتكنولوجيا.

فيما يلي نظرة عامة جيدة على الدورات التدريبية ، من إعداد مؤلف آخر ، المزيد من التفاصيل حول دورات اللغة الروسية. 

مجموعة أخرى ضخمة وجديدة من البرامج المفيدة على الإنترنت للمبرمجين.

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


أساطير المهنة


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


وإذا كان المبرمج أيضًا لاعبًا ... يمكنك دائمًا العثور على زوجين ؛-)

لذلك ، سأقوم بتحليل الأساطير الأربعة الأكثر شيوعًا.

  1. . . , - , , , . , , — , , . 500 . , . « » «» , . , : . 
  2. . , . , , , , , , , - , . , . , , ( !), , , , , , — , , , .
  3. . , . , , CTO, CIO .. . 
  4. . . ? ;-)


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

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

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


All Articles