یک توسعه دهنده ساده
برنامه نویس بودن به روش گلادیاتور
حتما خیلی از شما فیلم گلادیاتور به کارگردانی ریدلی اسکات و بازی فوق العاده راسل کرو رو تماشا کرده اید. داستان ژنرالی که ارتش روم رو رهبری می کند و با غلبه بر بربرها روم رو نجات می دهد. اما در ادامه داستان هایی پیش میاد که این ژنرال به بردگی گرفته می شود و بعد توسط یک تاجر برده به پراکسیمو که کارش تعلیم گلادیاتور هست فروخته میشه.
در سکانسی از فیلم، پراکسیمو با ماکسیموس درباره مبارزه در کولوسیوم صحبت می کند.
به من گوش کن. از من یاد بگیر. من بهترین نبودم چون سریع می کشتم. من بهترین بودم چون جمعیت من رو دوست داشت. بر جمعیت پیروز شو و آزادیت رو پیروز خواهی شد.
چیزی که پراکسیمو در این سکانس سعی داره به گلادیاتورش یاد بده اینه که صرف کشتن نیست که تورو یک حرفه ای و متمایز از بقیه گلادیاتورها نشون میده. بلکه مهمه که تو چطور این کار رو انجام بدی، مهمه که جرات حضور در کولوسیوم رو داشته باشی و اونقدر به خودت و مهارت هات اعتماد داشته باشی که بتونی جلوی پنجاه هزار رومی که دارن حرکات شمشیرت رو تماشا می کنند مبارزه کنی. مهمه که ازت بخوان که قاتل رو بکشی و تو صبر کنی... اجازه بدی سکوت همه جا برقرار بشه و همه مشتاق دیدن تصمیم تو باشن... سکوتِ قبل از اینکه حمله کنی و شلوغی بعدش، مثل یه طوفان...مثل این میمونه که تو خودِ خدای طوفان باشی.
معمولا برنامه نویس ها شخصیت هایی درونگرا و متفکر دارند. اکثر برنامه نویس ها فقط به اینکه یه لیوان قهوه روی میزشون و یه هدفون توی گوششون باشه و یکسره تا شب فقط تمرکز کنند و کد بنویسند راضی هستند. این کاری هست که فکر می کنیم مارو تبدیل به یک حرفه ای می کنه. کد بنویسیم!
در حالی که برای اینکه بتونید یک برنامه نویس حرفه ای باشید همانطور که ماکسیموس یه مبارز حرفه ای بود، لازمه که فراتر از مهارت های برنامه نویسی رو بلد باشیم. لازمه که جرات فکر کردن به کولوسیوم ها یا همون شرکت های بزرگ رو داشته باشید، جاهایی که باید در مقابل حرفه ای ها کد بنویسید و بتونید از کدهایی که نوشتید یا تصمیماتی که در طراحی و معماری سیستم گرفتید دفاع کنید. مهمه که بتونید کاری کنید که تیم مشتاق شنیدن نظرات شما در پیاده سازی فلان معماری سیستم باشند. اینکه سرتون رو پایین بندازید و فقط کد بنویسید و هرچی که بهتون گفتند رو بگید باشه انجام میدم و دوباره هدفون رو روی گوشتون بزارید و مشغول به پیاده سازی یا مبارزه بشید هیچوقت از شما یه گلادیاتور که مقابل سزار خواهد جنگید نمی سازه. اینطوری هیچوقت آزادیتون رو بدست نمیارید!
باید بتونید فعل و انفعالات پیرامون خودتون رو درک کنید، یکی از مهمترین مهارت هایی که یک برنامه نویس برای حرفه ای شدن در مسیر شغلی اش لازم داره توانایی تعامل و مذاکره هست. باید بدونید که اکثر کارفرماها دنبال یه برنامه نویس که میتونه کد بنویسه نیستند، اونها دنبال کسی هستند که بتونه مشکلاتشون رو حل کنه و از شرکت و سازمانشون یک نسخه بهتر بسازه. و این شمایید که باید بهشون این اطمینان رو بدید که این توانایی رو دارید، باید بتونید مهارت خودتون رو عرضه و ارزش گذاری کنید و برای بدست آوردن موقعیت های بهتر بجنگید. باید بتونید که مدیرتون رو قانع کنید که شما می تونید از پس فلان کار و چالش سنگین بر بیاید. اینکه بهتون بگن که:"هی، فکر می کنی بتونی فلان ویژگی رو به سیستم قدیمی مون اضافه کنی؟" و تو بگی "نمی دونم، حالا امتحان می کنم ببینم میشه یا نه" از شما یک آدم حرفه ای متمایز با بقیه نمی سازه.
در عوض این شما باید باشید که به سمت اونها رفته و پیشنهاد اضافه کردن فلان ویژگی رو به سیستم بدید، بتونید ذهنشون رو با خودتون همراه کنید، اونها رو درباره ارزش افزوده ای که این ویژگی جدید به سیستم اضافه می کنه قانع کنید و مسئولیت پیاده سازیش رو عهده دار بشید، زمان بندی بدید و سر زمانی که گفتید بمونید و بتونید ازش دفاع کنید، هرچقدر هم داد بشنوید و تحت فشار قرار بگیرید نباید از زمانبندی حرفه ای که دادید کوتاه بیاید.
یادتون باشه که کارفرماها با افرادی که تکلیفت رو روشن میکنن و دقیقا بهت میگن که باید چیکار کنی تا به هدفت برسی بهتر کار می کنند تا کسی که تمام تلاشش رو می کنه، اما معلوم نیست می تونه کاری که قرار بوده تا پنج شنبه آخر وقت انجام بده رو بدون تاخیر تحویل بده یا نه!
متوجه نیاز مدیر یا کارفرما یا سازمان به خودتون باشید، و همیشه باید بتونید مهارت های لازم برای رفع این نیاز رو کسب کنید و در ازای این رفع نیاز منافع خودتون رو مطالبه کنید.
اگر پراکسیمو میخواد که به عنوان یک تعلیم دهنده گلادیاتور معروف بشه و شهرت و منفعت کسب کنه، شما ماکسیموس اش باشید. مهارت هاتون رو به رخ اش بکشید و ترسی نداشته باشید که در ازاش منافع خودتون رو هم مطرح کنید. باید بتونید برای حرکت شمشیرتون قیمت گذاری کنید و از این قیمت دفاع کنید.
در آخر میخوام یک کتاب رو که توی این مسیر می تونه خیلی کمک کننده باشه معرفی کنم.
مطلبی دیگر از این انتشارات
چگونه با پایتون ابرِ کلمات فارسی بسازیم؟
مطلبی دیگر از این انتشارات
ساخت فیلترهای جستجوی پیشرفته در لاراول
مطلبی دیگر از این انتشارات
8 کاری که باید پیش از شروع نوشتن یک نرمافزار موفق انجام بدهید