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

فرق سنیور و جونیور چیست؟فرق سنیور و جونیور چیست ؟ اگر شما در حوزه های مرتبط با برنامه نویسی فعالیت داشته باشید، قطعا کلماتی مثل سنیور و جونیور را شنیده و در آگهی های استخدامی این حوزه مشاهده کرده اید.قبلا در مدارس مختلف دانش آموزان را با نمره هایی بین 0 تا 20 مورد سنجش قرار می دادند اما آن نمرات امروزه با نمرات توصیفی مثل خوب، خیلی خوب، عالی، نیاز به تلاش و … جایگزین شده اند. امروزه به کمک همین نمرات توصیفی دانش آموزان را دسته بندی کرده و از این دسته بندی در انتخاب رشته آن ها استفاده می کنند.همین دسته بندی و سطح بندی در حوزه برنامه نویسی نیز وجود دارد که به کمک کلماتی مثل سنیور، جونیور و … تعیین می شوند.زمانی که یک شرکت در پلتفرم های مختلف آگهی استخدامی منتشر می کند، بنا به نیاز خود یکی از این کلمات را در آگهی خود ذکر می کنند.در این مقاله قصد داریم که در مورد سطح بندی های برنامه نویسی و تعیین سطح در این حوزه صحبت کنیم تا شما هنگام ورود به بازار کار بتوانید سطح خود را تشخیص داده و سردرگم نشوید.چند سطح در حوزه برنامه نویسی وجود دارد؟فرق سنیور و جونیور چیست ؟اکثر افراد در مورد سطح بندی برنامه نویس ها فقط کلمات جونیور، میدلول و سنیور را می شناسند و سطح کارآموزی را جزو سطح بندی به حساب نمی آورند.در حالی که به صورت کلی در حوزه برنامه نویسی چهار سطح داریم که به ترتیب از مبتدی به حرفه ای کارآموز، جونیور، میدلول و سنیور هستند.اگر بخواهیم مفهوم هر کدام از این چهار سطح را به طور مختصر بیان کنیم:1. کارآموز: کارآموز شخصی است که در هیچگونه نمونه کاری نداشته و اطلاعات دقیق و درستی از حوزه کاری خود (مثلا فرانت اند) ندارد. اطلاعات یک کارآموز در حد تئوری و آکادمیک است.2. جونیور: برنامه نویس جونیور چند گام از یک کارآموز جلوتر بوده و نمونه کارهایی را در حوزه فعالیت خود دارد. جونیور در یک شرکت برنامه نویسی در حال منتور شده وارد پروژه اصلی نمی شود.3. میدلول: برنامه نویس میدلول می تواند در فیلد کاری خود چندین برنامه نویس جونیور و کارآموز منتور کند و همچنین برنامه نویسی اصلی هر پروژه و سیستم در شرکت های برنامه نویسی، بر عهده برنامه نویس های میدلول است.4. سنیور: برنامه نویس های سنیور می توانند برنامه نویس های میدلول را منتور کرده و همچنین می توانید یک تیم برنامه نویسی و چندین میدلول را مدیریت، تسک بندی و سازماندهی کند.این تعاریف فقط چند تعریف کوتاه در حد شناخت این سطح ها هستند و در ادامه مقاله به طور مفصل در مورد آن ها صحبت خواهیم کرد.مدت زمان مطرح نیست!به جرئت می توان گفت یکی از سوالاتی که توسط افراد تازه وارد به این حوزه پرسیده می شود این است که “در مدت چند ماه یا چند سال می توان به فلان سطح رسید؟” یا “در چه مدت زمانی می توانم وارد بازار کار برنامه نویسی شوم؟”.اگر این سوالات ذهن شما را هم درگیر کرده اند، جالب است بدانید که مدت زمان در حوزه برنامه نویسی به هیچ وجه مطرح نیست. ممکن است یک شخص یکی از تکنولوژی های این حوزه مثل ری اکت، جاوا اسکریپت، پایتون و … را در مدت زمان 6 ماه در حد خیلی خوب و قابل قبول برای بازار کار یاد بگیرد اما شخص دیگر همان تکنولوژی را در مدت زمان 10 ماه هم نتواند در سطح قابل قبول یاد بگیرد!پس در نتیجه به هیچ وجه نمی توان در مورد مدت زمان یادگیری برنامه نویسی توسط یک شخص اظهار نظر کرد و هیچ مدت زمان ثابتی در این زمینه وجود ندارد.اما برای تشخیص مدت زمان یادگیری چند پارامتر و Hint وجود دارند که می توانند به شما کمک کنند تا بتوانید این مدت زمان را در مورد خودتان حدس بزنید. از این پارامتر ها می توان به منابعی که از آن ها برای یادگیری استفاده می کنید، روزانه چند ساعت را برای تمرین اختصاص می دهید، چه اندازه از داکیومنت ها و رفرنس های اصلی استفاده می کنید، چه اندازه در زمینه زبان انگلیسی اطلاعات دارید، چه اندازه در سرچ کردن مهارت دارید، پیش نیاز های لازم را در چه حدی یاد گرفتید و … اشاره کرد.برای حدس مدت زمان یادگیری یک شخص باید تمام این پارامتر ها تعیین شوند و بدون تعیین همچین پارامتر هایی به هیچ وجه نمی توان در مورد مدت زمان یادگیری صحبتی کرد.شما نیز سعی کنید همچین سوالاتی را از هیچ شخصی نپرسید؛ چون پرسیدن این سوالات شما را سطح پایین جلوه می دهند و شخصی که این سوالات را بپرسد در سطح کارآموز و جونیور است.پس تا همین قسمت از مقاله متوجه شدید که اگر دغدغه و سوال یک برنامه نویس این باید که “در چه مدت زمانی می توانم یاد بگیرم؟”، او در سطح کارآموز یا جونیور است.ثابت نبودن سطح هر برنامه نویسجالب است بدانید که حتی اگر یک سنیور باشید، به این دلیل نیست که همیشه و در هر تیمی یک سنیور هستید.ممکن است شما در یک شرکت یا تیم برنامه نویسی سنیور باشید اما در یک تیم یا شرکت دیگر به عنوان برنامه نویس میدلول استخدام شوید.پس این موضوع را نیز به یاد داشته باشید که نمی توانید همیشه سطح خود را ثابت نگه دارید و به سطح شما به تیم مورد نظر نیز بستگی داردتشخیص سطح یک برنامه نویس توسط کد نوشته شده توسط اوحوزه برنامه نویسی شبیه ریاضی یا فیزیک نیست که هر مسئله فقط و فقط یک جواب مطلق و ثابت داشته باشد. به عنوان مثال حاصل محاسبه 2 +2 + 3 برابر است با 7. در همه جای دنیا این موضوع یک امر ثابت است.اما اگر فقط 10 برنامه نویس بخواهند یک برنامه ای را پیاده سازی کنند، قطعا کد هیچ کدام از آن ها شبیه برنامه نویس دیگری نخواهد بود. چون برنامه نویسی یک حوزه ای است که کد ها و الگوریتم پیاده سازی شده توسط برنامه نویس فقط و فقط حاصل تخصص، تفکر و تحلیل او است.برای همین منظور از کد یک برنامه نویس نیز می توان سطح او را حدس زده و تشخیص داد. اما این تشخیص سطح توسط یک برنامه نویس مبتدی ممکن نیست و برنامه نویس های میدلول و سنیور می توانند از طریق کد یک برنامه نویس، سطح او را تشخیص دهند.ممکن است برایتان سوال باشد که چطور می شود با مشاهده کد های یک برنامه نویس سطح او را تشخیص داد!در حوزه برنامه نویسی یک مبحث بسیار مهمی به اسمClean Code یا همان کد نویسی مرتب. کد نویسی مرتب یکی از مهم ترین اصول برنامه نویسی است که برنامه نویس های حرفه ای نکات و قواعد آن را رعایت می کنند اما برنامه نویس های مبتدی (کارآموز و جونیور) به اصول کد مرتب توجهی نمی کنند و برای آن ها مهم فقط این است که کدشان کار کند.اگر بخواهیم کد مرتب را در یک جمله تعریف کنیم، می توان گفت که “کد مرتب کدی است که به راحتی و با یک نگاه به آن بتوان عملکرد آن را متوجه شد.”به همین راحتی یک برنامه نویس حرفه ای می تواند از طریق مشاهده کد، سطح نویسنده آن کد را تشخیص دهدامیرحسین مهدیزاده نام استاد :مریم حاجی اسماعیلیمنابع:https://sabzlearn.irhttps://ditty.ir