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

ليست هناك حاجة جونز على جهاز التحكم عن بعد
كما يحب الأشخاص من Toaster أن يقولوا ، لا سيما القيمون لمعظم الأقسام ، لا يحتاجون إلى أي نقاط على موقع بعيد ، تمامًا مثل احتمال كسب شيء ما من يونيو على سبيل الاستقلالية. وهذا هو حقا. ولكن يعلم الجميع أيضًا أنه سيكون هناك دائمًا شخص يقوم بما كان يعتبر مستحيلًا تقريبًا.
وهكذا ، اسمي سيرجي ، أنا مطور أعمال ، أعيش في مدينة أوسورييسك (بريمورسكي كراي ، 200 ألف نسمة ، +7 ساعات مع موسكو) ، ليس لديّ ملف تعريف شخصي ، ولم أعمل في المكتب كمطور لمدة يوم واحد. وهذه القصة تدور حول كيفية وصولي إلى هذه الحياة.
لا أضع هدفي لإلهام اللاعبين من المقاطعة حتى يتسارعوا جميعًا معًا ويبدأون في محاولة الحصول على وظيفة في موقع بعيد. أريد أن أوضح هذا القدر الكبير من الوقت الذي قضيته في التطوير لمطور (دون شك ، إذا كان هناك "مكتب" في مدينتي ، كنت سأفعل ذلك بشكل أسرع).
بعد الجامعة
في البداية ، كنت أخطط للعمل في قطاع المقامرة ، لذلك بعد المدرسة ذهبت إلى "الخدمة الاجتماعية والثقافية والسياحة" ، لكن قانون الاتحاد الروسي بشأن حظر نشاط المقامرة صدر في العام الثاني. على الرغم من أنني أعيش في إقليم بريمورسكي ، حيث كان من المفترض أن يبنيوا الكازينو بحلول عام 2012 ، فإن جميع المواعيد النهائية كانت مقطوعة ، وفي الواقع ، عندما تخرجت ، لم يكن هناك شيء. بتعبير أدق ، كانت هناك كازينوهات تحت الأرض ، لكن هذه كانت الأماكن التي لا تريد العمل فيها بالتأكيد.
كنتيجة لذلك ، حصلت أولاً على وظيفة في شركة بيع بالجملة للأرز ، ثم غادرت المكان كمثبت اتصال بالإنترنت ، ثم دعم 1C-Franchisee. استغرق كل شيء حوالي عام ونصف. كما يقولون ، في أيدي دبلوم أحمر من الجامعة ، وجميع الأبواب مفتوحة أمامك.
الدعم الفني
طوال هذا الوقت كنت أبحث عن شيء أكثر ملاءمة ، وفي يوم ما في My Circle ، رأيت وظيفة شاغرة في الدعم الفني الليلي. لقد اعتقدت أنه مع مراعاة المنطقة الزمنية الخاصة بي ، الساعة 7 صباحًا في فلاديفوستوك ، وهي 0-00 في موسكو ، يمكنني أن أعمل نوبة ليلية عمليًا خلال اليوم. لقد استجبت وتحدثت وحصلت على وظيفة.
بطبيعة الحال ، تماما مثل ذلك ، لن يؤخذ الشخص الأيسر في الدعم. لقد كنت مولعا ببناء الموقع منذ المدرسة وعمل عدة مواقع لفريقي dotka وناد اللعبة المحلي. بالإضافة إلى ذلك ، نظرًا لتلقي تعليمي ، حصلت على الإنجليزية بدرجة جيدة ، مما سمح لي أيضًا بتقديم الدعم للعملاء من أستراليا ونيوزيلندا والولايات المتحدة الأمريكية. لقد حصلت بالفعل على مستوى مدير موقع جيد مع اللغة الإنجليزية ، بالإضافة إلى خبرة دعم من 1C.
المضي قدما
في أحد مؤتمرات الشركات ، تحدثت مع اللاعبين من قسم التطوير ، وأدركت أن الموضوعات التي تمت مناقشتها ليست نوعًا من "علم الصواريخ" ، ويمكنني أن أجربها أيضًا. بالإضافة إلى ذلك ، التعليم الرسمي ، رغم أنه كان إنسانيًا ، لكن لا يزال لدينا الرياضيات والإحصاء والاقتصاد والمحاسبة والبرمجة ، لذلك لم أكن خائفًا جدًا من الصيغ والأرقام.
كان عام 2014 ، في كل مكان يصرخون فيه php تمتص ، أن الثعبان هو المستقبل ، وهلم جرا (كيف ساذجة وغبية كنت!). لذلك بدأت تعلم البرمجة منه. كيف فعلت ذلك:
1) قمت بتنزيل الكتب التي كتبها مارك لوتز "تعلم بيثون" ، "البرمجة في بيثون". كانت الكتب صعبة للغاية ، لأن قراءتها كانت مملة للغاية ، لكنها أعطت قاعدة جيدة جدًا. إذا كان لديك الخيار في البدء بسرعة أو قراءة بعض الكتب الأساسية عن البرمجة ، فأنا أوصي بشدة بالبدء في الكتاب الثاني للحصول على الأساس اللازم. من المهم أن نفهم ، ليس فقط "كيف" ، ولكن أيضًا "لماذا" و "لماذا".
بعد الكتب ، قررت أن ألعب قليلاً وبدأت في كتابة العديد من المحللون لبوابات الألعاب (Brablay / GoodGame) من أجل جمع إحصائيات حول مواضيع معينة. على وجه الخصوص ، كان من المثير للاهتمام معرفة كيفية ترك بعض الأشخاص للتعليقات ، خاصة عددهم الضخم.
2) ثم قررت أن أفعل شيئًا أكثر فائدة وأعد بوابة مقالات في بيثون. قرأت كتابًا عن جانغو (لكي أكون أمينًا ، لم أفهمه كثيرًا - لقد أعطيت المعلومات بسرعة كبيرة جدًا و "فراغ"). لذلك شاهدت اثنين من أشرطة الفيديو التمهيدية على Django من ITVDN والتفت إلى الوثائق الرسمية.
لمدة 4 أشهر من التطوير ، اعتدت على التصميم ، وفهمت كيفية العمل مع قاعدة البيانات ، وكتابة عمليات الترحيل ، وتعيين طبقة المقابس الآمنة وما إلى ذلك. ونتيجة لذلك ، قضيت في العام التالي على إطلاق عدد من مشاريعي الخاصة وتطوير مواقع صغيرة للاعبين المحليين (موقع drop-shippig ، ومتجر دراجات ، ومتجر للتغذية الرياضية ، وما إلى ذلك).
3) بعد عام ، شعرت بالملل من تطوير مشاريع في جانغو. بدأت أنظر إلى الأمور الأخرى التي يمكن التفكير فيها على بيثون. ربما قرأت جميع كتب بايثون التي كانت موجودة على موقع الأوزون. بدءًا من كتاب عن Devops ، ينتهي برؤية الكمبيوتر والتعلم الآلي. هذه المواضيع لم تلهمني حقًا (لم أر القيمة المطبقة على مقياسي التي يمكنني استخدامها هنا والآن) ، لكن هذه المصطلحات من بعض السحر غير المعروف و "skynet" تحولت إلى صيغ عادية ومكتبات مطبقة.
4) في النهاية ، قررت رفع مستواي في محو الأمية الحاسوبية قليلاً وبدأت في قراءة الكتب على C / C ++ / Java / Computer Networks / PostgreSQL / TDD وأنماط الشركات. أن نكون صادقين ، تجربة ممتعة للغاية ، عندما تفهم كيف تعمل تقنية أخرى ، وما تعتمد عليه ، والتحديات التي تنطوي عليها ، وكيف تحل "المهام المعقدة" من مجموعتك.
بشكل منفصل ، يمكن أن نذكر الكتاب في فصل الربيع ، والذي أظهر مدى تعقيد تطبيق المؤسسات أكثر من مشروع "سهل" في جانغو.
الاختبار والاختبار الآلي
بعد ثلاث سنوات من العمل في مجال الدعم ، مُنعت ، لسوء الحظ ، من الوصول إلى قسم التطوير ، ولكن كانت هناك فرصة للحصول على وظيفة في قسم الاختبار. بحلول ذلك الوقت ، كنت أعرف بيثون بحرية ويمكن في جاوة ، لذلك سيكون من الغباء عدم الاتفاق.
أعطى قسم الاختبار فهمًا جيدًا إلى حد ما لكيفية تطوير النظم المعقدة ، وكيف تتفاعل الفرق داخل نفسها ومع بعضها البعض. تكوين بيئات الاختبار المختلفة ، وتحديد أولويات المهام وأكثر من ذلك بكثير.
بطبيعة الحال ، هذا هو التشغيل الآلي للاختبار على السيلينيوم مع اختبارات الرجيج من خلال جنكينز عند إطلاق بنيات جديدة.
أنا أيضا أحب موضوع تصميم الاختبار. كان لدى الشركة مجموعة كبيرة من دورات الاختبار المختلفة ، بحيث يمكنك تعلم الكثير من الأشياء الرائعة التي لم تفكر بها من مجال تصميم الاختبار من قبل. على سبيل المثال ، تصميم الحد الأدنى لعدد حالات الاختبار لتغطية أكبر عدد من متغيرات النظام باستخدام المولدات الزوجية (http://www.pairwise.org/). هذه أشياء رائعة من عمل QA-Engineer ، والتي لا يفكر الكثير من المطورين بها.
الانتقال إلى التنمية
بعد عام ونصف في قسم الاختبار ، حصلت على اتفاق بأنه إذا قدمت نموذجًا أوليًا عمليًا على حزمة php ، فستتاح لي الفرصة لأحصل على تدريب داخلي في قسم التطوير.
شهر واحد قضيت على الكتب على PHP. بعد Python و Java ، اتضح أن إتقان PHP كان سهلاً للغاية ، على الرغم من أنه من وقت لآخر ظهرت الأسئلة "لماذا لا يكون مثل هذا".
وقضيت ثلاثة أشهر في خدمة Symfony API (كمامة الويب ، الحساب الشخصي ، منطق الأعمال ، إعلامات البريد ، مولد pdf ، تحليل هياكل json المعقدة والمزيد). فجأة ، اتضح أن Symfony هو نوع من الهجين من Django و Spring ، لذلك لم تكن هناك مشاكل فهم على الإطلاق.
نتيجةً لذلك ، عرضت مشروعي وحصلت على تدريب داخلي في قسم التطوير ، حيث تم نقلي بالفعل إلى مطور متكامل.
الأشهر الأولى كمطور
لقد تلقيت مرشدًا قام بالفعل بمراجعة الكود الخاص بي واقترح لماذا يجب علي القيام بذلك وليس غير ذلك. في بعض الأحيان استمرت المكالمات لمدة ساعة ونصف إلى ساعتين ، عندما تم تحليل الرمز بالتفصيل على الكرة وقدمت توصيات بشأن كيفية تحسينه. في الواقع ، اتضح أنني اتخذت قرارات في الوقت المناسب مع المنطق الصحيح ، ولكن بسبب حقيقة أنه ليس لدي أي خبرة في تطوير الشركات ، فقد تبين أنها مربكة ومعقدة للغاية. بالإضافة إلى ذلك من وقت لآخر كانت هناك أسئلة حول عمل Redis / RabbitMQ / Elastic ، إلخ. لكن مع ذلك ، تم تنفيذ العمل الرئيسي في الحقل لتبسيط الكود وجعله قابلاً للاختبار (عندما تكتب الكود بنفسك ، فلا تعتقد حتى أن الآخرين لن يتمكنوا من قراءته). كنتيجة لذلك ، في غضون 4 أشهر ، تم سحب الرمز الخاص بي وفق معايير الشركة.
في الواقع ، عندما تكتب الرمز بنفسك ، لا تفكر في كيفية فهم الآخرين له ، وما إذا كان من الصحيح التعبير عن أفكارك بهذه الطريقة. تجربة فريق العمل من الصعب استبدال.
إجمالي مدة الخدمة للحصول على عمل مطور في موقع بعيد من البداية -
4 سنوات ، 9 أشهرنتيجة العمل عن بعد من نقطة الصفر:
- إن احتمال الحصول على وظيفة كمطور على موقع بعيد ، بعد إكمال دورة تدريبية وقراءة بعض البرامج التعليمية ، يميل إلى الصفر.
- إن احتمالية التأقلم حتى مع أعمال شهر يونيو في مكان بعيد دون تجربة التطوير التجاري ، أو أي مشاريع خاصة ، تميل إلى الصفر.
- من المحتمل أن تمضي الشركة عليك دون أي توصيات وقتًا لتدريس شيء ما - تميل إلى الصفر.
- من المحتمل أن تحصل على بعض "الأموال الكبيرة" بعد قراءة بعض الكتب ، والحصول على وظيفة في موقع بعيد ، إلى الصفر.
- إن اتخاذ قرار في بداية حياته المهنية من أجل التخلي عن المكتب والبحث عن مكان بعيد يعد هراءً كبيراً.
- رفض وظائف تكنولوجيا المعلومات الأخرى ، كما تريد فقط أن تكون مطورًا على موقع بعيد من بداية حياتك المهنية ، ليس سوى غباء.