2018/11/13

هل كل وظائف ال IT تحتاج مهارة برمجية (الاجابة هنا 🤔)

في احد الموتمرات قابلت مجموعة من الشباب حديث التخرج او اقترب علي التخرج وكانوا في حيرة كبيرة لتحديد المجال المناسب لهم في العمل وايضا كانت لديهم تساؤلات عن احتياجات سوق العمل الفعلية ومدي جدوي المواد التي يدرسونها وهكذا. حتي ان كان بعضهم يظن انه طالما لا يملك مهارة كتابة الاكواد بصورة ماهرة انه لن يعمل بمجال ال IT.
ففي هذا المقال سوف اوضح بعض المجالات المختلفة في ال IT من واقع خبرتي ومعلوماتي الشخصية


محلل الاعمال (Business Analyst)


وهو الشخص الذي يقوم بالتواصل مع العميل وتحليل متطلباته ومتطلبات النظام الذي يحتاجه وكتابة هذه المتطلبات بشكل مناسب. ثم بعد تنفيذها يقوم بتسليمها للعميل وتدريبه عليها. في فرق ال Agile يطلق على هذا الشخص Product Owner
لا تتطلب قدرة على كتابة الاكواد.

محلل النظم (System Analyst)


هذا الشخص هو الذي يقوم بتصميم النظام تصميم فني بمعني انه يقوم باستلام الطلبات ثم يقوم برسم شكل قاعدة البيانات ERD وايضا يقوم بتصميم ال Components المختلفة في النظام بدون تطبيقها وبعد ذلك يسلمها للمبرمجين لتنفيذها او بمعنى اخر انه يقوم بعمل System Design.
تتطلب خبرة عالية بهندسة البرمجيات وبالطبع كتابة الاكواد 

مهندسين البرمجيات


وهذا هو الشخص المسؤول عن كتابة الاكواد البرمجية وتنفيذ التصميم وقد تنقسم هذه الوظيفة الي

Frontend developer


وهو المبرمج المسؤول عن ال User interface ويكون عمله علي برمجة واجهات النظام فقط وجعلها سهلة وفعالة للمستخدمين ويكون معظم عمله علي لغة مثل JavaScript وايضا قد يستخدم framework خاص بال UI مثل Angular او Vue او اي Framework اخر.


Backend developer


وهو المسؤول عن ال Business logic وتنفيذ مهام النظام الرئيسية وايضا التواصل مع قاعدة البيانات وحفظ البيانات في قاعدة البيانات والإستعلام عنها وهكذا وقد يستخدم لغات مثل C# او Java او Framework مثل Node.js او اي لغة اخرى

Fullstack developer



وهذا الشخص يكون له من المهارات ما يؤهله لان يكون Frontend and backend وبالتالي يقوم بالدورين معا.


وقد يختلف المسمي باختلاف الTechnology مثلا
.Net web developer
Php developer
Xamarin developer
Android developer
......الخ
وبطبيعة الحال لابد ان تكون مهارة التكويد للمبرمجين اعلى ما يمكن

مصمم الواجهات Ui designer


هو الشخص المسؤول عن تصميم الواجهات واختيار الالوان وجعل شكل التصميم رائع ويستخدم ادوات التصميم مثل ادوات Adobe.
يحتاج مهارة تكويد متوسطة

مهندس ال Testing او Quality Control


هو الشخص الذي يقوم باختبار النظام بعد تطويره من قبل المبرمجين والتأكد من ان النظام يقوم بمهامه بفعالية وهنا قد تكون عملية الاختبار تتم بشكل يدوي بمعني ان الTester يقوم بالعمل علي النظام كانه مستخدم ويتاكد من جودته.
او ان تتم بشكل Automated عن طريق ان الTester يقوم باستخدام ادوات تساعده علي كتابة اكواد برمجية تختبر النظام.
يحتاج مهارة تكويد من متوسطة اذا كان الTest يدوي الى فوق متوسطة لو كان Test Automation

Quality Assurance


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

مهندس ال Devops


اذا كان مصطلح Devops جديد عليك يمكنك مراجعة مقالي السابق من هنا.
هذا الشخص يكون هو المسؤول عن تجهيز البيئة الخاصة بالادوات التي يعمل عليها فريق البرمجيات والتحليل وعمل الاعدادات اللازمة وايضا عمل الاعدادات اللازمة للاصدارات المختلفة من الانظمة التي تطورها الشركة لتكون جاهزة للتنزيل عند العملاء
فمثلا اذا كانت الشركة تعمل علي ال TFS وهذا هو عباره عن Server لادارة عملية تطوير البرمجيات ، هنا يكون دور مهندس الDevops عمل تنصيب لل TFS وعمل اعداداته وصلاحيات المستخدمين وعمل اعدادات الSource control واعدادات ال Build واعدادات ال Releases وهكذا.
يحتاج مهارة تكويد متوسطة

الدعم الفني (Technical Support)


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

مدير قواعد البيانات Database Admin


هو الشخص المسؤول عن ادارة قاعدة البيانات وصيانتها والتأكد من أدائها وتحسينه وايضا اخذ نسخ احتياطية والتأكد من سلامتها
يحتاج مهارة تكويد متوسطة

مهندس Network 


هو الشخص المسؤول عن عمل الشبكات داخل الشركة ومتابعتها والتأكد من فعالياتها
يحتاج مهارة تكويد منخفضة

System Admin


وهو الشخص المسؤول عن ال Servers و ال PCs و ادارتها وامنها وصيانتها.
يحتاج مهارة تكويد منخفضة

مهندس Machine Learning 


اذا كنت تريد مقدمة عن ال Machine learning يمكنك قراءة مقالي السابق من هنا
هذا الشخص هو المسؤول عن بناء النماذج الخاصة بال Machine learning حيث ان علم ال Machine learning تختلف تفاصيل دراستة عن ال Software development ولذلك تكون هناك حاجة لشخص مسؤول عن ذلك وفي الحقيقة هذه من اكثر الوظائف  التي تقول دراسات كثيرة انها ستكون الاعلي طلبا خلال الاعوام القادمة.
يحتاج مهارة تكويد عالية

متخصص الBusiness Intellegence


في بعض الاماكن الكبيرة قد يكون هناك النظام الذي يعمل عليه الموظفين بشكل يومي وايضا نظام اخر مهمته امداد الادارة العليا بتقارير و رسومات بيانية تساعدهم في اتخاذ القرار هنا ياتي دور هذا الشخص الذي يكون مسؤول عن تطوير هذا النظام وقد يستخم انظمة مثل SQL SERVER Analysis Service,Tablue,Power BI....etc
يحتاج مهارة تكويد متوسطة الى عالية حسب طبيعة وظيفته داخل المؤسسة

Data analyst


في بعض الاماكن قد يكون هناك نظام او اكثر تعمل عليه المؤسسة ومع تعدد الانظمة واحتياج الادارة الي تقارير معينة او تحليلات معينة لا يستطيع المستخدم العادي الوصول لها من خلال الانظمة المتاحة لديه ، تظهر هنا اهمية هذا الشخص الذي يقوم بجمع البيانات وعمل تحليلات جاهزة وتقارير يستطيع الموظف العادي استخدامها
 يحتاج مهارة تكويد متوسطة

كما لاحظنا مما سبق لا تحتاج كل الوظائف الى مهارات تكويد عالية فبالطبع كلما كانت قدرتك على كتابة الاكواد عالية كلما كانت حياتك اسهل لانك ستستطيع عمل Automation لاعمالك اليومية بسهولة ولكن في بعض الوظائف قد لا تكون ضرورية

هذه بطبيعة الحال ليست كل الوظائف المتاحة في مجال ال IT ولكن هذه من الاكثر شيوعا.

واود التنويه الى ان في معظم الاحيان يقوم شخص واحد باكثر من وظيفة فمثلا قد يقوم المبرمجون ايضا بوظيفة محلل النظم وقد يقوم ال Tester بوظيفة ال Quality Assurance وقد تشمل وظيفة ال Data Analyst اعمال ال Business Intellegence وقد يقوم ال System Admin باعمال ال Network , وادارة قواعد البيانات...... الخ


ليست هناك تعليقات:

مقدمة عن الDevOps

في هذا المقال سوف اتحدث عن مقدمة بسيطة عن ال DevOps ولماذا لابد ان تهتم فرق تطوير البرمجيات به وما هي النتائج المترتبة عن استخدام اساليبه ...