
على الجانب iOS ، قد يبدو التطوير نادٍ مغلق. للعمل ، تحتاج بالتأكيد إلى كمبيوتر من Apple ، تتم مراقبة النظام البيئي عن كثب بواسطة شركة واحدة. أحيانًا ما يتم سماع التناقضات من الداخل - يقول أحدهم أن لغة Objective-C قديمة وخرقاء ، وأن لغة Swift الجديدة قديمة جدًا.
ومع ذلك ، فإن المطورين يذهبون إلى هذا المجال ، وبعد أن وصلوا إلى هناك ، راضون.
هذه المرة ، أخبرنا مارات نورجالييف وبوريس بافلوف عن تجربتهم - كيف درسوا المهنة ، وكيف أجريت المقابلات الأولى ، ولماذا تم رفضهم. وكان الخبير أندريه أنتروبوف ، عميد قسم
تطوير iOS في GeekBrains.
في عام 2016 ، جاءت مارات نورجالييف من منطقة أستراخان للحصول على وظيفة كمطور للهواتف المحمولة في شركة تلفزيون محلية. كانت هذه أول مقابلة له. لقد عاد لتوه من الجيش ، دون ممارسة وتجربة ، وقد نسي حتى النظرية التي كانت بها مشاكل على أي حال. كانت التجربة الوحيدة في تطوير الأجهزة المحمولة في Marat هي أطروحة حول تحليل تدفق المعلومات عبر تطبيقات Android. في المقابلة سُئل عن الدراسة و OOP ونظريات أخرى ، لكن مارات لم يستطع إخفاء فجوات المعرفة.
ومع ذلك ، لم يتم رفضه ، ولكن تم تكليفه بمهمة عملية - لتنفيذ عرض قائمة الأخبار باستخدام واجهة برمجة التطبيقات خلال أسبوعين. سواء تحت دائرة الرقابة الداخلية ، وتحت الروبوت. "إذا كانت لدي أي تجربة على Android ، فلم يكن هناك حتى أداة لإنشاء إصدار iOS. بيئة تطوير ios متاحة فقط على نظام Mac. ولكن بعد أسبوعين عدت ، أظهر أنه يمكنني على Android. مع نظام iOS ، اضطررت إلى الخروج أثناء التنقل. نتيجة لذلك ، أخذوني. ثم عشت في استراخان. أي وظيفة في مجال تكنولوجيا المعلومات براتب أكثر من عشرين مناسبة لي. "
من هم مطورو iOS
يقوم مطورو الأجهزة المحمولة بعمل تطبيقات لأي جهاز محمول. الهواتف الذكية والأجهزة اللوحية والساعات الذكية وجميع المنصات الأخرى التي تدعم Android أو iOS. لا يختلف الأساس الأساسي لتطوير الهاتف المحمول عن المعتاد ، ولكن بسبب الأدوات المحددة التي تم تحديدها في اتجاه منفصل. يستخدم أدواته الخاصة ولغات البرمجة وأطر العمل.
لاستخدام نظام iOS ، فأنت بحاجة إلى جهاز macbook ، لأنه يحتوي فقط على بيئة تطوير Xcode الضرورية. إنه مجاني ويتم توزيعه من خلال متجر تطبيقات AppStore. لتثبيت ، يجب أن يكون لديك معرف Apple الخاص بك ولا شيء آخر. في Xcode ، يمكنك تطوير تطبيقات لأي شيء - هاتف أو جهاز لوحي أو ساعة. يقول Andrei Antropov ، عميد قسم تطوير iOS في GeekBrains ، هناك جهاز محاكاة ومحرر مدمج لكل شيء.
ولكن يمكن أيضًا تطوير بيئة التطوير على نظام Windows ، إذا كنت تستخدم Hackintosh. هذا هو خيار العمل ، ولكن دوار - أي من المطورين خطيرة تفعل هذا. مبتدئين شراء ماك بوك القديم. ويمكن للذين لديهم خبرة تحمل أحدث طراز. "
اللغات - سويفت أو الهدف جيم
يتم تطوير نظام iOS تقريبًا باستخدام لغة برمجة Swift. لقد ظهرت قبل خمس سنوات وهي الآن تحل تدريجيا محل لغة Objective-C القديمة التي استخدمتها Apple في جميع تطبيقاتها لأكثر من 30 عامًا.
"يحتوي Objective-C على قاعدة رمز ضخمة ، لذلك لا يزال يتعين على المطورين باللغتين ، اعتمادًا على الشركة ومهامها وتطبيقاتها. تستند الطلبات المكتوبة منذ عدة سنوات إلى الهدف- C. ويتم تطوير جميع المشاريع الجديدة افتراضيًا على Swift. تقوم Apple الآن بالكثير من أجل إجراء تطوير متزامن للهاتف والكمبيوتر اللوحي والساعة و MacBook قدر الإمكان. يمكن تجميع نفس الرمز وتشغيله في كل مكان. لم يكن هذا هو الحال من قبل. بالنسبة لنظام iOS قمنا بتطويره على Swift ، أما بالنسبة لنظام MacOS ، فقد استخدمنا Objective-C. "
وفقا لأندري ، سويفت هي لغة بسيطة جدا ، ودية للمبتدئين. تمت كتابته بشدة ، وهذا يتيح لك التقاط العديد من الأخطاء في مرحلة الترجمة من المشروع ، والرمز غير الصحيح ببساطة لن ينجح.
"الهدف- C هو لغة قديمة إلى حد ما - في نفس عمر لغة C ++. في وقت تطويره ، كانت متطلبات اللغات مختلفة تمامًا. عندما ظهر Swift ، كان هناك الكثير من الأخطاء ، كانت الوظيفة محدودة ، وكان بناء الجملة تقريبيًا. وعلى الهدف- C كان للناس يد كاملة. لقد تحسن لسنوات عديدة ، تم تصحيح جميع الأخطاء هناك. لكن الآن ، أعتقد أن سويفت ليس أقل من الهدف جيم. على الرغم من أن Apple لا تزال تستخدم كليهما في مشاريعها. اللغات قابلة للتبادل إلى حد كبير ومتكاملة لبعضها البعض. يمكن تحويل هياكل وكائنات لغة ما إلى كائنات وبنيات لغة أخرى. سيكون من الجيد معرفة كلا الخيارين ، ولكن بالنسبة للمبتدئين ، غالبًا ما يبدو الهدف- C مخيفًا وغير مفهوم. "
تدريب
يقول مارات "في أول وظيفة لي ، قام الرئيس بتدريبي ، وساعد في تنفيذ المشروع والإعداد له" ، لكن العمل على نظامي Android و iOS صعب في الوقت نفسه. يستغرق إعادة البناء ، والتحول من مشروع إلى آخر ، ومن لغة إلى أخرى وقتًا. في النهاية ، قررت أنني بحاجة إلى اختيار اتجاه واحد ودراسته. لقد رشيت من واجهة Xcode وبناء جملة Swift البسيط. "
دخلت مارات قسم تطوير iOS في GeekBrains. في البداية كان الأمر سهلاً للغاية ، لأنه كان يعرف أشياء كثيرة من خبرته العملية. المعدل السنوي ينقسم إلى أربعة أرباع. وفقًا لأندريه ، يتم توفير الأساس في أول واحد فقط: "أساس لغة Swift ، معرفة الأطر الأساسية ، تفاعل الشبكة ، تخزين البيانات ، دورة حياة التطبيق ، جهاز التحكم ، البنى الأساسية ، المكتبات الرئيسية التي يستخدمها الجميع ، multithreading و التزامن في التطبيقات."
في الربع الثاني ، يتم إضافة الهدف- C. دورة في الهندسة المعمارية وأنماط البرمجة الأساسية. يتم تدريس الربع الثالث الطريقة الصحيحة لكتابة التعليمات البرمجية. إنه يروي ما هو المصنع ، وكيفية كتابة الاختبارات بشكل صحيح ، وتشكيل المشاريع ، وما هو Git-Flow ، Continuous Integration من خلال Fast Lane. الربع الرابع والأخير مكرس للعمل الجماعي والمهام العملية والتدريب الداخلي.
يقول مارات "الربع الأول كان سهلاً" ، لكن بعد ذلك ، تم دراسة البرمجة في Objective-C ، دراسة أنماط التصميم ، مبادئ Solid ، Git-Flow ، بنية المشروع ، تطبيقات Unit و UI ، إعداد الرسوم المتحركة المخصصة ، ثم بدأت الرسوم المتحركة المخصصة ، أصبح من المثير للاهتمام أن تدرس ".
يقول بوريس بافلوف: "لم يبدأ كل شيء في GeekBrains بسلاسة فائقة" ، ولم يكن طريقه لتطوير نظام iOS بشكل عام هو الأكثر مباشرة. الرجل الذي ترعرعت عليه جدته. كانت مهندسة معمارية وعالم رياضيات ومصممة وغرست في بوريس حب التصميم ، حيث علمت الرسم باليد والرسم. كان عمه مسؤولاً عن النظام وكان يهتم لابن أخيه بأجهزة الكمبيوتر.
كان بوريس طالبًا ممتازًا ، لكنه فقد الاهتمام بالدراسة وترك المدرسة بعد تسعة فصول. بعد الكلية ، ذهب لركوب الدراجات ، وذهبت أجهزة الكمبيوتر إلى جانب الطريق. ولكن بمجرد أن تلقى بوريس إصابة في العمود الفقري ، والتي لم تسمح له بمواصلة مسيرته الرياضية.
بدأ دراسة C ++ مع مدرس في معهد إيركوتسك للفيزياء الشمسية الأرضية. ثم أصبح مهتمًا بتطوير اللعبة وحاول التبديل إلى C #. وأخيراً ، مثل مارات ، تم رشوته بواسطة سويفت.
قررت أن تأخذ دورة تمهيدية مجانية في GeekBrains. ويتذكر بوريس أن "بصراحة ، كان مملًا للغاية ، ومفتقدًا وغير مفهومة" ، وتحدث المعلم عن ميزات اللغة ، لكنه تخطى من موضوع إلى آخر دون الكشف عن الجوهر. عندما انتهت الدورة ، ما زلت لم أفهم أي شيء ".
لذلك ، بعد الدورة التمهيدية ، لم يدخل بوريس دورة مدتها سنة واحدة ، ولكن دورة قصيرة لمدة ثلاثة أشهر ، حيث يتم تدريس أساسيات المهنة ذاتها. "هناك صادفت معلمين جيدين للغاية ، وشرحت لهم كل شيء بوضوح".
"غالبًا ما يتم انتقادنا ، من المفترض أنه ليس لدينا أدلة تدريب ذات صلة ، فهناك معلومات غير دقيقة. ولكن يتم تحديث الدورات باستمرار ، ويتحدث المعلمون دائمًا عن الابتكارات. من بين المجموعات التي أقودها ، يعمل الكثير منهم بالفعل بعد الربع الأول. يقول أندري ، بطبيعة الحال ، هؤلاء عادةً ما يكون لديهم خبرة في البرمجة ، ومن ناحية أخرى ، لا يمكن نقل المعرفة في دورة واحدة. لا يمكن احتواء تفاعل عميل الشبكة في الحياة في عشر محاضرات لمدة ساعتين. وإذا ذهبت إلى الدورات التدريبية فقط ولم تفعل شيئًا آخر ، فلن تكون هناك معرفة كافية. إذا كنت تتدرب كل يوم طوال العام ، فلن ينجح الكسل في هذا الوتيرة. لأن الطلب في هذه المهنة كبير جدا ".
يمكنك رؤية أحدث الشواغر لمطوري iOS والاشتراك في وظائف جديدة.
عمل
ولكن لم يجد مارات ولا بوريس مهمة سهلة.
"طورت بعض الشركات الكبيرة تطبيقات iOS الطويلة على Objective-C ، وتواصل دعم قاعدة الشفرة القديمة. لسوء الحظ ، ليس لدي حجة قوية لإجبارهم على استخدام Swift حصريًا. يقول مارات ، لا سيما أولئك الذين يستخدمون قاعدة "لا تلمس ما ينجح" ، "يتم إيلاء القليل من الاهتمام لاتجاه الهدف- C في Geekbrains. إنه أكثر من شخصية لتقصي الحقائق. لكن كل شركة قابلتهم سألت عن الهدف جيم. وبما أن دراستي تركز على Swift ، مثل عملي السابق ، تلقيت الرفض في المقابلات. "
يقول بوريس: "بعد الدراسة ، لم أكن أعرف سوى الأساسيات السطحية التي يمكنني من خلالها إنشاء أبسط تطبيق. بالطبع ، لم يكن ذلك كافيًا للعمل ، لكنني كنت سعيدًا بذلك. كان من الصعب العثور على عمل في إيركوتسك. بتعبير أدق ، لا شيء على الإطلاق. قررت البحث في مدن أخرى. من خلال عدد الوظائف الشاغرة ، كانت أهمها كراسنودار وموسكو وسانت بطرسبرغ. قررت الذهاب إلى سان بطرسبرج - أقرب إلى أوروبا.
ولكن تحول كل شيء ليس وردية جدا. حتى المبتدئين يطلبون ما لا يعرفه. لم أجد وظيفة بعد. أنا أعمل من أجل "شكرًا لك" ، لاكتساب الخبرة. أنا أفهم أن هذا ليس ما أردت ، لكنني مهتم ، وهذا يدفعني. أريد الحصول على المعرفة ".
أندريه يعتقد أن القادمين الجدد لا ينبغي أن يبحثوا عن عمل ، ولكن التدريب الداخلي. إذا كان هناك القليل من المعرفة ، فهذا أمر طبيعي عندما لا يتم دفع فترة التدريب. ينصح أندريه بالذهاب إلى الوظائف الشاغرة للشركات الكبيرة ، حيث تم بالفعل إنشاء عملية العمل.
"عندما يتعلق الأمر بفهم كيفية عمل عملية تطوير البرمجيات ، فسيصبح التنقل وإيجاد مزيد من العمل أسهل كثيرًا ، وفقًا لرغباتك. شخص ما يذهب إلى التنمية المستقلة ، يصنع الألعاب لنفسه ، هو نفسه يصبها في المتجر ، وينقدها بنفسه. شخص يعمل لشركة كبيرة مع قواعد صارمة. يربح شخص ما المال في استوديوهات صغيرة تصنع البرامج حسب الطلب ، وهناك يمكنهم مراقبة العملية برمتها - من إنشاء مشروع من البداية إلى وضعه في المتجر. "
راتب
يعتمد راتب مطور نظام iOS ، مثله مثل غيره ، على سؤال "موسكو أو روسيا". ولكن نظرًا لخصائص الصناعة - الكثير من العمل عن بُعد ، وفرص الانتقال والعمل ليس في السوق الإقليمية - فإن الأرقام تقترب أكثر فأكثر من بعضها البعض.
وفقًا لآلة حاسبة الرواتب "My Circle" ، فإن متوسط الراتب لمطور iOS أقل قليلاً من 140،000 روبل ."صغار من مستوى منخفض للغاية وغالبا ما يعمل مجانا أو مقابل المال رمزي - 20-30 ألف روبل. إذا تم نقل المبتدئين عمدا إلى منصبه ، فسوف يحصل على ما بين 50 إلى 80 ألف. تستقبل Middles من 100 إلى 150 ، وأحيانًا حتى 200. لا تتلقى الإشارات الأقل من 200. أعتقد أن رواتبهم حوالي 200-300. و Timlids ، على التوالي ، لمدة 300. "

مقابلات العمل
"المقابلة الأولى كانت على سكايب. يتذكر بوريس أنه لمفاجأة أنه كان Google ، ثم انتقلت للتو إلى سان بطرسبرغ وبدأت في البحث عن عمل. حصلت على استجابة لمطور iOS الشاغر. ليس صغيرا ، وليس وسيطا ، وليس مؤشرا - مجرد مطور. كنت مسرورا ، بدأت تتوافق مع المدير. لقد طُلب مني إكمال المهمة الفنية: اضطررت إلى كتابة طلب للنكات حول Chuck Norris. لقد كتبت ذلك. قيل لي أن كل شيء رائع ومن المقرر إجراء مقابلة عبر الإنترنت.
اتصلنا هاتفيا. فتاة لطيفة تحدثت معي. لكنهم لم يطرحوا أي أسئلة حول معرفة اللغة - فقط المهام المنطقية المختلفة ، على سبيل المثال ، "الساعة 15:15 ، كم درجة هناك بين أيدي الساعة والدقيقة؟" أو "عمود 10 أمتار ، يزحف الحلزون 3 أمتار في فترة ما بعد الظهر ، ينحدر مترًا واحدًا في المساء. كم يوما ستزحف إلى الأعلى؟ "، وشبه أكثر من ذلك.
ثم كانت هناك أسئلة غريبة للغاية - حول ما أحب Apple وكيف أشعر تجاه Tim Cook. قلت إنه كان إيجابياً للشركة ككل ، ولكنه سلبي عليها ، لأن المال مهم لها ، وليس للمنتجات.
عندما بدأت أسئلة حول Swift ، كانت معرفتي كافية فقط لأنماط البرمجة وأساسيات OOP. قلنا وداعاً ، بعد أسبوع اتصلوا بي وقلنا إنني غير مناسب. في الواقع ، لقد تعلمت الكثير من هذا: المعرفة مطلوبة ، والكثير منها ضروري - النظرية والتطبيق ".
يقول أندريه إن "أول ما يطلبه الجميع أثناء المقابلة هو دورة حياة المراقب المالي. إنهم يحبون طرح بعض أنماط البرمجة البسيطة. تأكد من السؤال عن تجربة استخدام المكتبات الشعبية. سيكون هناك بالتأكيد سؤال حول الاختلافات في أنواع قيمة سويفت من أنواع المراجع ، حول عد المرجع التلقائي وإدارة الذاكرة. قد يتساءلون عن كيفية تطبيقهم لتخزين البيانات في التطبيقات ، وما إذا كانت طلبات الشبكة قد تم تنفيذها. اسأل عن أساسيات REST و JSON. سوف جونيور لا تسأل عن الأشياء الدقيقة والخفايا. على الأقل أنا لا أسأل ".
بوريس ، من ناحية أخرى ، كان له تجربة مختلفة: "حتى عندما طلبت تدريبات داخلية ، قمت بأداء مهام فنية وقال إن راتبي لم يكن مهماً ، إذا كان يكفي استئجار شقة فقط ، فإنهم ما زالوا يرفضونني. قرأت المقالات ، وحاولت أن أفهم ما يحتاج المجند من المبتدئين. لكن تنهال أساسا على النظرية. لسبب ما ، طرحوا أسئلة من الدوري الممتاز ، والتي لا تهم المبتدئين. "
مارات كان أكثر حظا. يعمل الآن في شركة نقل وواحد مسؤول عن اتجاه دائرة الرقابة الداخلية ، ويواصل دراساته في الكلية. "نظرًا لأنني المسؤول الوحيد عن نظام التشغيل iOS ، يتم تقييم عملي فقط من خلال القدرة على تحقيق المهام المحددة لي ، وليس بمعرفة النظرية".
مجتمع
يعيش أندريه في نيجني نوفغورود ويقول إنه حتى هناك مجتمع ممتاز قد تشكل. كان ياما كان مطورًا خلفيًا في بيثون ، لكن اصدقائه جروه إلى تطوير الأجهزة المحمولة - وهو الآن يحث الجميع على القيام بذلك.
"يتواصل المجتمع العالمي عادة عبر تويتر. يحتفظ الناس بمدوناتهم وتسجيل مقاطع الفيديو على Youtube ، ويدعون بعضهم البعض على البودكاست. في أحد الأيام كان لدي سؤال حول عرض تقديمي حيث يؤدي فريق HQTrivia. هذا اختبار أمريكي يلعبه عدة ملايين من الأشخاص في نفس الوقت. أنا تغردت عليه ، أجابني ، تحدثنا ، وشكرت. المجتمع ودود للغاية ، وهذا رائع ".
قائمة القراءة الموصى بهامستوى المبتدئين:المستوى المتوسط:المستوى المتقدم: