هل قابلك هذا السؤال في المقابلة الشخصية "Where you see yourself in five years" ، عندما يسألنى أحدهم هذا السؤال استرجع في مخيلتي مشهد من فيلم a certain Twisted Sister و الذى يسأل يقول فيه المدرس للطالب : what do you wanna do with your life .
أكيد الإجابة : بدك تعيش حياتك (I wanna rock)، طبيعي جدا . ومن نوعيه هذا السؤال سؤال "what's your greatest weakness" .
على الرغم من ذلك أعتقد أنها من الأسئلة الجدية التى يجب أن تعيرها اهتمامك ، ليس من أجل المقابلة الشخصية ، و لكن لمصلحتك الشخصية .
فسؤال "Where you see yourself in five years" هو من نوعيه الأسئلة التى تطلق عنان لسان المتقدم للوظيفة ، و معظم الناس يحضر مجموعة ردود جاهزة لهذا السؤال .و لكن هناك جوانب أعمق لهذا السؤال : ما هو مسارك المستقبلى في مجال البرمجة ؟
طبعا ، نحن في هذا المجال لأننا نحبه ، و لكن هل ستوك جالسا أمام الكمبيوتر و عمرك 50 عام؟ و اذا وصلت 60 ؟ ما هو أفضل دخل ممكن للمبرمج الذى يطمح أن يكون … مبرمج ؟
ماذا لو أخبرتك أن هناك ثمان مستويات من المبرمجين .
8-Dead Programmer – المبرمج الميت
و هو أعلى المراتب ،فقد نجت أكوادك بعد موتك . و أنت الآن جزء من التاريخ الدائم للبرمجة .و بقية المبرمجين يعكفون على دراسة اعمالك و كتاباتك . قد تكون حصلت على بعض الجوائز , أو كتبت بعض الأوراق المؤثرة ، أو اخترعت واحدة أو أكثر من التقنيات التى غيرت مسار البرمجة الذى نعرفه .و بالبطبع ليس لديك صفحة واحدة عنك في ويكيبيديا ، و لكن العديد من المواقع التى تدرس حياتك و أعمالك .
القليل جدا من المبرمجين استطاعوا تحقيق هذا خلال حياتهم .
أمثلة : Dijkstra, Knuth, Kay
7- Successful Programmer – المبرمج الناجح
هم المبرمجين الذين استطاعوا تحقيق الشهرة وادارة أعمال تجارية ضخمة قائمة على أكوادهم . و هم الذين أعطوا انفسهم الحرية ، حرية أن يقرروا لأنفسهم ماذا يريدون أن يحققوا في هذة الحياة.
هذا المستوي من المبرمجين يجب ان يطمح اليه أى مبرمج ، و الوصول الى هذا المستوي يعتمد أكثر على المهارات العمل و المهارات التجارية أكثر من مهارات البرمجة .
أمثلة : Gates, Carmack, DHH
6- Famous Programmer – المبرمج المشهور
على الأرجح تعمل في تقنية كبيرة و عالمية و سمع بك المبرمجون الآخرون . و هذا مكان جيد لك كمبرمج ، بشرط أن يكون لك وظيفة ثابتة .
و لكن الشهرة لا تعني أنك يمكنك تحقيق مكاسب مادية منها ، فالشهرة جيدة لكن النجاح (Successful Programmer) أفضل .
5- Working Programmer – المبرمج العامل
لديك وظيفة ناجحة كمطور برامج (software developer)، مهاراتك دائما مطلوبة ، و لا تحتاج للبحث طويلا أو تجد مشقة عندما تبحث عن عمل ، كما تحظى باحترام زملائك من المبرمجين ، و تركت بصمتك في كل شركة عملت بها .
لكن أين ستنطلق من هذة النقطة ؟
4- Average Programmer – المبرمج المتوسط
في هذا المستوي أنت جيد كفاية و لكن تدرك أنك لست مبرمج عظيم ،و احتمال كبير أن تبقى كذلك. فالموهبة غالبا عليها عامل صغير في النجاح ، و يمكن أن تكون ناجحا جدا إذا امتلك مهارات العمل و التواصل مع الناس.
إذا كنت مكن هذا النوع من المبرمجين ، و كنت تخطط لكسب عيشك ، فيجب عليك تنمية موهبتك ، قد تكون موهبتك خارج مجال كتابة الأكواد . فقط أكتشف مجال موهبتك و دوووووووووس .
3-Amateur Programmer - المبرمج الهاوي
المبرمج الهاوي يحب كتابة الأكواد، و قد يكون طالب واعد أو مترب أو حتى مشارك في مشروع برامج مفتوحة ، أو يقوم بعمل تطبيقات للمتعة فقط في اوقات فراغه .
من الجيد أن تكون مبرمج هاوي ، و من هذا المستوي ممكن أن تنطلق الى المبرمج العامل .
2- Unknown Programmer - المبرمج المجهول
على الأرجح تعمل في أي شركة كبري ، و تعمل على المكونات الداخلية ، انها مجرد وظيفة و ليست حياة متكاملة.
1- Bad Programmer - المبرمج السيئ
هم اؤلئك الذين دخلوا مجال البرمجمة بشكل او باخر بدون المهارات الكافبة .و كل ما لمسوه تحول الى ألم و معاناة كبير للذين تتبعوا برامجهم .
هؤلاء ليس لهم علاقة بكتابة الكود بأي حال من الأحوال ، على الرغم من أنهم يكتبوه !!
هذه المستويات ليست جادة تماما ، فليس كل المبرمجين يطمحون لنفس الأشياء في حياتهم المهنية . لكنها تسلط الضوء على ما الذى يمكن أن يحققه المبرمج في عشر سنين او حتى عشرين او ثلاثين سنة و ربما طوال حياته .
فأي المبرمجين تطمح أن تكون ، باختصار what do you wanna do with your life
** هذه المقالة مترجمة عن مدونةCoding Horror