مقدمه
در یک تیم افراد با سطوح متفاوت فنی ظاهر میشوند و به روال استاندارد بین المللی لقبهایی که به این افراد میدهیم شامل کارآموز(intern)، جونیور(junior)، میدلول(mid-level)، سنیور(senior) و لید (lead)میشود. این القاب توسط افراد مختلف به شکلهای متفاوت استفاده میشوند و با توجه به انتزاعی بودن آنها در زمانهای زیادی افراد را گیج میکنند چرا که هر شخص برداشت خود را از این سطوح دارد و ممکن است به اشتباه از آن استفاده کند. در این مقاله تلاش میکنیم این تصویر مبهم از این سطوح را شفاف کنیم و حدود وظایف، مسئویت و آزادی عمل هر یک را در کنار ملاکهای ارزیابی این افراد مشخص کنیم.
این القاب در صنایع مختلف استفاده میشوند و حتی در مدارس و دانشگاهها هم کاربرد دارند ولی از آنجا که تخصص اینجانب در صنعت IT است. در این مقاله به معنی این لقبها در صنعت نرمافزار پرداختهام و ممکن است این اطلاعات در صنایع دیگر متفاوت باشد.
نقش سابقه کار در این میان چیست؟
القاب مورد اشاره کاملا اسامی کیفی هستند و طبق معمول با اعداد و شاخصهای کمّی نمیتوان آنها را دقیق ارزیابی و مشخص کرد ولی میتوان با اعداد کمی تا حدودی سطح افراد را حدس زد.
شخصی که تجربه کار واقعی در محیط تجاری یا صنعتی را نداشته باشد کارآموز است. مهم نیست عمق دانش و معلومات او چقدر است. مهم نیست چند مدرک معتبر و یا آکادمیک دارد مهم نیست حتی چند نمونه کار ساخته شده دارد! در هر صورت این فرد بی تجربه و کارآموز است. دانش تئوری یا نمونه کارهای غیر تجاری همگی به فرد کمک خواهند کرد که رشد سریعتری داشته باشد و ملاک خوبی است که سطح دانش آکادمیک یا آمادگی فرد برای یادگیری را نشان دهد ولی به هیچ وجه نقش و جایگاه او را در سازمان تغییر نمیدهد چرا که مسایل دنیای واقعی خارج از چهارچوب دورهها و مقالات و ویدیوهای آموزشی است که مسئلههای حل شده توسط آموزگار نیستند بلکه پرسشهایی هستند که باید تحلیل شوند و راه حل آن بعد از تحلیل و تشخیص دقیق مشکل ممکن خواهد بود و در کنار این معمولا در محیط واقعی موانع پیش بینی نشده وجود دارد که برای گذر از آنها نیاز به تجربههای واقعی است. در نهایت هم مسایل فنی و تکنیکال تازه بخشی از مهارتها هستند و مهارتهای نرم مثل کار تیمی، مذاکره، درک مسئله و… نقشهای بسیار با اهمیتی در تعیین سطح افراد هستند که برای کسب آنها نیاز به تجربه است.
فرد کارآموز بعد حدود 3 ماه تا 1 سال تجربه جونیور محسوب خواهد شد. این فرد حالا مشکلات را از نزدیک دیده است ولی معمولا تنها از راه دور نظاره گر مشکلات و راه حلها بوده ولی خود در حل آنها نقشی نداشته ولی بعد از این تجربه میفهمد که مشکلات معمولا ساده نیستند و ابعاد بسیاری دارند و برای همین در هنگام کار سعی میکنند از نظرات افراد با تجربهتر استفاده کنند تا از درست بودن راه حلهایی که قصد اجرای آن را دارند مطمئن شود.
فرد جونیور میتواند بین 6 ماه تا 3 سال زمان ببرد که وارد سطح متوسط یا همان میدلول (mid-level) شود که مدت زمان آن به هوش او و شرایط محیط بستگی دارد ولی اگر پیشرفت فرد را از تمام ابعاد بررسی کنیم بیشتر افراد حدود دو سال زمان احتیاج دارند تا به سطح میدلول برسند چرا که رفتارهای تیمی و بلوغ شخصیتی فرد نیز در این میان بسیار مهم هستند و شخص در این مرحله به یک استقلال نسبی میرسد و باید بتواند بدون کمک هشتاد درصد تسکها خود را تحویل بگیرد، انجام دهد، و سپس تحویل دهد.
نوبت به سنیور که میرسد اوضاع پیچیده میشود اگرشما از یک فرد با چهار سال سابقه بپرسید برای سنیور شدن چند سال تجربه نیاز هست میگوید 4 سال اگر از فردی با 10 سال سابقه بپرسید میگوید ده سال و اگر از شخصی با 20 سال بپرسید احتمالا میگوید 15 یا حتی 20 سال اما چرا چنین اتفاقی میافتد؟
چالش آنجاست که بعد از میدلول شدن تمام افراد تسلط خوبی روی تکنولوژی دارند و میتوانند در حیطه تخصص خود اغلب مسایل را حل کنند و نیاز به کمک برای انجام دادن کار ندارند و یا خیلی کم دارند و این حس استقلال باعث میشود که تصور کنند سنیور هستند اما به مرور زمان و با افزایش تجربه متوجه میشند برای حل یک کار روشهای زیادی وجود دارد و نحوه تصمیم گیری و انتخاب روش و انجام درست کار را در طول سالیان متوجه میشوند و معمولا این مسیر یک مسیر بی انتها است. ولی به گواه اغلب افراد و مقالات نوشته شده شش سال تجربه میتواند نقطه شروعی برای سنیور بودن باشد.
اما لید بودن کمی خط داستانی متفاوتی دارد و در مهندسی نرم افزار لزوما همه افراد به سمت سرپرست و مدیر شدن پیش نمیروند و افراد زیادی هستند که بعد از سنیور شدن هیچ علاقهای به مدیریت تیم و… ندارند و ترجیح میدهند در فن خود متخصصتر شوند و یا تخصصهای جدید کسب کنند و سراغ درگیریهای مدیریت انسانها نروند که البته تصمیم بسیار عاقلانهای هم هست و هر کس باید مطابق شخصیت و تواناییهای خود نسبت به مسیر شغلی خود تصمیم بگیرد. معمولا افراد بعد از ده سال کار تجربه این تصمیم را میگیرند که میخواهند وارد چالشهای مدیریتی شوند یا چالشهای فنی را بیشتر دوست دارند پس لزوما لید شدن به عنوان یک پیشرفت مطرح نمیشود بلکه یک انتخاب است که در پس آن باید حداقل ده سال تجربه وجود داشته باشد. البته که این ده سال هم استثنا دارد و ممکن است جابهجا شود ولی برای اغلب افراد همین است.
انتظاراتی که باید از هر سطح داشته باشیم
انتظار ما از کارآموز این است که اول پیشرفت داشته باشد و در زمان کوتاهی آماده کار روی پروژه شود در درجه دوم همکاری کارآموز و هماهنگ بودن با تیم بسیار اهمیت دارد که به اصطلاح به آن culture-fit بودن گفته میشود. کارآموز معمولا بار چندانی از سازمان برنمیدارد و بیشتر از منابع سازمان استفاده میکند تا به آن اضافه کند ولی بعد از زمان آموزش باید بتواند به خوبی نقش خود را در تیم و در توسعه محصول نشان دهد.
در سطح جونیور انتظار این است که کارهای ساده و تکراری را فرد با دقت و به خوبی انجام دهد یعنی نحوه انجام یک کار مثل دو زبانه کردن صفحات سایت را یاد بگیرد و برای تمام صفحات اجرا کند. در این میان ممکن است به چالشهایی بخورد و نیاز به یک سنیور یا میدلول دارد که او را راهنمایی کنند. توقع اینکه از او بخواهیم مشکلات را بدون کمک حل کند هم محصول شما را نابود میکند و هم او را سرشکسته و خسته خواهد کرد و باعث میشود فرد جونیور بعد از مدتی سازمان را ترک کند.
در سطح میدلول انتظار میرود که شخص تمامی مسائل را بتواند حل کند (ولی نه با کیفیت بالا و الزما به بهترین شکل) که معمولا به یک کد مشکل دار و کثیف منجر خواهد شد که با گذر زمان مشکلات خود را نشان خواهند داد چرا که شخص گرچه مسئله را حل کرده ولی مشکلات احتمالی و رفتارهای عجیب کاربر را پیش بینی نکرده است و فکر توسعههای آتی و تغییراتی که در آینده ممکن است برای سیستم رخ دهد یا امکاناتی که باید در آینده اضافه شوند را نمیکند و به همین جهت سرعت کد نویسی و توسعه بالایی دارد ولی افراد دیگر از ادامه دادن کدهای او فرار خواهند کرد و عمر سیستم و نرم افزارهای توسعه داده شده توسط وی پایین خواهد بود، ولی این لزوما بد نیست بلکه ممکن است شرایط شما اقتضا کند که با چنین فرد و شرایطی کار کنید.
تصور کنید یک بیماری دارید و برای تشخیص پیش یک دکتر متخصص رفتهاید دکتر بعد از معاینه شما چند دارو و برنامه مصرف آنها را به شما تجویز میکند و شما سپس برنامه درمان را دنبال میکنید. اما یک دکتر سنیور به مانند یک استاد بعد از معاینه شما جزییات بیماری و علت وجود آن را نیز به شما شرح میدهد به شما میگوید که علت هر یک از علایم چیست و راههای مختلف درمان آن کدام است. عوارض و یا side effectهای هر راه درمان به همراه هزینهها و زمان آن را نیز به شما میگویید و به شما امکان انتخاب بین راه حلهای مختلف را میدهد. مثلا چند روش برای درمان شما وجود دارد و ممکن است شما برای کاهش هزینه و زمان، راه پر ریسک را انتخاب کنید و یا ممکن است ترجیح دهید که به جای عملهای پرهزینه، راه حلهای طبیعیتر مثل اصلاح تغذیه و ورزش را انتخاب کنید و روند درمان را طولانی ولی کم ریسک کنید. وظیفه یک نیروی سنیور این است که بتواند به شما حق انتخاب دهد و مشاوره خوب و دقیق به شما ارایه دهد و تصویر ذهنی خوبی از مسیر پیش رو برای شما بسازد و به شما کمک کند که بهترین راه حل را با توجه به شرایط خود انتخاب کنید و برنامه واقع بینانهای برای ادامه مسیر داشته باشید.
از سنیور انتظار میرود که بتواند تصویر ذهنی شما را به واقعیت نزدیک کند و راه حل های محتلف را به همراه مشکلات احتمالی هر راه حل به شما ارائه کند.
نکته مهم این است که سنیور یک دانای کل نیست و همیشه مسائلی هستند که او ممکن است نداند و باید در مورد آنها تحقیق کند ولی انتظار میرود که بتواند با مطالعه و تحقیق تا 90 درصد مسایل را حل کند و راه حلهای تحلیل شده و دقیق به شما ارایه دهد، هر چه سنیوریتی شخص بیشتر باید و تجربه بیشتری داشته باشد راه حلهای او حساب شدهتر و درستتر هستند و برای همین هم هزینه یک نیروی سنیور در بازار بسیار بالاست چرا که مسئولیت سنگینی در قبال توسعه محصول و انتخابهای خود دارد و طبیعتا زمان زیادی را برای یادگیری مهارتهای مورد نیاز خود صرف کرده تا این انتخابها را به شکل احسن انجام دهد.
در سطح یک تیم لید انتظارات کمی متفاوت میشود. یک فرد لید باید بتواند تعامل سازنده و خوبی با تیم برقرار کند، انگیزه بخش باشد، مسائل انسانی را در کنار فنی درک کند، تعامل خوبی با افراد غیر فنی مانند مدیر محصول و مدیر عامل و … داشته باشد و بتواند در شرایط سخت موازنه یا همان trade-off کند مثلا جایی بین استاندارد بالاتر کد و سرعت توسعه محصول بتواند انتخاب کند و یا حتی در شرایطی امنیت را فدای سرعت اجرای نرم افزار کند و یا راه حلهایی بدهد که بخشی از نگرانیهای امنیتی و سرعتی در کنار هم حل شوند، حتی بتواند برای حفط انگیزه نیروها برخی مسایل کیفی و فنی را نادیده بگیرد تا شرایط و روحیه تیم خوب باقی بماند چرا که بدهی فنی را بعدا میتوان برطرف کرد ولی درست کردن یک تیم ناسازگار و پرتنش تقریبا غیر ممکن است.
چطور فرد میدلول را از سنیور تشخیص دهیم
به این نمودار نگاه کنید:
این نمودار نشان میدهد که فرد در جایی علی رغم دانش کم احساس میکند که خیلی بلد است و دیگران که با او مخالفت میکننند را عدهای نفهم میپندارد. خود من بعد از حدود سه سال تجربه در این فضا بودهام و دقیقا حال و هوای آن روزهای خود را به یاد دارم که احساس میکردم بهترین دولوپر هستم و دیگران مطلق نمیفهمند که من چه میگویم، چرا که تنها در یک شرکت کار کرده بودم و به سقف دانشی در آنجا رسیده بودم که تقریبا تمام تسکها را میتوانستم انجام دهم ولی کیفیت انجام کار و آینده نگری و نگاه سیستمی و تیمی نداشتم و از نظر خودم هر چه کد پیچیدهتر میشد کار استانداردتر و بهتری انجام شده بود. بعد از مدتی که تغییر محل کار دادم متوجه شدم دانش من بسیار محدود است و واقعا اطلاعات کمی دارم و بسیار افسرده شده بودم و به خاطر این حس درونی حتی تصمیم به تغییر شغل گرفتم ولی به مرور زمان این تصویر عوض شد و وارد دنیای روشن تری شدم که مرز نادانی و دانایی من برایم بسیار واضح و روشن شد.
اگر بر اساس مشاهدات بخواهم بگویم به طور معمول میدلولهایی که به خود سنیور میگویند در مرحله حماقت هستند. آنهایی که لقب مید به خود میدهند مرحله حماقت را رد کرده و وارد مرحله ناامیدی شده اند و بعد از مدتی به سمت روشن شدن حرکت میکنند. بر همین اساس اگر از فردی در مصاحبهها علی رغم تجربه کم، اعتماد به نفس بالایی دیدید احتمالا یک میدلول در مقابل شما نشسته است. این افراد معمولا سوالات مصاحبه را استاد هستند چرا که بارها جواب آن را خوانده اند بعضا مفاهیم پیچیده را کامل به شما توضیح میدهند و دانش خوبی روی استفاده از زبان و ابزارها دارند ولی در ارائه و تحلیل راه حلها ضعیف هستند. مثلا در مقایسه دو فریمورک معمولا یکی را برتر میدانند ولی نمیتوانند ضعفهای آن را ببینید یا شرایطی که هر کدام از فریمورکها باید در آن استفاده شوند را توضیح دهند و تحلیل درستی از معماریهای مختلف و مشکلاتی که ممکن است هر یک به وجود بیاورند را نمیتوانند توضیح دهند. از این افراد “نمیدانم” نمیشنوید! سوال نمیپرسند یا اگر پرسیدند اغلب سوالهای عمیقی نبوده ودر پاسخگویی به دنبال دادن پاسخهای سطحی به هر سوال هستند. معمولا دنبال گفتگو نیستند و دنبال شکست دادن مصاحبه کننده هستند.
به عنوان مثال یک سوال را به دو شکل میتوان پرسید:
1- خواص نمک خوراکی چیست و چه مشکلاتی را ایجاد میکند؟2- اگر فردی با علایم فشار خون دیدیم که پوست او کدر شده بود باید چه کنیم؟
میدلولها سوال اول را خوب پاسخ میدهند ولی سوال دوم برایشان گنگ و نامفهموم است چرا که در عالم واقع با مشکل مواجه نشده اند و تنها کلی interview question و مقاله و کتاب خواندهاند.
برای پیدا کردن نیروی سنیور سعی کنید متوجه شوید که فرد دوران حماقت و ناامیدی را حتما طی کرده باشد و به ضعفها و نقاط قوت خود مسلط باشد.
لیدها چه خصوصیات متفاوتی به نسبت سنیورها دارند؟
وقتی شخصی رهبری یک گروه را به عهده میگیرد باید چند خصوصیت مهم داشته باشد. اولین و شاید مهمترین خصوصیت توانایی قضاوت بالا چه در بعد فنی و چه در بعد انسانی است، یعنی شخص باید تسلط خوبی (نه لزوما بالاترین سطح در شرکت) بر روی معماری ها، اصول توسعه نرم افزار، فریمورک ها، ابزارها و بقیه ابعاد توسعه داشته باشد تا بتواند در مواقع اختلاف و ابهام درست قضاوت و تصمیم گیری کند و هم دیگران را به خوبی قانع کند تا این تصمیمها را اجرا کنند.
در بعد انسانی معمولا اختلافات بین اعضای تیم زیاد پیش میاید به خصوص وقتی که افراد سطح فنی یکسان اما شخصیتهای متفاوتی داشته باشند، در اینجا باید بتوان با ترفندهایی اختلافات را کمتر کرد و تیم را همراستاتر کرد.
قدرت درک متقابل و درک انسانها و عواطفشان یکی دیگر از خصوصیات مهمی است که یک رهبر باید داشته باشد مثلا بتواند حساسیتهای افراد تیم را درک کند، نیت خوب و بدشان را تشخیص دهد و بتواند به آنها اعتماد به نفس و انگیزه دهد مثلا در جایی ممکن است شخص جونیور تیم در کد نویسی اشتباهاتی داشته باشد و یک لید خوب در جایی برای حفظ اعتماد به نفس و انگیزه نیرو این اشتباهات فنی را نادیده میگیرد و در جای بهتر و فضای مناسب تذکر میدهد تا فرد آنها را درست کند و برای احساسات افراد ارزش قایل است و با انسانها و اعضای تیم مانند ماشین رفتار نمیکند چرا که به تاثیر این نگاه بر روی افراد آگاه است.
ایجاد موازنه میان زمان،هزینه و کیفیت فاکتور بسیار مهمی است که اغلب رهبران خوب را از برنامه نویسهای خوب با قدرت رهبری کم جدا میکند. ذهن مهندسی و ریاضی و منطق آن حکم میکنند که به هر قیمتی بالاترین کیفیت در کار پیاده شود و ذهن با هوش ریاضی بالا روشهای پیچیده و زمانبر را تجویز میکند ولی، منطق بازار و مدیریت مالی، سود را مقدم بر کیفیت میداند. و از طرف دیگر کار سریع و کم کیفیت اگرچه در اول کار خوب به نظر میرسد ولی با گذشت زمان بدهی فنی (technical debt) میسازد که باعث میشود فرآیند توسعه نرم افزار در طول زمان کندتر شود و باعث بروز باگهای بسیاری در آینده خواهد شد و به مرور نرم افزار امکان توسعه خود را از دست میدهد و باید آن را دور انداخت و دوباره نوشت.
یک لیدر یا راهبر فنی قوی میداند از کدام وجهه کیفیت فنی میتوان کاست تا سرعت توسعه بالاتر برود. میداند کدام امکانات (feature)ها بسیار زمانبر هستند و هزینه آنها به آورده آنها نمیارزد. میداند کدام کارها را میتوان تعویق انداخت و کدامیک را نمیتوان، به عنوان مثال در یکی از پروژههای خودم کارفرما میخواست که پروژه دوزبانه باشد ولی از آنجا که دوزبانه کردن سایت چه در اول کار انجام شود و چه در آخر کار در نهایت زمان یکسانی خواهند برد به او گفتم که این فیچر را در زمانی که واقعا به آن نیاز پیدا کرد پیاده کند. در نهایت هم در گذر زمان طرح سایت بارها تغییر کرد که اگر سایت دوزبانه طراحی میشد این تغییرات مدوام بسیار پر هزینهتر میبودند و بعد تثیت طرح شروع به دوزبانه کردن سایت کردیم. تشخیص و موازنه فاکتورهای مختلف اگر نباشد معمولا فرآیند توسعه شما بسیار زمانبر خواهد بود و در نهایت ممکن است باعث شکست محصول و پروژه شما شود.
تنوع بالای تکنولوژی ها و چالش سنیور ماندن
یکی از چالشهای مهم در تعیین سطح افراد این است که تکنولوژیها و ابزارهای بسیار زیادی وجود دارند و همه افراد به همه این تکنولوژیها مسلط نیستند مثلا از یک جایی آنقدر تفاوت زیاد شد که برنامه نویسهای وب به دو دسته front-end و back-end تقسیم شدند در حالیکه تا قبل از آن اغلب افراد به هر دو مسلط بودند و میتوانستند تمام کارها را به تنهایی انجام دهند ولی چالشهای جدید مانند دیتاهای بزرگ، بهینه سازی سرعت و استفاده از رم، و از همه مهمتر بزرگ شدن کلی سایز پروژهها و امکانات آنها همگی منجر به پیچیده شدن تکنولوژیها و خلق شدن ابزارهای جدید انجامید چرا که که با بالا رفتن حجم کدها و سایز پروژه تیم هم هر روز بزرگتر میشود و از آنجا که هر کس به شکل متفاوتی کد میزند و هماهنگ کردن افراد با هم سخت است. فلذا تعداد زیادی دیزاین پترن و لینتر و فریم ورک و ابزار و… آمدند تا کدها یکدست و قابل مدیریت و نگهداری شوند و به طور همزمان توقع افراد هم از نرم افزارها هم بالا میرفت که باعث میشد روز به روز پیچیدگیها بیشتر شوند که برای حل این معضل و برای سادهتر شدن کار ها، خیلی از کدها به شکل ابزار و کامپوننت و ماژول آماده درآمدند تا یک کار یکسان را افراد مختلف در پروژههای مختلف مدام تکرار نکنند.
همه اینها کنار هم گستره بی نهایتی از ابزار را پدید آوردند ولی مسلما هر فردی حتی سنیور ترینها هم همه ابزارها را بلد نیستند و همین شد که تخصصها بیشتر تفکیک شدند مثلا فردی فقط در حوزه توسعه ظاهر سایت و بخش تعامل با کاربر که همان front-end است متخصص میشود، فردی در حوزه بانک اطلاعاتی، فردی در حوزه تحلیل داده، فردی در حوزه هوش مصنوعی و… . در کنار این نقش های، تقسیم بندیهایی هم در زمینه domain نرم افزارها شکل گرفت مثلا افرادی متخصص نرم افزارهای Realtime مانند چت و شبکه اجتماعی و اینها میشود، فردی در حوزه مالی و نرم افزارهای بانکی و بورسی و… متخصص میشود و تکنولوژیهای مرتبط با آن را خوب میداند و با مشکلات احتمالی آن آشناست، فردی در نرم افزارهای گرافیکی و مالتی مدیا متخصص است یا دیگری در بجث web3 و کریپتو. پس ممکن است مثلا شخصی که 5 سال نرم افزار بانکی نوشته را اگر وارد یک تیم مالتی مدیا کنیم احتمالا 2 سال از آن تجربه 5 ساله به کارش میاید پس ممکن است فردی در یک هنگام توسعه نرم افزار در شرکت X سنیور باشد ولی در شرکت Y به زحمت بتوانیم به او Mid Level بگوییم به خصوص اگر دانش پایهای کمی داشته باشد و فقط کار با ابزارهای مشخص و ثابتی را تجربه کرده باشد پس:
سطح فنی افراد بسته به پروژه و شرکت و استک میتواند متفاوت باشد.
یعنی بسته به نوع استک فنی شما، افراد باید طبقه بندی شوند ولی خب یا توجه به گستردگی این ابزارها شانس شما برای پیدا کردن یک سنیور در استک خودتان که اخلاق و فرهنگ کاری او را نیز بپسندید بسیار ناچیز است پس سعی کنید افرادی را جذب کنید که سنیور باشند ولو در استکهای دیگر ولی کمی صبر داشته باشید و برنامههای آنبوردینگ و آموزش را لحاظ کنید تا فرد به سرعت به استک و تکنولوژی و پروژه شما مسلط شود و فکر نکنید اگر یک سنیور استخدام کردید دیگر هزینه ای برای آموزش او نخواهید داد! بلکه فقط آموزش ها در سطح متفاوتی قرار میگیرند
جمع بندی
تمام نکات مهم در بخشهای قبل گفته شد اما یک نکته مهم وجود دارد که اغلب شرکتها در آن مشکل دارند و آن هم ترکیب تیم است. شما با کنار هم گذاشتن چند سنیور و فرد با تجربه یک تیم خوب بدست نمیآورید، یک تیم خوب باید ترکیب چند تخصص در چند level مختلف باشد مثلا دو سنیور بک با دو مید لول و دو جونیور که در کنارشان یک سنیور فرانت به همراه دو جونیور فرانت قرار دارند. این یک ترکیب ثابت نیست ترکیب افراد سنیور و مید و جونیور را بودجه و سطح پروژه شما مشخص میکند که خودش بحث مفصلی است ولی اینجا میخواهم بگویم چرا این چند سطحی بودن اهمیت دارد.
نکته اول مبحث انگیزه است. تصور کنید یک مهندس ارشد برق و قدرت میآورید و از او میخواهید لامپ منزل که سوخته را تعویض کند و یا مثلا یک سیم کشی اتاق شما را اصلاح کند در حالی که موضوع مقاله او تاثیر آب و هوا بر جریانهای چند سطحی انقال بین شهری است. افرادی که سنیور هستند و تجربه بالایی دارند انگیزهای برای انجام کارهای سادهتر ندارند و برای همین این کارها را بدتر و بی دقتتر از افراد جونیورتر انجام میدهند، این یک فرضیه نیست یک Fact تجربه شده است. ولی مثلا همان سنیور انگیزه دارد که انجام این کارها را آموزش دهد و در عین حال نیروی جونیورتر انگیزه یادگیری انجام آن کار و انجام مداوم آن را دارد پس سعی کنید نسبت به سطح کار، سطح دولوپرهای تیم خود را مشخص کنیدو استراتژی تشکیل تیم و استخدام بچینید.
نکته دوم مبحث اختلاف نظر است. هر فرد بنا بر تجربههای قبلی و خواستههای بعدی و تواناییهای خودش برای انجام یک کار یک روش را در نظر میگیرد مثلا ممکن است شخصی که تجربههای قبلی اش اکثرا استارتاپی بوده، روشی را انتخاب کند که انعطاف بالایی دارد و فردی که تجربههای بانکی و مالی داشته روشی را انتخاب کند که بالاترین ضریب دقت و اطمینان را دارد، یا مثلا شخصی تجربه کار روی فریمورک X را داشته و به آن مسلط است و شخص دیگر همین تسلط را روی فریمورک Y دارد و هر دو مُصر هستند که فریموک آنها بهتر از دیگری است. یا مثلا فردی قصد اپلای و خروج از کشور را دارد و برایش اجرای برخی Practiceها مانند تست نویسی مهم است و میخواهد در آن تجربه داشته باشد، در عین حال فرد دیگری در همان سطح به دنبال رفتن به شرکتهای مشهور و بزرگتر همان موضوع است و برایش تمام شدن سریع پروژه اهمیت بیشتری دارد. جالا اگر چند سنیور با چند دیدگاه و نظر مختلف را داخل یک تیم بگذاریم و بگوییم کار را توسعه بدهید؛ احتمال اختلاف، دعوا، دلخوری و در نهایت تیم نبودن زیاد است و شما افرادی را دارید که به جای کمک به هم مدام به یکدیگر حمله میکنند و هر کس کار خودش را میکند که در نهایت عاقبت کار چنین گروه ناهماهنگی مشخص است و احتمالا شما هستید که هزینه این دعوا را میدهید و همه آنها به نوعی تیم و شرکت را ترک خواهند کرد پس سعی کنید که افراد با سطوح مختلف بیاورید که رقابت منفی شکل نگیرد که هم فرد سنیور به نظرات جونیور و مید گوش کند و ارزش بگذارد و هم جونیورها به دانش او احترام بگذارند چرا که آنها هم به نوعی به دنبال پیشرف هستند و یک حرکت تیمی و رفتار صحیح شکل خواهد گرفت که نفع آن به همه تیم خواهد رسید و یک کار تیمی و یک خروجی خوب به همراه خواهد داشت.