كيف حصلت على تدريب داخلي في Shopify

انتهى أخيرًا موسم مقابلات التدريب الصيفي لعام 2018. بعد أكثر من شهر من المقابلات والاختبارات في العديد من الشركات ، سوف أنضم إلى Shopify كمتدرب مطور خلفية.

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

مقدمة سريعة

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

أنا أيضًا جزء من برنامج COOP ، والذي يتطلب مني إكمال ثلاث دورات تدريبية خلال درجة البكالوريوس. كان أول تدريبين داخليين لي في Ubisoft و Vigilant.

سيجري تدريبي الأخير هذا الصيف ، وسأعمل في Shopify في مونتريال.

ما هو Shopify؟

ببساطة ، تتيح منصة Shopify للشركات والأفراد بيع البضائع بسهولة عبر الإنترنت.

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

بقدر ما يذهب العمل في Shopify ، فقد فازوا بـ Glassdoor's Best Place to Work in Canada 2017. ومن المعروف أيضًا أن لديهم أشخاصًا لامعين في مجال تخصصهم.

عملية التقديم

Shopify لديه عملية توظيف فريدة للمتدربين ، وهذا واضح بدءًا من عملية التقديم.

لتقديم طلبي ، كنت بحاجة لإكمال ثلاث مهام.

1. إنشاء متجر Shopify

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

لقد أنشأت متجرًا للحلويات والمعجنات اليابانية. أردت أن أصنع شيئًا أكثر أصالة من متجر أزياء أو جمال أو إلكترونيات نموذجي.

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

2. إكمال التحدي الفني

واجه منصب المطور الخلفي المتدرب تحديًا تقنيًا مرتبطًا به.

كان التحدي هو إنشاء مدقق لهيكل بيانات الرسم البياني. قررت استخدام Python للقيام بذلك.

لقد أحببت حقًا كيفية ربط التحدي بمنصة Shopify (أو على الأقل بدا الأمر كذلك) ، بدلاً من أن تكون مشكلة خوارزمية لا معنى لها.

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

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

3. الإجابة على أسئلة التطبيق

كانت الخطوة الأخيرة في عملية التقديم هي الإجابة على بعض الأسئلة.

لقد كتبت عن نوع العمل الذي أود القيام به خلال فترة التدريب وكذلك كيف كانت تجربتي طوال عملية التقديم. لقد كتبت أيضًا فكرة عن Hack Days (هاكاثون Shopify ربع السنوي).

لقد بذلت الكثير من الجهد للإجابة على هذه الأسئلة. كما هو الحال مع أي تطبيق ، فإن مقدار الجهد الذي تبذله فيه سيُظهر بوضوح مدى اهتمامك بالعمل هناك.

من المهم أيضًا أن تكون صادقًا بشأن ما تكتبه وأن تُظهر شغفك من خلال إجاباتك.

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

عملية المقابلة

بعد الانتظار لبضعة أسابيع ، تلقيت بريدًا إلكترونيًا لبدء عملية المقابلة!

تم تقسيم عملية المقابلة الخاصة بي إلى جزأين: مكالمة فيديو حول قصة الحياة ومقابلة فنية في الموقع.

قصة حياة

استغرقت مكالمة فيديو قصة حياتي حوالي 45 دقيقة وكانت مع مجند من فريق اكتساب المواهب.

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

كان هذا أحد الأجزاء المفضلة لدي في العملية. لقد كان عرضيًا للغاية وشعرت وكأنك تقابل شخصًا جديدًا وتشارك قصة حياتك!

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

أعتقد أن أهم العناصر خلال قصة الحياة هي أن تكون صادقًا ، وأن تظل غير رسمي ، وأن تعرف قصة حياتك بالفعل . مشاهدتها على أنها محادثة!

تقني في الموقع

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

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

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

أردت إنشاء تطبيق Alexa على Amazon Echo الخاص بي بحيث يكون على دراية بالمكونات التي أمتلكها حاليًا ويقترح وصفات بناءً على ما لدي في المخزون. كانت فرصة مثالية لضرب عصفورين بحجر واحد.

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

قمت بسرعة بإجراء دورة SoloLearn Ruby وتعلمت أساسيات Ruby on Rails من دليل البدء الرسمي.

بعد ذلك ، استخدمت معرفتي المكتسبة حديثًا لصنع ثلاجة أليكسا!

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

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

على سبيل المثال ، أحضرت هذا الرسم التخطيطي لإظهار كيفية اتصال خادمي مع Amazon Echo الخاص بي:

أعتقد أنه من المفيد أيضًا أن تكون قادرًا على تقديم مشروع يمكنك عرضه. من الصعب فهم أهمية عملك إذا لم تتمكن من إظهار النتيجة.

بالنسبة للجزء الثاني من مقابلتي في الموقع ، كنت بحاجة إلى حل مشكلة فنية.

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

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

يتم تعلم بعض هذه الموضوعات خلال درجة هندسة البرمجيات ، لكن البعض الآخر لا يتم تعلمه. أوصي بالتحقق من المعسكر التدريبي Hired In Tech's System Design وقابلية التوسع العالية. كلاهما مصدران ممتازان للتعرف على تصميم النظام ولمعرفة كيف تصمم الشركات الكبرى تطبيقاتها. انتبه جيدًا للمقايضات التي تأتي مع كل قرار تصميم.

عند العمل على حل المشاكل تصميم النظام، تأكد من أنك دائما بوضوح الدولة افتراضاتك و فهم متطلبات .

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

أخيرًا ، فكر دائمًا بصوت عالٍ .من المهم جدًا للمحاورين أن يعرفوا كيف تفكر.

أحاول التفكير بصوت عالٍ قدر الإمكان خلال هذه الأنواع من المشاكل ، حتى لو كان تسلسل أفكاري خاطئًا. ومع ذلك ، إذا كان خطأ ، فمن المهم أن أدرك ذلك وأصحح نفسي.

العرض

بعد حوالي أسبوع ، اتصل بي Shopify مع عرض وقبلته!

الوجبات الجاهزة

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

فيما يلي ملخص للنصائح التي شاركتها خلال المقال:

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

شكرا لكم على قراءة مقالتي!

لمزيد من التحديثات ، تابعوني على Twitter.