ما تعلمته في رحلتي كمطور للهواتف المحمولة

في هذا المنشور ، سأشارك رحلتي بأكملها حول كيف أصبحت مطورًا محترفًا للهواتف المحمولة.

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

شهادتي الجامعية وكيف بدأ كل شيء

أنهيت دراستي الثانوية بدرجة علمية في الرياضيات والمعلوماتية في بلدة صغيرة في رومانيا.

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

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

كل آبائنا يريدون ذلك لنا.

لم أشعر أبدًا برغبة في اختيار درجة معينة. تبدو مألوفة؟ لم أر نفسي أعمل كشيء بعد تخرجي.

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

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

كان علي أن أذهب مع الخيار الثاني.

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

لم أفكر أبدًا في المبلغ الذي دفعته مقابل هذه الدرجة غير المجدية ، لكنني كنت بحاجة إلى دبلوم حتى أقبل المجتمع ، أليس كذلك؟

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

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

بعد سبع سنوات من التخرج من المدرسة الثانوية ، وجدت نفسي بلا خبرة وظيفية ، ولا عمل ناجح ، ولا مال.

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

هذا عندما فكرت:

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

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

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

كنت مخطئ.

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

تعلم Android و Java

كان عام 2014 عندما بدأت النظر في فكرة تعلم البرمجة.

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

بعد عشر دقائق اكتشفت أنهم كانوا يحضرون جميع دوراتهم عبر الإنترنت وكان الأمر أشبه بمكتب لبيع الدورة بدلاً من القيام بالدورة.

لا أتذكر السعر الدقيق ، لكنه كان يتراوح بين 1500 و 2000 دولار أمريكي. لم آخذه.

تركت الفكرة لبضعة أشهر ، ثم جاء عام 2015. عام جديد ، خطط جديدة ، حياة جديدة ، هل تعلم؟

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

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

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

كانوا يخبروننا بكل أنواع الأشياء عن التوظيف بعد المعسكر التدريبي ، لكنني لم أهتم.

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

بدأت الدروس. لقد أخبرونا دائمًا أنه لا يكفي تقديم دروس فقط خلال ساعات عملنا معًا.

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

دفعت نفسي بقوة أكبر. لقد مر شهر واحد على الدورات عندما اكتشفت أننا سنتعلم Java باستخدام Android ، لكن مرة أخرى ، لم أهتم. كنت أقع في حب Eclipse وحدثت أشياء على الشاشة أثناء التشفير.

Eclipse عبارة عن بيئة تطوير متكاملة تم استخدامها في الأصل لتطوير Android. الآن نستخدم Android Studio.

كان صعبا. درسًا بعد الدرس كنت أحاول تعلم المتغيرات ، والفئات ، والميراث ، والتغليف ، والحلقات ، وهلم جرا.

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

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

أخبرنا مرشدونا دائمًا: "ليس عليك أن تعرف كل هذه الأشياء من رأسك. فقط حاول أن تفهم ما هي وكيف يمكنك استخدامها."

لقد كانوا على حق ، لكنني اكتشفت ذلك لاحقًا. في تلك اللحظة المحددة من الزمن ، لم يساعد.

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

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

قلت "غير عاملة" لأنه لا يوجد بها أي خلفية أو أي مستخدمين. كان أشبه بتطبيق تجريبي كان يستخدم بعض SQLite لتخزين البيانات.

كنت فخورًا بذلك ، لأنه قبل بضعة أشهر ، لم أتخيل مطلقًا أنني أستطيع القيام بذلك.

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

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

المقابلات الأولى وأول وظيفة كمطور Android مبتدئ

بدأت في إجراء المقابلات ، وأتذكر أن أول مقابلة لي كانت في وظيفة Java في شركة دولية كبيرة تقع في بوخارست. (تلميح: لديهم أكثر من 300000 موظف ، وبلغت عائداتهم من عام 2019 حوالي 77 مليار).

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

بعد ذلك ، استغرق الأمر شهرًا آخر لإجراء المقابلة التالية.

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

كان الدور في الواقع كمطور Android لشركة تعهيد رومانية لديها عقد مع شركة اتصالات.

لقد أجريت معهم مقابلتين ، معظمهما أسئلة تقنية ، وما زلت أتذكر عندما اتصلوا لعرض الدور.

كان الراتب ضئيلاً ، لكن لا يهم.

أعتقد أنني بدأت المعسكر التدريبي في نهاية مايو 2015 ، وبدأت دوري الأول كمطور جونيور Android في يناير 2016.

لقد كان إنجازًا كبيرًا.

عيّن لي مديري مشروعًا ، ثم بدأت في التعرف على التحكم في الإصدار وكيفية العمل Agile ، وكيفية العمل في 2 أسابيع سباقات السرعة.

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

  • ابدأ اليوم (اختياري إذا كنت قد بدأت بالفعل)
  • قم بأكبر عدد ممكن من المشاريع
  • تعلم التحكم في الإصدار (Git أو Bitbucket أو Gitlab) وادفع جميع مشاريعك هناك.

ربما سأكتب مقالاً آخر عن كل هذه الأشياء.

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

بلد جديد والمزيد من وظائف Android

بعد 9 أشهر قررت أنني أريد الانتقال إلى لندن لأنني كنت أتلقى الكثير من الرسائل من المجندين. كما اعتقدت أنه سيكون من الأسهل أن أواصل مسيرتي هناك ، ثم أعود إلى بوخارست.

كنت محظوظًا لأن أختي عاشت هناك ، وكانت لطيفة بما يكفي للسماح لي بالعيش معها.

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

كنت أعلم أن الأمر لن يكون سهلاً ، وقد تقدمت بطلب للعديد من الوظائف عبر الإنترنت.

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

لقد كان عقدًا لمدة عام واحد ، ولم يكن الأجر رائعًا (اكتشفت ذلك لاحقًا) ، لكن مرة أخرى ، كنت سعيدًا.

لقد تعلمت طنًا في تلك السنة (بمفردي).

لقد تعلمت تقنيات خاصة بنظام Android مثل:

  • ما هي البنية مثل Model-View-Presenter وكيفية استخدامها في التطبيق
  • كيفية إجراء اختبار الوحدة المناسب
  • مبادئ SOLID

وهلم جرا.

لقد تعلمت كل ذلك في العمل وفي أوقات فراغي. كنت أعمل ، وفي أوقات فراغي ، كنت أقوم بإنشاء تطبيقات لنفسي.

حتى يومنا هذا ، تحتوي جميع تطبيقاتي (5 على Android) على أكثر من 100 ألف تنزيل ، معظمها عضوي ، لكن واحدًا منها فقط حقق أكثر من 2000 دولار أمريكي.

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

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

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

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

كنت سأعمل في بنك بريطاني كبير في لندن.

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

لقد أجريت ثلاث مقابلات قبل أن أدخل المشروع.

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

أولها عادة مع الموارد البشرية حيث يسألونك أشياء عن تجربتك.

يمكن أن تكون المقابلة الثانية مع أسئلة فنية أو مهام منزلية أو أسئلة تقنية مع بعض الخوارزميات.

قد تكون المقابلة الثالثة مع قائد تقني أو مع مدير أو مرة أخرى مع شخص من الموارد البشرية.  

بدأت العمل في البنك في فريق Scrum مناسب. كنا 4 مطوري Android ، 4 مطوري iOS ، مدير مشروع ، مالك منتج ، 2-3 مهندسين لضمان الجودة ، محلل أعمال ، مؤلف إعلانات ، مصممين.

كل هؤلاء الأشخاص كانوا يطورون جزءًا مهمًا من التطبيق. كان المشروع ضخمًا.

فقط في فريق التطوير كان هناك أكثر من 30 Android وأكثر من 30 من مطوري iOS.

بقيت في هذا المنصب لمدة عام ، مثل وظيفتي السابقة. السبب؟ كنت أرغب في العودة إلى رومانيا.

كنت محظوظًا بما يكفي لوجود زملاء جيدين من حولي.

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

لقد علمتني السنة في البنك الكثير ، وشعرت أنها بضع سنوات. لقد تعلمت:

  • كيف تفعل كود الاستعراضات
  • كيفية العمل في مشروع يتطلب تغطية رمز بنسبة 100٪ لاختبار الوحدة
  • كيفية توصيل الميزات في الوقت المحدد
  • ما هي البنية النظيفة وكيفية كتابة التعليمات البرمجية التي يسهل قراءتها دون ترك الكثير من التعليقات

وغيرها الكثير التي ربما لا أتذكرها.

العودة إلى الوطن بمزيد من المعرفة

كان ذلك في نوفمبر 2018 عندما عدت إلى بوخارست ، بعد عامين وقليلًا من العيش في لندن.

لقد كانت تجربة ممتازة ، لكنها لم تشعر وكأنها في المنزل.

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

استغرق الأمر أربعة أشهر فقط لأغادر مرة أخرى لمشروع جديد لمدة ستة أشهر في لندن.

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

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

ماذا تعلمت في هذا المشروع؟

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

لقد كانت رحلة مجنونة.

الخلاصة وما تعلمته

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

لم يكن الأمر سهلاً ، لكنني لست نادماً على اختيار هذه المهنة.

إذا كنت أنا من 5 سنوات ، فقط ابدأ.

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

ليس من الخطأ ألا تعرف ، ولا يوجد سؤال غبي. إنه لأمر فظيع إذا كنت لا تريد أن تتعلم.

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

كل ما تحتاجه للبدء هو مواقع الويب وقنوات YouTube مثل freeCodeCamp.

إليك كل الأشياء التي أتمنى أن تكون قد تعلمتها في هذا المنشور:

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

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