مبرمج

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

البرمجه تكون بكتابة تعليمات او اوامر لغة برمجه مثل :السى شارب او الچافا او لغات برمجة اخرى و عن طريق استخدام برنامج معين اسمه المُجمع(Compiler) يتم فيه كتابة الكود و تحويله لبرنامج كامل يعمل وظايف معينه. ويوجد لغة من لغات البرمجه تسمح باستخدام اساليب مختلفه لعمل البرامج بدلا من الطرق التقليديه العاديه المستخدمه لكتابة الاوامر و الاكواد.
وهناك من يعتبر الكونتيسه و عالمة الرياضيات الانجليزيه آدا لوفلايس اول مبرمجه فى التاريخ و بسبب انها كتبت اول محرك تحليلى فى التاريخ اللى كان من المفترض عالم قبلها يقوم باكماله.

طبيعة العمل 
مبرمجو الكومبيوتر يقومون بالكتابة,و الفحص و التدقيق و التنقيح و التصحيح و يقومون بصيانه للاوامر و التعليمات اللى تكون البرامج فى الاخر . و الاوامر هذه هيا اللىلازمان ينفذها الكومبيوتر لكي ينتج الشئ المرجو منه بعد تحويلها الى لغة الصفر والواحد (لغة الكمبيوتر الاصلية اللى يفهمهاالحاسب). ابتكارات فنيه مختلفه و تكنولوچيات معقده ظهرت و عُملت لغات برمجه عالية المستوى كل ده غير معنى و دور المبرمج حاليا. اسماء الوظائف يختلف من مكان لاخلا و يعتمد على المؤسسه او المنظمه اللى يعمل فيها المبرمج.

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

المبرمجين يكتبون البرامج حسب المواصفات اللى يحددها قبلا المبرمجين الاعلى ومحللي النظم (هنا مقصود اعلى فى الوظيفه و اكثر فى الخبره) . بعد ان تكتمل علميلة التصميم، يتبقى مهمة المبرمج ان يحول التصميم هذه لسلسله منطقيه من التعليمات اللى تمكن الكمبيوتر لكي يفهمها. المبرمج يكتب التعليمات هذه باستخدام واحده من لغات البرمجه. وتستخدم لغات البرمجه المختلفه على حسب الغرض من البرنامج, فيه لغات تستخدم للحاجات التجاريه مثل لغة الكوبول (COBOL) و لغات تستخدم للحاجات العلميه و الهندسيه مثلالفورتران (FORTRAN) و لغات تستخدم لتعليم الناس البرمجة مثلالباسكال (Pascal) و البيسك (BASIC) و انواع اخرى كثيرة. المبرمجين عامة يكونون على علم باكتر من لغة برمجه واحده وبسبب تشابه كتير من لغات البرمجة تعلم لغة برمجه جديده يكون اسهل. عمليا المبرمجين يسمون على حسب لغة البرمجه اللى يعملون بها: مبرمج چافا او مبرمج سى بلس بلس, و على حسب نوع الشئ اللى يعملوه مثل مبرمج قواعد بيانات او مبرمج ويب.

لما يحصل تغييرات فى الكود المصدرى للبرنامج يتم اعلام كل المبرمجين اللى  يعملون فى البرنامج و ده يتم عن طريق كتابة تعليقات فى الكود و اللى يجعل المبرمجين يفهمون التعديلات اللى حصلت بسهوله. المبرمجين دائما يستخدمون مكاتب برمجيه فيها كود اساسى و يعدلون فيه على حسب الحاجه, الطريقه هذه تجعل البرمجيات موثوق فيها و ادائها ثابت و تزود انتاجية المبرمج لانها تلغى الحاجه لعمل خطوات روتينيه  مش ضرورية

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

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

كومبيوتر
كمبيوتر