شاید فرق سینیور و جونیور از دور معلوم نباشد، اما از نزدیک زمین تا آسمان با هم فرق دارند. در این مقاله قصد داریم کارکنان را به دو دسته سینیور و جونیور تقسیم کنیم. پیشرفت توسعه دهنده جونیور به سینیور، یک مسیر میباشد و لولهای دیگری در این بین وجود دارد، اما ما در این مقاله از مجله آژانس دیجیتال مارکتینگ اُپتیسان برای ساده کردن بحث، قصد داریم فرق سینیور و جونیور را بررسی کنیم و مثل همیشه به دانش و سواد دیجیتال خودمون اضافه کنیم.
سینیور و جونیور یعنی چی؟!
یک توسعه دهنده جونیور، بیتجربه و در مسیر تبدیل شدن به توسعه دهنده سینیور میباشد. توسعه نرمافزار و یا برنامه نویسی و طراحی هرکدام یک مهارتاند و برای بهتر شدن در یک مهارت، باید تمرین زیادی داشته باشید. توسعه دهنده جونیور در مسیر تبدیل شدن به توسعه دهنده سینیور میباشد، اما به توسعه دهنده سینیور نیز نیاز دارد تا او را برای تبدیل شدن به توسعه دهنده سینیور راهنمایی کند. شما به عنوان یک جونیور نمیتوانید فقط با مطالعه، تماشای فیلمهای یوتیوب و یا شرکت در دورههای آموزشی در کار خود سینیور شوید. زیرا باید به صورت عملی و پرکتیکال نشان دهید که می توانید دانش جدیدی را که فرا گرفتهاید، پیادهسازی کنید.
سهم سینیور و جونیور برابر نیست!
سهم یک توسعه دهنده سینیور در شکست یا موفقیت پروژه بیشتر از جونیور میباشد، زیرا آنها پروژه را رهبری نیز میکنند. افراد غیرفنی فرض میکنند برای مثال همه توسعه دهندهها یا همه برنامهنویسها یک کار انجام میدهند و برابر هستند. اما این یک اشتباه بزرگ است زیرا فرق سینیور و جونیور از نظر کیفیت و وظایف خیلی است. پشت هر پروژه موفقی یک سینیور وظیفهشناس و کاربلد قرار دارد. البته ضعف در رهبری میتواند حتی یک سینیور را با شکستهای بدی مواجه کند. البته فقط هم توانایی رهبری نمیتواند یک توسعه دهنده سینیور را در کارش موفق کند و کماکان نیاز به توانایی تخصصی نیز دارد. البته درک فرق سینیور و جونیور برای اکثر مردم و توضیح اینکه چرا توسعه دهنده سینیور خوب در یک پروژه تفاوت بزرگی ایجاد میکند، کمی دشوار است.
فرق یک آماتور و یک حرفهای
این مقاله برای ما الهامبخش تفاوت بین آماتورها و حرفهایها میباشد. با درک فرق سینیور و جونیور، تفاوتها در طرز فکر، رفتارها و خروجیهای حرفهای ها را در مقایسه با آماتورها میتوانید درک کنید. می توانید یک جونیور را با آماتورها و یک سینیور را با حرفهایها مقایسه کنید. تفاوت بزرگ این است که هفتهها صرف انجام یک پروژه میشود و همین باعث پیشرفت فرد و گامی در جهت سینیور شدن محسوب میشود. برای مثال توسعه دهنده با مدتها کار برای ایجاد و فکر کردن روی نرم افزار میتواند به یک توسعه دهنده سینیور تبدیل شود. فرق سینیور و جونیور تجربه، دانش و مهارت است. یک سینیور همواره دارای ذهنیت بلندمدت میباشد. توسعه دهنده سینیور برای ایجاد نرمافزار با کیفیت تلاش میکند و از اشتباهات پرهزینه خودداری میکند. در صورتی که یک توسعه دهنده جونیور با تمرکز بر برنده شدن و ایجاد نرم افزار در سریعترین زمان ممکن بدهیهای فنی ایجاد میکند. بدهیهای فنی اضافهکاریهایی است که در آینده بابت سهلانگاری در انجام کار ایجاد میشود.
در تنیس حرفهای، حدود 80 درصد از امتیازات را شخص به دست میآورد. در تنیس آماتور حدود 80 درصد از امتیازات از دست میرود. به عبارت دیگر، در تنیس حرفهای نتیجه نهایی توسط فعالیتهای فرد برنده تعیین میشود و تنیس آماتور نتیجه نهایی توسط فعالیتهای بازنده تعیین میشود. این دو بازی متضاد هم هستند. فرق سینیور و جونیور در کار نیز همین است. یک سینیور به دنبال کسب امتیاز از طریق فعالیتهایش میباشد.
توسعهدهنده جونیور در مقابل توسعهدهنده سینیور
در ادامه به مقایسه تفاوت رویکرد و رفتار توسعه دهنده جونیور و سینیور میپردازیم. از فاصله دور، توسعه دهنده جونیور و سینیور شبیه به هم به نظر میرسند و هر دو نرمافزار ایجاد میکنند. اما کیفیت خروجی آنها متفاوت است و یک جونیور معمولاً دلیل کیفیت پایین بدهی فنی به وجود میآورد. بین ایجاد نرم افزارهای بیکیفیت و فهمیدن مشکلاتی که ایجاد میشود، فاصله وجود دارد. هر بدهی فنی ایجاد شده سرعت پروژه را کند میکند. اثرات منفی کدهای بیکیفیت بلافاصله مشخص نمیشود و در طول زمان خود را نشان میدهد. این یک فرق سینیور و جونیور میباشد.
این تاخیر در مشکل به توسعه دهنده جونیور و بد اجازه میدهد تا پشت مشکلاتی که در راهاند مخفی شود، زیرا در نرم افزارهای کوچک به دلیل مقداری کد بد شاید مشکلی نداشته باشید، و برای پروژههای بزرگ نیز 2 یا 3 ماه طول میکشد تا مشکلات خودشان را نشان دهند.
توسعه دهنده جونیور سریع، اما توسعه دهنده سینیور بدون مشکل
یک جونیور پروژه را در سریعترین زمان ممکن بدون توجه به هزینه و کیفیت انجام میدهد. اما یک سینیور پروژه را با کیفیت به اتمام میرساند. یادتان نرود که هرچه سریعتر کاری را انجام دهید اشتباهات بیشتری خواهید داشت. توسعه دهنده جونیور سایر عوامل مثل درک کسب و کار یا طراحی را در نظر نمیگیرد و فقط به کدنویسی و انجام کار فکر میکند. توسعه دهنده سینیور الزامات قبل از ایجاد کد و نیازمندیهای یک بیزنس را درک میکند. تغییر یک طرح سادهتر از کد آن است. بهترین کد وقتی در طراحی بیکیفیت باشد، به درد نمیخورد و باید به کلی در هر صورت عوض شود.
توسعه دهنده سینیور به دنبال کیفیت و مزایای بلند مدت
توسعه دهنده جونیور نرم افزاری سریع ایجاد میکند و به مشکلات طولانی مدت کیفیت پایین، هزینههای نگهداری و بدهی فنی فکر نمیکند. هدف کسب و کار را درک کنید. توسعه دهنده سینیور الزامات و اعتبار آنها را درک میکند. این امر دانش آنها را افزایش میدهد، نیازهای گمشده را پیدا میکند و به نیازهای تجاری نیز کمک میکند. رویکردی که توسعه دهنده سینیور استفاده میکند افزایش یادگیری و درک و همچنین جلوگیری از اشتباه قبل از ایجاد کد است. توسعه دهنده جونیور کد را ایجاد میکند و سپس تمام مشکلات نرمافزار را پیدا میکند. این یک روش کار مخرب و دشوار است.
توسعه دهنده سینیور به دنبال ایجاد کیفیت است و اشتباهات را پیدا میکند. توسعه نرم افزار یک ماراتن است. دوی سرعت در ماراتن فایدهای ندارد. شما میخواهید پیشرفت مداوم و مداوم داشته باشید. این سازگاری مزایای بلندمدتی دارد زیرا مبتنی بر ایجاد کد خوب و فقط یک بار آن است.
توسعه دهنده جونیور میخواهد کار را در سریعترین زمان ممکن انجام دهد، اما حفظ کدهای ناسازگار سخت است. این رویکرد در آینده شما را دچار بدهی فنی میکند و وقت و سرمایه زیادی به هدر میرود.
سایر موارد تفاوت سینیور و جونیور چیست؟
- توسعه دهنده سینیور الزامات بیزنس را درک میکند و خودش را بهروز میکند، ولی توسعه دهنده جونیور بر اساس نیازها نرمافزار ایجاد میکند.
- توسعه دهنده سینیور استانداردها و فرآیندهای خاص خود در کار را دارد، اما توسعه دهنده جونیور کارهایی را که به او داده می شود، کامل میکند.
- توسعه دهنده سینیور میداند که در همه چیز متخصص نیست، اما توسعه دهنده جونیور خود را در همه چیز متخصص میداند.
- توسعه دهنده سینیور تغییر را مدیریت میکند، اما توسعه دهنده جونیور آن را نمیبیند.
- توسعه دهنده سینیور بلند مدت فکر میکند، اما توسعه دهنده جونیور کوتاه مدت فکر میکند.
- توسعه دهنده سینیور درک میکند که اشتباه قسمتی از کار است اما توسعه دهنده جونیور فقط مسیر سبز را میبیند.
- توسعه دهنده سینیور دانش را به اشتراک می گذارد و تیم را تقویت میکند، در حالی که توسعه دهنده جونیور روی خودش تمرکز میکند.
- یک فرق سینیور و جونیور این است که جونیور مشکلات و چالشها را دست کم میگیرد.
توسعه دهنده سینیور سیستمها و فرآیندها را باعث اشتباه میداند در حالی که توسعه دهنده جونیور مردم را مقصر میداند.
توسعه دهنده جونیور، فکر میکند نرم افزار اشتباه، یک شکست است اما توسعه دهنده سینیور آن را راهی جدید برای رسیدن به یک نرمافزار خوب میداند.
سخن پایانی
مطالب گفته شده در این مقاله فقط قسمتی از فرق سینیور و جونیور میباشد. تفاوت در رویکرد این است که توسعه دهنده سینیور یک رویکرد طولانی مدت دارد و با تیم توسعه کار میکند. توسعه دهنده جونیور روی کار فردی خود تمرکز میکند و نرم افزار را سریع اما به قیمت کیفیت ضعیف ایجاد میکند. توسعه دهنده سینیور میداند که کیفیت راه میانبر در پیشرفت است. وقتی سرعت را با کیفیت معاوضه میکنید، در آینده برای خود مشکل ایجاد میکنید. توسعه دهنده جونیور این مشکلات را تجربه نکرده و هنوز درک نکرده که اولویت اصلی پروژه کیفیت آن میباشد. یک سینیور برای کارهایش دلیل ارائه میدهد اما یک جونیور کار را تحویل داده و نظر شخص مقابل را میخواهد بدون اینکه دلیلی برای کارهایش ارائه داده باشد. هدف ما در اُپتیسان از ارائه این مقاله این بوده که طرز فکر شما بعد از خواندن آن به سمت سینیور شدن میل داشته باشد و فرق سینیور و جونیور را به خوبی درک کرده باشید.
4 در مورد “فرق سینیور و جونیور چیست؟”
سلام وقت بخیر. ممنونم از مطلب کاملتون. به خیلی از سوالام جواب داد.
یه سوال دارم. شرکت ها وقتی استخدام می کنن به این دو مفهوم جونیور و سینیور توجه می کنن؟ چون کم پیش اومده که ببینم شرکتی تو آگهی استخدامش قید کنه جونیور یا سینیور می خواد. ممنون میشم کمکم کنید.
سلام سروش عزیز
بله، ممکنه مستقیم به این موضوع اشاره نکنن ولی حتما یکی از معیار هایی که شرکت ها در فرایند استخدام در نظر میگیرن همین موضوعه چون دقیقا این معیاره که تعیین کننده مواردی از جمله دستمزد میشه .
ممنونم از پاسختون. یه سوال؟ به طور غیر مستقیم چطوری بهش اشاره می کنن؟ سابقه کاری یا مسئولیت ها و قابلیت ها؟
ببین، شاید یه شرکت تو آگهی استخدامش مستقیما ذکر نکنه که دنبال جونیور یا سینیوره. اما اگه دقت کرده باشی تقریبا تموم شرکت ها قید می کنن که به فردی با چند سال (مثلا ۱ یا ۲ یا ۵ سال) سابقه کار و داشتن قابلیت های فنی و نرم مشخص نیاز دارن. اون تعداد سال های سابقه کار و توانایی های معینی که ذکر می کنن در واقع مشخص می کنه که جونیور می خوان یا سینیور. معمولا وقتی شرکتی قید می کنه که فردی با زیر سه سال سابقه کار می خواد دنبال جونیوره.