اگر کدنویسی تنها یک علم یا دانش بود، آنگاه به شما میگفتیم همه طراحان تقریبا با یکدیگر برابر هستند. همین موضوع در ارتباط با هنر نیز صدق میکند. اما واقعیت این است که هیچ دو طراحی یکسان فکر نمیکنند و زمانی که روی مشکلی متمرکز شده و در حال کدنویسی هستند کدهای آنها یکسان با دیگری نخواهد بود. افراد دارای تفکرات متفاوت، شناخت متفاوت و خلاقیتهای ذهنی متفاوت هستند. در شرایطی که برخی از برنامهنویسان همواره در فکر نوشتن، تمام کردن و تحویل یک پروژه هستند، در مقابل تعداد دیگری از آنها تنها زمانی به سراغ ساخت یک برنامه یا حل مشکلی میروند که به لحاظ ذهنی و روحی آمادگی انجام اینکار را داشته باشند.
استیو مککانل، کارشناس برجسته مهندسی نرمافزار سالها قبل پژوهشی انجام داده و مشاهده کرده است که بهرهوری و کارایی برنامهنویسان با یکدیگر تفاوتهای بسیاری دارد. این پژوهش نشان داد که نسبت زمان کدنویسی اولیه میان بهترین و بدترین برنامهنویس، یک نسبت تقریبا 20 به 1 است. این کارشناس نرمافزار همچنین کشف کرده است که هیچ ارتباطی میان تجربه برنامهنویسی و کیفیت کدها یا بهرهوری یک برنامهنویس وجود ندارد.
در حالی که این پژوهش دارای یکسری ایرادات بود، اما نشان داد میان کدهای یک برنامهنویس خوب و عادی تفاوتهای فاحشی وجود دارد. شرکت Arkenea که در زمینه جذب طراحانی با بیش از 5 سال سابقه کار اجرایی به فعالیت اشتغال دارند در این خصوص گفته است: «ما به سختی میتوانیم فرق میان یک برنامهنویس خوب و عالی را تشخیص دهیم. این چالشی است که بسیاری از صنایع و شرکتهای نرمافزاری با آن روبرو هستند. بر همین اساس تعدادی از شرکتها به سراغ بهکارگیری فیلترهایی رفتهاند تا از طریق آزمایشهای مختلف بتوانند برنامهنویسان عالی را شناسایی کنند، اما شما میتوانید از طریق انجام آزمایشهایی یک هنرمند واقعی را شناسایی کنید؟ پاسخ منفی است.»
برنامهنویس عادی، خوب و عالی
نوشتن کد خوب به تنهایی نمیتواند یک عامل تعیین کننده باشد تا به صراحت اعلام کنید برنامهنویس جذب شده یک گنج واقعی است. معیارهای دیگری به غیر از کیفیت کدنویسی وجود دارد که باعث میشود ما بتوانیم برنامهنویسان عالی را از خوب تفکیک کنیم.
برنامهنویس عادی
هر شخصی که قادر باشد برای حل مشکلی کدنویسی کرده و در نهایت برنامه او کار کند یک برنامهنویس است.
برنامهنویس خوب
در مقابل یک برنامهنویس خوب، فردی است که برای ساخت، نگهداری، بهینهسازی کدها مطابق با نیازهای مشتری، شناسایی اشکالهای برنامه و تحویل برنامه در زمان مقرر با دیگران همکاری میکند.
برنامهنویس عالی
یک برنامهنویس عالی، فردی است که الگوریتمها و ساختارها را درک میکند، قادر است سامانههای بزرگ خودمختار را با کمترین نظارت ممکن ایجاد کرده، الگوریتمهای جدیدی ابداع میکند، سامانههایی که در حال کار کردن هستند را بدون آنکه مشکلی در روند کاری آنها به وجود آید ریفکتور میکند، به شکل موثر و محتاطانهای با کارکنان غیر فنی در خصوص مسائل فنی و غیر فنی به تعامل میپردازد، در برخورد با دیگران بر رفتار خود کنترل دارد و در نهایت قادر است مهارتهای خود را به دیگران انتقال دهد.
برنامهنویس عالی، کدنویسی نمیکند!
اما مشکلی در این زمینه وجود دارد. فردی که چنین مهارتهای سطح بالایی داشته باشد، به معنای واقعی کلمه حرفهای است و در اغلب موارد کدنویسی نمیکند. این شخص بهطور استراتژیک با شرکتها و تیمهای توسعه مختلف کار میکند، دستورها و خطمشیهایی که برای ساخت محصولات نیاز است را ارائه میکند. چنین افرادی را شما اغلب در پستهای مدیر ارشد فنی (CTO) مشاهده میکنید.
در نهایت
تمایل و اشتیاق به کار کردن روی یک مسئله تا زمانی که راهحلی برای آن کشف شود (این موضوع متفاوت از متوقف شدن روی یک مشکل است) و همچنین ارائه یک راهکار خلاقانه یک مهارت بسیار مهم است که تنها برنامهنویسان ممتاز این ویژگی را دارند. بنابراین، پرسش مهمی که وجود دارد این است که چگونه میتوانیم برنامهنویسان ممتاز را شناسایی کنیم؟ در جواب باید بگوییم او فردی است که میتواند در سریعترین زمان ریشه مشکلات را شناسایی کند. ممکن است به سرعت نتواند راهحلی پیشنهاد کند ولی در مقابل مسیری را به شما نشان میدهد تا در سریعترین زمان ممکن به موثرترین راهحل دست پیدا کنید.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟