مقالات حسن عارف عبد الرحمن

04/07/2010 20:09

خبرة “العمل”

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

بل على العكس، قد يكون الحصول على “وظيفة” قاتلا للخبرة و مضرا (ان لم نقل مفسدا) لقدراتك البرمجية (و لصحتك العقلية ايضا).

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

هل يمكن ان تحصل على هذه الخبرة في العمل؟ كلا!

ماللذي تحصل عليه في العمل؟ الشركات عادة تفضل ان تقوم بتنظيم العمل على طريقة “الاحوط”، اي ستجد ان هناك العديد من الـ processes العقيمة اللتي وضعها المدير او المدراء من اجل “تقييد” حركة المبرمجين و احكام “السيطرة” على النشاطات البرمجية اللتي يقوم بها الموظفين.

حين تبدأ العمل، خصوصا اذا كنت حديث التخرج، سيضعونك في خانة الـ junior developer، بمعنى انهم يعتبرون قدراتك و خبرتك “محدودة” و لهذا سيوكلون اليك مهام “بسيطة”، على قدك يعني، و لا تتوقع انك ستشارك في تطوير برامج حقيقية! هل تعتقد انهم يثقون بك لدرجة ان يسلموك جزء مهم من المشروع بهذا الشكل؟

و حتى لو “ترقيت” بعد ثلاث او اربع سنين مثلا و اصبحت senior او intermediate، فلن تكون على درجة عالية من التحكم: لست انت من يتخذ القرارات بخصوص تطوير البرنامج، و لا تستطيع تصميم اي شيء فيه، بل هناك شخص اخر يسمى product manager هو اللذي يحدد لك هذه الاشياء، و انت ما عليك سوى “التنفيذ”.

و الانكى من كل هذا انك على الاغلب ستقتنع في اللاوعي ان هذه هي الطريقة “الصحيحة” لتطوير البرامج!

فالعمل في الوظيفة يفسد العقل من عدة نواحي:

  • باجبارك على القيام باعمل مملة بسبب سياسات الشركة العقيمة
  • تقييد حركتك و بالتالي عدم اكتسابك لخبرة برمجية جيدة
  • اقتناعك بشكل غير مباشر ان السياسات العقيمة هذه طريقة صحيحة لادارة المشاريع
  • اقتناعك انك تحتاج الى product manager لكي يخبرك اللذي عليك فعله

المحصلة النهائية هي قتل روح الابداع فيك و تحويلك من شخص فنان يهوى عمله … الى مجرد موظف عادي مثل غيره

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

Comments
blog comments powered by Disqus