هل أنت شغوف بتطبيقات الجوال وتهتم بأن تصبح مطور تطبيقات Android؟
خطوتك الأولى هي فهم المسؤوليات التي ستتحملها كمطور لنظام Android وما هي المهارات التقنية وغير الفنية التي تحتاجها لتطوير تطبيق Android.
ها هي ناتاليا!
هندسة البرمجيات Software engineeringهي وظيفة مطلوبة بشدة ، وستستمر الحاجة إلى متخصصين في التكنولوجيا. هذا صحيح بشكل خاص من حيث نظام التشغيل الأكثر شعبية في العالم: Android. يتم إصدار أكثر من 6 آلاف تطبيق إلى متجر Google Play يوميًا بواسطة مطوري Android من جميع أنحاء العالم. هذا سبب قوي للاعتقاد بأن إتقان مهارات تطوير Android يضمن لك قابلية التوظيف في المستقبل.
دعنا أولاً نطرح مسألة المسؤولية. هناك العديد من المسؤوليات الرئيسية التي ستواجهها كمطور لنظام Android ، رغم أن هذه المسؤوليات قد تختلف حسب الشركة.
بناء وظائف التطبيق و واجهة المستخدم UI
بطبيعة الحال ، تتمثل المهمة الرئيسية لأي مطور يعمل بنظام Android في إنشاء تصميم التطبيق وبناء وظائفه. يتضمن هذا كتابة الأكواد البرمجية النظيفة وبناء بنية مدروسة جيدًا ، بالإضافة إلى النظر في الأخطاء المحتملة ومحاولة تجنبها.
التعاون مع أعضاء الفريق الآخرين
من المهم للغاية لجميع مهندسي البرمجيات بناء والحفاظ على اتصال فعال مع الأعضاء الآخرين في الفريق مثل مصممي UI / UX والمطورين الخلفيين UI/UX designers, back-end developers ، وما إلى ذلك. نظرًا لأن معظم أعضاء الفريق يؤدون دورًا محددًا في معظم الشركات ، فإن التواصل الجيد هو المفتاح لبناء منتجات رائعة.
معالجة قواعد البيانات و APIS
يجب أن يعمل مطور Android بشكل عام مع مصادر خارجية مثل واجهات برمجة التطبيقات وقواعد البيانات المختلفة. هذا يعني أنه يجب أن تكون ماهرًا بدرجة كافية في التعامل مع كود الطرف الثالث الذي كتبه مهندسو البرامج الآخرون. سوف نتحدث عن هذا أكثر قليلا في وقت لاحق.
.
أداء وحدة الاختبار
غالبًا ما يكون اختبار الوحدة Unit testing - والذي يُطلق عليه أيضًا module testing - جزءًا لا يتجزأ من دورة تطوير البرامج Software development cycle. يتم تضمينه بالفعل في منهجية تطوير البرمجيات Agile ، التي تستخدمها العديد من الشركات. يجب عليك اختبار وحدة التطبيق الخاص بك خلال عملية التطوير.
إصلاح الأخطاء
الأخطاء لسوء الحظ تأتي للتو مع أراضي تطوير تطبيق Android. مهمتك كمهندس هي العثور على جزء على الأقل من هذه الأخطاء في التعليمات البرمجية الخاصة بك ، وكذلك إصلاح الأخطاء التي تم العثور عليها من قبل أعضاء الفريق الآخرين مثل مهندسي ضمان الجودة (QA).
الاطلاع على التكنولوجيات الجديدة
كونك مهندس برامج يعني إتقان مهارات جديدة واكتساب معرفة جديدة طوال الوقت. بالكاد يكون من الممكن أن تكون مطورًا جيدًا في عالم التكنولوجيا المتطورة سريعًا دون الاهتمام بالتعلم.
هذه هي المسؤوليات الأساسية لمطوري Android ، ولكن بالتأكيد ليست كلها. ضع في اعتبارك أن المسؤوليات تختلف عادة من شركة إلى أخرى وتعتمد على خبرتك العملية.
المهارات الفنية لمطوري الاندرويد
لقد حان الوقت للتعمق في المهارات الفنية التي يحتاجها مطورو Android ، خاصة تلك المهارات التي لا بد منها لبدء حياتك المهنية أو العثور على وظيفة مطور Android في شركة جيدة.
1. خبرة في JAVA ، KOTLIN أو كلاهما
أول ما تحتاج إلى البدء به هو معرفة واسعة بلغة واحدة على الأقل من لغتي تطوير Android الرسميتين. يجب أن تكون مرتاحًا مع لغات برمجة Kotlin أو Java.
ماذا يعني ذالك؟ يجب أن يكون لديك معرفة متقدمة في بناء الجملة والبنية. بالإضافة إلى ذلك ، يجب أن تفهم المفاهيم التالية:
أObject-oriented fundamentals (e.g. inheritance, class, and static methods)
Variables
Lists
Loops
إذا كنت تتعلم جافا ، فيجب أن تكون واثقًا أيضًا من استخدام وثائق JDK لتتعلم بسرعة كيفية استخدام أجزاء مختلفة من اللغة.
2. مفاهيم الروبوت SDK الحيوية
يجب أن يكون مهندسو Android جيدًا في استخدام Android Software Development Kit (Android SDK). هناك عدة مجالات يجب أن تكون على دراية بها:
أساسيات طرق العرض ، عرض المجموعات ، والتخطيطات
إدخال المستخدم
طرق الحصول على البيانات من الويب
تخزين البيانات
أشرطة العمل
تكييف التطبيقات لأحجام مختلفة للشاشة
Fundamentals of Views, View Groups, and Layouts
User input
Ways to get data from the web
Storing data
Action bars
Adapting apps for different screen sizes
يجب أن تكون على دراية بوثائق Android ومصادر الطرف الثالث التي ستساعدك على إتقان أي أجزاء SDK لا تزال غير معروفة لك بسرعة.
3. تجربة جيدة مع SQL
يحتاج كل تطبيق Android تقريبًا إلى تخزين البيانات في شكل ما ، سواء كانت بيانات التطبيق نفسه أو بيانات المستخدم. في المقابل ، يجب دمج التطبيق الخاص بك مع قاعدة بيانات حتى تكون قادرًا على إدارة البيانات.
هذا هو السبب في أن العديد من أصحاب العمل يبحثون عن مطور أندرويد يتمتع بخبرة SQLite. وبالتالي ، من الجيد إتقان نظام إدارة قاعدة البيانات هذا لزيادة فرصك في التوظيف.
4. المعرفة ب GIT
قد لا تكون هذه المهارة ضرورية تمامًا اعتمادًا على الشركة واحتياجاتك ، لكنها جيدة. ستحتاج على الأرجح إلى استخدام نوع من أداة التحكم في الإصدار في النهاية
لا يجب أن تكون "نينجا". يكفي أن تكون على دراية بالأساسيات ، مثل إنشاء مستودعات repositories واستخدامها ومعرفة كيفية الالتزام بالتغييرات.
5. أساسيات XML
يرمز XML إلى Extensible Markup Language ويستخدم في الغالب في تطوير حلول الويب. ومع ذلك ، فهي تقنية أساسية لتطوير تطبيقات Android أيضًا ، نظرًا لحقيقة استخدام XML للوصول إلى بيانات الويب. نظرًا لأن العديد من تطبيقات Android تتطلب نقل البيانات إلى خدمات الويب والعكس بالعكس ، فإن XML هي مهارة يجب إتقانها.
يجب محاذاة كل تطبيق Android مع إرشادات Material Design language التي تغطي جميع العناصر الأساسية في التطبيقات (الألوان ، والظلال ، والانتقالات ، وموضع العناصر ، إلخ. colors, shades, transitions, element placement) وإلا ، قد لا تتم الموافقة على التطبيق للنشر في متجر Google Play. تتطلب العديد من إعلانات الوظائف لمطوري Android ذلك.
7. ANDROID STUDIO
إن معرفة بيئة التطوير المتكاملة (IDE) مثل Android Studio أو بيئة تطوير أخرى هي أيضًا مهارة مهمة يجب أن نمتلكها. ستساعدك الألفة مع Android Studio على العمل بشكل أكثر كفاءة. على وجه الخصوص ، يمكنك الاستفادة من مصحح الأخطاء المدمج وأدوات الاختبار built-in debugger and testing tools لكتابة تعليمة برمجية خالية من الأخطاء.
8. مهارات البرمجة الخلفية BACK-END PROGRAMMING SKILLS
ستذكر بعض منشورات الوظائف أن المرشح المثالي لمطوري Android يجب أن يكون قادرًا على العمل مع المكون الخلفي للبرنامج. قد يكون من الصعب تعلم لغة أخرى ، خاصة إذا كنت تبدأ مسار حياتك المهنية وتفتقر إلى الخبرة. والأكثر من ذلك ، هناك العشرات من لغات البرمجة الخلفية وكلها مختلفة (Python ، Node.js ، .Net ، إلخ)
الأمر متروك لك تمامًا فيما إذا كنت ستقدم طلبًا لهذه الوظيفة أم لا. ربما لديك بالفعل بعض الخبرة مع إحدى اللغات الخلفية ، أو ربما تفضل الالتزام بالواجهة الأمامية. ليس من الضروري دائمًا الغوص بعمق في تعلم تقنية أو تقنية خلفية أخرى لتكون مطورًا يعمل بنظام Android.
من الجيد أن يكون لديك مهارات غير تقنية
في حين أنه من الواضح أن أي منصب تقني يتطلب مهارات فنية مقابلة ، فإن العديد من المطورين ينسون المهارات غير الفنية التي يمكن أن تكون لها نفس الأهمية.
دعنا نلقي نظرة على بعضها.
الشغف لعملك
كل مهندس برمجيات له دوافعه الخاصة للاستيقاظ في الصباح وكتابة التعليمات البرمجية لمدة ثماني ساعات في اليوم . إن شغف العمل هو ما يميز مطور التطبيقات الاستثنائي عن مجرد "جيد".
شغف للعمل
لكن كونك متحمسًا لما تفعله هو أحد أضمن الطرق لتسلق سلم المهنة بسرعة. بمجرد أن تجد شيئًا يثير شغفًا في أي جانب من جوانب عملك ، يجب عليك متابعة ذلك - سواء كان ذلك باستخدام تقنية معينة ، أو القدرة على إنشاء منتجات من الدرجة الأولى للمستخدمين من جميع أنحاء العالم ، أو أي شيء آخر.
مهارات الاتصال والعمل الجماعي
يحتاج معظم أرباب العمل إلى المرشحين التقنيين المحتملين ليكونوا قادرين على التعاون بشكل جيد مع الفريق. يتضمن ذلك القدرة على التحدث عما تفعله ، والتفويض بحكمة ، وقبول الملاحظات حول عملك من الزملاء. خاصة إذا كنت كذلك
الكتابة
الكتابة هي مهارة غير تقنية أخرى بدأ العديد من أصحاب العمل في البحث عنها مؤخرًا. تعد الكفاءة في الكتابة مفيدة في أي سياق ، سواء كان التواصل مع الزملاء عبر الدردشة أو البريد الإلكتروني أو كتابة الوثائق الفنية والمقالات وملخصات العمل والنصوص للمستخدمين ، إلخ.
منهجية رشيقة
كما ذكرت سابقًا ، تعمل معظم الشركات مع منهجية تطوير البرامج Agile هذه الأيام. بشكل أساسي ، يقوم Agile بتقسيم كل مشروع إلى تكرارات. كل تكرار يدوم لفترة زمنية متساوية (على سبيل المثال أسبوعين ، يعمل الفريق على وظيفة محددة ، يتم إصدارها في النهاية. قد يختلف التنفيذ الدقيق حسب الشركة.
إن وجود خبرة في العمل في بيئة تطوير برامج Agile قد يكمل سيرتك الذاتية ويعمل بشكل جيد لك أثناء المقابلة. إذا لم تكن لديك تجربة مثل هذه ، يجب أن تكون على الأقل على دراية بمبادئ منهجية Agile.
المعرفة التجارية للصناعة
آخيرا وليس أقل مهارة أن أذكر هنا هو وجود معرفة تجارية في صناعة معينة. لماذا ا؟ لأن مطوري Android يقومون عادةً بإنشاء تطبيقات محمولة لمجموعة متنوعة من الصناعات: الرعاية الصحية والترفيه والعقارات ، إلخ.
إن الفهم والخبرة اللائقة للعمل مع أحدهم يمكن أن يميزك عن العشرات من المرشحين الآخرين لشغل منصب مرغوب فيه. على سبيل المثال ، إذا كانت لديك معرفة بمجال الرعاية الصحية ، فأنت لديك فهم أعمق لما يحتاجه مستخدموها وأي ميزات تطبيق Android يمكن أن تكون أكثر فائدة للجمهور المستهدف - والذي يترجم إلى تطبيق أكثر فعالية وأرباح أعلى.
أين يمكن العثور على ANDROID DEVELOPER JOB ONLINE
إذا كنت ترغب في العثور على وظيفة مطور Android مستقل ، فيمكنك البحث عن العملاء على الأنظمة الأساسية التالية:
إذا كنت تبحث عن فرصة عمل بدوام كامل ، فيمكنك تجربة مجالس العمل والمنصات التالية:
يمكنك العثور عليها على المزيد من المواقع على شبكة الإنترنت ، ولكن لا تزال هذه المنصات جيدة بما يكفي لبدء البحث عن وظائف مطور Android الذي تحلم به.
رواتب مطور ANDROID
لذا ، فأنت تعلم المهارات التي يجب أن تكون لديك والمسؤوليات التي يجب عليك القيام بها كمطور لنظام Android. لقد حان الوقت لمعرفة المستوى المناسب من الراتب لجهودك في هندسة البرمجيات.
بالطبع ، كلما ارتفع مستوى خبرتك (مبتدئ ، متوسط ، كبير) ، كلما ارتفع الراتب. يعتمد هذا أيضًا إلى حد كبير على بلد إقامتك ، لذلك سأدرس عدة بلدان.
لنبدأ مع متوسط مرتب مطور Android حسب مستوى المعرفة
في الولايات المتحدة (جميع الولايات):
مبتدئ أندرويد المطور: 56،320 دولار في السنة
مطور Android متوسط المستوى: $ 106،118 في السنة
مطور أندرويد الأقدم: 127،928 دولار في السنة
متوسط راتب مطور Android حسب المستوى في كندا:
مبتدئ أندرويد المطور: 58،500 دولار في السنة
مطور أندرويد متوسط المستوى: 107،250 دولارًا سنويًا
مطور أندرويد الأقدم: 146،250 دولار في السنة
متوسط مرتب مطور Android حسب المستوى في المملكة المتحدة:
مبتدئ أندرويد المطور: 20،300 £ في السنة
مطور أندرويد متوسط المستوى: 45،675 جنيه إسترليني سنويًا
مطور أندرويد الأقدم: 72،500 جنيه إسترليني في السنة
متوسط راتب مطور Android حسب المستوى في الهند:
مبتدئ أندرويد المطور: 4،141 دولار في السنة
مطور أندرويد متوسط المستوى: 10،672 دولار في السنة
مطور أندرويد الأقدم: 13،730 دولار في السنة
إذا كنت مطورًا أوليًا لنظام Android ، فلديك الكثير من الأشياء لتتعلمها قبل أن يتم تعيينك في منصب متوسط أو أعلى. كل هذا يتوقف على لك. حتى لو كنت مطورًا أندرويد متوسطًا أو كبيرًا ، فهناك دائمًا أشياء جديدة يجب تعلمها وتحسين مهاراتك. عندما تعمل في مجال التكنولوجيا ، يكون التعلم التزامًا مدى الحياة!
ليست هناك تعليقات:
إرسال تعليق