كيفية الحصول على وظيفة مهندس برمجيات في Google وغيرها من شركات التكنولوجيا الكبرى

مرحباً بالجميع!

لقد تحدثت بالفعل عن كيف حصلت شخصيًا على وظيفة مهندس برمجيات في Google في عدد قليل من مقاطع الفيديو على قناتي على YouTube لتعليم البرمجة والتي تسمى CS Dojo.

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

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

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

  • كيف تتعلم البرمجة في المقام الأول
  • ماذا نتعلم بعد تعلم البرمجة
  • كيف تحصل على أول وظيفة ترميز أو تدريب
  • أفضل الطرق للتقدم لوظائف مهندس برمجيات
  • أفضل السبل للتحضير للمقابلات البرمجية
  • هل من المهم الحصول على شهادة في علوم الكمبيوتر؟
  • هل من المهم الالتحاق بجامعة مرموقة؟

حسنًا ، لنبدأ!

الخطوة 1: تعلم البرمجة

هذا هو الحد الأدنى المطلق للمؤهلات التي تحتاجها لتصبح مهندس برمجيات.

لهذا ، أوصيك بالبدء في موقع ويب تفاعلي مثل Codecademy و freeCodeCamp. يمكنك معرفة معظم أساسيات البرمجة من هذه المواقع. سمعت أيضًا أن SoloLearn جيد أيضًا.

بعد ذلك ، سأستخدم دروس الفيديو لمعرفة المزيد من الموضوعات المتقدمة. أوصي بمواقع الويب مثل YouTube و Pluralsight و Lynda.com و Udemy لهذا الغرض. في هذه المواقع ، يجب أن تكون قادرًا على العثور على دروس حول مواضيع مثل:

  • تطوير الشبكة
  • تطوير المحمول
  • تطوير اللعبة

حسب اهتمامك.

لكن انتظر ، ما هي لغة البرمجة التي يجب أن أتعلمها أولاً؟

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

الخطوة 2: اعمل على بعض المشاريع الشخصية

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

لهذا ، يجب أن تجد شيئًا تهتم ببنائه.

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

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

الخطوة 3: احصل على أول وظيفة برمجة أو تدريب

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

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

أفضل الطرق للتقدم لوظائف مهندس برمجيات

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

بدلاً من ذلك ، أوصي باستخدام LinkedIn والشبكات الشخصية للحصول على وظيفة البرمجة الأولى.

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

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

انتظر ، انتظر ، لكن هذا ليس كل شيء.

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

بالنسبة لهذه الشركات الكبيرة ، بدلاً من ذلك ، أوصي بدمج الاستراتيجيات الثلاث التالية:

  1. معارض التوظيف وفعاليات التوظيف في الجامعات القريبة منك.
  2. احصل على إحالة من الأصدقاء الذين يعملون في إحدى هذه الشركات
  3. ببساطة تقدم عبر الإنترنت.

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

بالمناسبة ، لست متأكدًا تمامًا من سبب كون LinkedIn أقل فعالية مع هذه الشركات الكبيرة ، لكنني أعتقد أن ذلك قد يكون بسبب تلقيهم الكثير من الرسائل. في الأساس ، تحظى بشعبية كبيرة هناك: P

الخطوة 4: تعلم هياكل البيانات والخوارزميات

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

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

نظرًا لوجود 7 مقاطع فيديو فقط في هذه السلسلة ، ستحتاج إلى المزيد من المواد للتعرف على المزيد من الموضوعات المتقدمة.

هناك العديد من الخيارات الشائعة لهذا ، بما في ذلك:

  • دورات ستانفورد هذه على كورسيرا
  • دورة معهد ماساتشوستس للتكنولوجيا على موقع يوتيوب
  • دليل تصميم الخوارزمية بواسطة Skiena (كتاب)
  • الخوارزميات (كتاب آخر)

يجب أن تجرب بعضًا منها وتواصل مع الشخص الذي يعجبك أكثر.

الخطوة 5: التحضير لمقابلات الترميز

تعد مقابلات الترميز في شركات مثل Google و Microsoft صعبة ، ولكن من السهل إلى حد ما الاستعداد لها.

بمجرد أن يكون لديك فهم قوي لهياكل البيانات والخوارزميات ، أوصي بهذه الموارد الثلاثة للممارسة:

  • Leetcode - منصة تفاعلية لممارسة مشاكل مقابلة الترميز.
  • Cracking the Coding Interview - كتاب شائع عن مقابلات الترميز.
  • مشكلة الترميز اليومية - قائمة بريدية تعطيك مشكلة واحدة في اليوم.

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

كيفية إجراء مقابلات وهمية

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

ثم حل كل مشكلة على الورق أو على مستند Google. اشرح الحل لصديقك.

تأكد من ممارسة كل من المحاور والمحاور حتى تتمكن من رؤية ما يشبه أن تكون في مكان الشخص الذي يجري المقابلة.

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

الخطوة 6: التقديم والتقديم والتقدم مرة أخرى :)

استخدم الاستراتيجيات الثلاث التي ذكرتها أعلاه لتطبيقها على أفضل شركات التكنولوجيا:

  • أحداث التوظيف / معارض التوظيف
  • حث أصدقائك على إحالتك
  • والتقدم عبر الإنترنت.

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

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

هذا هو! فيما يلي ملخص سريع:

  • الخطوة 1: تعلم البرمجة
  • الخطوة 2: اعمل على بعض المشاريع الشخصية
  • الخطوة 3: احصل على أول وظيفة برمجة أو تدريب
  • الخطوة 4: تعلم هياكل البيانات والخوارزميات
  • الخطوة 5: التحضير لمقابلات الترميز
  • الخطوة 6: التقديم والتقديم والتقدم مرة أخرى :)

انتظر ، هل الأمر بهذه البساطة حقًا؟

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

بعض الملاحظات الأخرى:

هل أحتاج إلى الحصول على شهادة في علوم الكمبيوتر؟

الجواب القصير هو لا. ومع ذلك ، فإن الحصول على درجة علمية في علوم الكمبيوتر يساعد كثيرًا. إذا كنت تأخذ برنامج CS قويًا ، فإنه يعتني بمعظم الخطوات 1 و 2 و 3 و 4 (تعلم البرمجة ، والقيام بمشاريع شخصية ، والحصول على أول وظيفة أو تدريب في البرمجة ، وتعلم هياكل البيانات والخوارزميات).

بدون الحصول على درجة CS ، ستحتاج فقط إلى معرفة المزيد بنفسك.

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

هل أحتاج إلى الالتحاق بجامعة مرموقة مثل MIT و Stanford و Carnegie Mellon وما إلى ذلك؟

مرة أخرى ، الإجابة المختصرة هي لا. ربما تساعد قليلاً ، لكنها بعيدة كل البعد عن الضرورة.

يوافقه الرأي أيضًا لازلو بوك ، وهو نائب أول سابق لرئيس عمليات الأفراد في Google.

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

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

هل أحتاج إلى معدل عالٍ؟

الجواب القصير هو لا ، مرة أخرى.

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

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

ماذا احتاج بعد ذلك؟

في الأساس ، كل ما تحتاجه هو مهارات قوية في الترميز وحل المشكلات ، وفهم جيد لأساسيات علوم الكمبيوتر ، ومشاريع وتجارب مثيرة للاهتمام لإظهارها في سيرتك الذاتية.

ستتمكن من بناء كل هذه الأشياء إذا اتبعت الخطوات الست التي شرحتها أعلاه.

انتظر ، كيف يمكنني كتابة سيرة ذاتية جيدة ؟

إذا كنت ترغب في ذلك ، يمكنك استخدام السيرة الذاتية التي استخدمتها للتقدم إلى Google كقالب.

  • ها هي نسخة PDF.
  • هذا هو واحد من أجل Word.
  • هذا هو واحد للصفحات.

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

موارد إضافية لكتابة السيرة الذاتية :

  • هناك نظرة عامة لطيفة حول هذا الموضوع على CareerCup هنا.
  • صديقي Zhia Hwa Chong ، وهو مهندس برمجيات في Twitter ، لديه مقال لطيف حول هذا الموضوع هنا.

حسنًا ، حظًا سعيدًا ، شكرًا لك على قراءة هذا المقال!

إذا كان لديك أي أسئلة ، فيرجى إبلاغي بذلك في تعليق أدناه أو على Instagram أو Twitter (ykdojo على كليهما).