چطور بفهمیم در چه سطحی از برنامه نویسی قرار داریم؟

چطور بفهمیم در چه سطحی از برنامه نویسی قرار داریم؟

۰۰/۵/۳۰ شنبه


حتما در آگهی‌های استخدام به کلماتی مثل «برنامه‌نویس ارشد یا senior»، «برنامه‌نویس مبتدی یا junior» و «برنامه‌نویس میان رده یا Mid-level» برخورده اید. حتی شاید حین نوشتن رزومه برای لحظه‌ای مکث کرده باشید و به این فکر کنید که خودتان در چه سطحی از برنامه‌نویسی هستید. در این پست از بلاگ پلازیکا در مورد سطوح مختلف برنامه‌نویسی صحبت خواهیم کرد. 

برخلاف نظر اکثر افراد، سطح برنامه‌نویسی فقط با سابقه کاری برنامه‌نویس مشخص نمی‌شود. برنامه نویسانی هستند که چندین سال است به برنامه‌نویسی مشغولند اما هنوز به سطح ارشد نرسیده اند. از طرفی برنامه نویسان کم سن و سالی هم وجود دارند که یک برنامه‌نویس ارشد حساب می‌شوند. بیایید واقع گرا باشیم. تجربه به معنای تخصص است اما تجربه و تخصص هیچ کدام برای تعیین سطح یک برنامه‌نویس کافی نیستند. برای تشخیص سطح ارشدی یک برنامه‌نویس به بررسی فاکتورهای بیشتری مثل مهارت ها، طرز فکر و سبک برنامه‌نویسی نیاز داریم. همچنین باید بدانیم برنامه‌نویس در کدام مراحل چرخه توسعه نرم‌افزار می‌تواند به پیشرفت پروژه کمک کند. 


برنامه‌نویس مبتدی یا جونیور

برنامه‌نویس جونیور یا مبتدی کسی است که بیشتر از دو سال به انجام تمرین‌های برنامه‌نویسی نپرداخته است. در اکثر موارد این برنامه نویسان اولین یا دومین تجربه کاریشان را پشت سر گذاشته‌اند و یا به تازگی از دانشگاه فارغ التحصیل شده اند. آن‌ها دانش اولیه‌ای در برخی از زبان‌های برنامه نویسی، فریمورک ها، ابزار و روش‌ها دارند. برنامه نویسان مبتدی اغلب چیز زیادی در مورد نحوه کار شرکتی که در آن کار می‌کنند نمی دانند و از جنبه تجاری نرم‌افزار سر رشته‌ای ندارند. نمی‌توانند پروژه‌ای را به تنهایی انجام دهند و یا پیشنهادات مبتکرانه و موثری برای پیشبرد آن ارائه دهند. آن‌ها نیاز به کسی دارند که راه درست را به آن‌ها نشان دهد، از آنان حمایت کند و به سوالاتشان پاسخ دهد. 

نمیتوانید از یک برنامه‌نویس جونیور انتظار یک کد با کیفیت داشته باشید. هدف آن‌ها از برنامه‌نویسی نوشتن کدی است که کار کند، بنابراین احتمالا قطعه کدی که تحویل می‌دهند گیج کننده، پر از تکرار و شلخته باشد. آن‌ها کوتاه مدت فکر می‌کنند و هنوز به اهمیت یک کد مرتب و تمیز در طولانی مدت پی نبرده اند. 

برنامه نویسان جونیور مهارت‌های برنامه‌نویسی محدودی دارند اما با تجربه کسب کردن و انتخاب مسیر درست به راحتی جزئیات فنی که به بالا بردن سطح کیفیت مهارت‌هایشان کمک می‌کند را یاد می‌گیرند. آن‌ها نیازمند حمایت دیگر اعضای تیم هستند. اعضای تیم باید برای آموزش به آن‌ها وقت بگذارند و بدانند که در آینده زمانی که برای آموزش به برنامه نویسان مبتدی صرف می‌کنند، جبران خواهد شد. 


برنامه‌نویس ارشد یا سینیور

برنامه‌نویس ارشد کسی است که می‌تواند یک اپلیکیشن را به تنهایی و از صفر توسعه دهد. برنامه نویسان ارشد در مورد الگوهای طراحی، معماری، تست‌های خودکار، عملکرد، امنیت، دیباگ کردن، برطرف کردن باگ‌ها و تایید اعتبار مهارت و دانش خوبی دارند. این به این معنا نیست که آن‌ها هیچ سوالی نداشته باشند و یا هیچوقت به مشکلی برنخورند؛ بلکه برنامه نویسان ارشد به خوبی می‌توانند مشکلات را شناسایی کنند و از منبع درستی به پاسخ آن دست یابند. به همین دلیل است که اغلب وظایف سخت و پیچیده که به دانش جامعی نیاز دارد، به آن‌ها سپرده می‌شود. برنامه نویسان ارشد درک کرده‌اند که تکنولوژی هر روز در حال پیشرفت است؛ بنابراین هیچ گاه از مطالعه، یادگیری و ارتقای مهارت‌هایشان دست نمی‌کشند. 

کدهایی که برنامه نویسان ارشد تحویل می‌دهند، ساده و واضح است. به طوری که سایر برنامه نویسان مبتدی و میان رده نیز بتوانند آن را بخوانند و متوجه شوند. آن‌ها می‌توانند کدها و برنامه‌های پیچیده را به کدهای ساده‌تر بشکنند. با برنامه‌های ساده و واضحی که برنامه نویسان ارشد می‌نویسند، هزینه‌های رفع اشکال و نگهداری از آن‌ها کاهش می‌یابد. همچنین راحت‌تر می‌توان این کدها را تست کرد، به پلتفرم دیگری منتقل کرد، بهبود بخشید و…

همچون کامپیوترها، برنامه نویسان ارشد ارتباط خوبی نیز با انسان‌ها دارند. برای تبدیل شدن به یک برنامه‌نویس ارشد باید به خوبی مهارت‌های ارتباط با مشتریان را بلد باشید و بتوانید فرایند کسب و کار را با برنامه‌نویسی پیاده‌سازی کنید. همچنین باید بتوانید ارتباط موثری با سایر افراد تیم داشته باشید تا هم بتوانید تقسیم وظایف را به خوبی بین افراد انجام دهید و هم بتوانید کار دیگر برنامه نویسان مبتدی و میان رده را بررسی کنید و به پیشرفت آنان کمک کنید. 


برنامه نویسان میان رده یا میدلول

برنامه‌نویس میان رده چیزی بین برنامه‌نویس مبتدی و برنامه‌نویس ارشد است. ساده‌ترین راه برای تعریف مشخصات یک برنامه‌نویس میان رده، بیان تفاوت‌های آن با برنامه نویسان مبتدی و ارشد است. برخلاف برنامه نویسان مبتدی، برنامه نویسان میان رده برای یافتن راه حل دست به ابتکار می‌زنند. آن‌ها با بیشتر یا همه مراحل توسعه نرم‌افزار آشنایی دارند و به خوبی می‌توانند در مراحل گوناگون به پیشبرد پروژه کمک کنند. آن‌ها نیازی به نظارت مستقیم ندارند و به طور مستقل می‌توانند کارشان را پیش ببرند. با این حال ممکن است گاهی لازم داشته باشند با یک برنامه‌نویس با تجربه‌تر مشورت کنند. برنامه‌نویس میان رده قبلا اشتباهات زیادی مرتکب شده، شکست خورده و از آن‌ها درس گرفته است. بنابراین میداند چطور دیگر مرتکب این اشتباهات نشود. 

برنامه نویسان میان رده نیز تا حد زیادی می‌توانند یک اپلیکیشن را به تنهایی توسعه دهند. کاری که برنامه نویسان مبتدی از پس آن بر نمی‌آیند. تفاوت آن‌ها با برنامه نویسان ارشد در شیوه کدنویسی آن‌هاست. کدهایی که یک برنامه‌نویس میان رده می‌نویسد احتمالا به اندازه کدهای یک برنامه‌نویس ارشد خوانا نباشد اما مسلما از کدهای یک برنامه‌نویس مبتدی بهتر است. برنامه نویسان میان رده به تنهایی می‌توانند از پس کارهای زیادی بر بیایند اما برنامه نویسان ارشد کسانی هستند که کارهایی که سایرین قادر به انجامشان نیستند را برعهده می‌گیرند. 

تفاوت دیگری که بین برنامه نویسان میان رده و ارشد وجود دارد، طرز تفکر آن‌هاست. برنامه نویسان ارشد دید کلی نسبت به پروژه دارند و آینده نگرند. در حالیکه اغلب برنامه نویسان میان رده نمیتوانند شمای کلی پروژه را در تصمیم گیری‌ها در نظر بگیرند

شما در چه سطحی از برنامه‌نویسی قرار دارید؟ مبتدی هستید یا میان رده یا ارشد؟ به نظر شما برای تبدیل شدن به یک برنامه‌نویس ارشد باید چه مهارت‌هایی را یاد بگیریم؟

    


برای کامنت گذاشتن، وارد حساب کاربری خود شوید
نظرات بیشتر

در حال انجام عملیات

-1