محمد ابراهیمی اول
محمد ابراهیمی اول
خواندن ۱۳ دقیقه·۳ ماه پیش

کجا از Mid-Level ،Junior و Senior استفاده بکنیم و کجا نه؟!

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


پارامتر اول: دریای بی‌انتهای علم

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

بخشی‌ از شاخه‌های مهندسی نرم‌افزار
بخشی‌ از شاخه‌های مهندسی نرم‌افزار

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

سبک‌های متفاوت یادگیری: برخی علاقه دارن در یک شاخه عمیق بشن (I-shaped). مثلا فردی ممکن هست در شاخه و مسیر ریاضی و مهندسی، مهندسی کامپیوتر، مهندسی نرم‌افزار، توسعه وب،‌ توسعه فرانت‌اند وقت بذاره و عمیق بشه. وقتی از این فرد سوالات مرتبط با شاخه عمیق شده بپرسید اغلب بسیار حرفه‌ای و کارامد جواب میده ولی اگر سوالاتی از سایر شاخه‌ها بپرسید احتمال نتونه جواب چندان به درد بخوری بده. در واقع این فرد انتخاب کرده در مسیر کسب دانش و تجربه خودش طول کم ولی عمقی زیاد داشته باشه.

برخی هم علاقه‌‌های زیاد و لیست بلند‌ بالایی از موضوعات منتخب دارن (Generalist). این فرد گستره وسیع و طول بلندی از موضوعات رو انتخاب کرده ولی به دلایلی مثل محدودیت زمانی،‌ نداشتن تمرکز کافی و ... تقریبا در هیچ کدام از این موضوعات یک شخص عمیق و برجسته نیست ولی در این موضوعات می‌تونه راهکارهایی رو ارائه بده که شاید خیلی حرفه‌ای نباشه ولی در سطوح مقدماتی کارایی داره. اصطلاحا به این افراد میگن آچار فرانسه گفته میشه و اغلب عنوان سطح تخصصی هم ندارن و صرفا با برچسب "آشنا با ..." معرفی میشن و میشه گفت این گروه تقریبا مخاطب این مطلب نیستن.

گروهی هم ترجیح میدن ترکیبی از دو گروه بالا باشن (T-shaped). این افراد هم مانند گروه اول روی یک موضوع مشخص متمرکز و عمیق میشن و هم مانند گروه دوم فقط به این شاخه اکتفا نکردن و در چند شاخه دیگه هم دستی بر آتش دارن.

انواع مدل‌های کسب دانش و تجربه
انواع مدل‌های کسب دانش و تجربه


اهمیت مسیر: این که ما در طی این عمیق شدن از چه مسیری رفتیم هم مهم هست. مثلا فردی تصمیم میگیره تا در شاخه Front-End عمیق بشه و فرض کنید دانش و تجربه خوبی هم پیدا میکنه ولی به واسطه این که هیچ وقت نشده که در یک پروژه چارت‌های سه بعدی پیاده سازی کنه و چون یادگیری و اجرای این چارت‌ها زمانبر هستن مسیر متخصص شدنش هیچ وقت از چنین موضوعی که مربوط به شاخه تخصصی اون هست نگذشته و به عبارتی درست هست که اون در اکثر موضوعات Front-End فردی متخصص هست ولی در این موضوع خاص مبتدی حساب میشه و این رو نباید نادیده گرفت!

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

نقشه‌ای از وابستگی و ارتباطات علوم
نقشه‌ای از وابستگی و ارتباطات علوم


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

تغییر سطح تخصص بسته به نیازمندی‌های پروژه
تغییر سطح تخصص بسته به نیازمندی‌های پروژه

در واقع این محل تقاضا هست که تعیین می‌کنه ما چه سطحی داریم یا به عبارتی سطح نسبت به محل کار ما تعریف میشه. ما می‌تونیم وارد جذب شرکت و پروژه‌ای بشیم که مشابه اون رو بارها و بارها توسعه دادیم و تقریبا همه چیز آشناست و سطح فوق تخصص و ارشد رو کسب کنیم و در همون زمان اگر ما رو به شرکت دیگری ببرن به سطح متوسط یا مبتدی تغییر وضعیت پیدا کنیم. مثلا شما بارها و بارها Front-End و قالب سایت‌های وردپریسی رو باکیفیت و ظرافت خیلی خوبی توسعه دادید و در اون خبرگی خوبی هم پیدا کردید. اگر شما از شرکت فعلی به شرکتی بردید که اونجا هم قرار باشه با همون ساختارهای سابق برای سایت وردپرسی اون شرکت قالب توسعه بدید سطح شما متخصص و ارشد می‌تونه در نظر گرفته بشه و اما اگر شم از این شرکت به یک شرکت دیگر برید که پروژه اون‌ها قرار هست تحت NextJs, ReactJS و Tailwind توسعه داده بشه که شما اصلا با این ساختارها کار نکردید سطح شما می‌تونه متوسط یا مبتدی ارزیابی بشه.

سطح تخصص با مکان رابطه مستقیم دارد: سطح تخصص ما به میزان تطابق طول،عمق، مسیر و هم پوشانی دانش و تجربه کسب شده در گذشته به نیازها و انتظارات محل تقاضا بستگی دارد.



پارامتر دوم: زمان و حافظه

مغز ما انسان‌ها هم مثل کامپیوترها هست!‌ حافظه سریع کوتاه مدت (RAM, CPU CACHE,...) و حافظه کند بلند مدت(SSD, HDD,...) داریم البته با این تفاوت که در حافظه‌های الکترونیکی داده‌ها دقیق و ثابت هستن یعنی داده‌ای که به اون برای ذخیره شدن میدیم یک ماه بعد در فرایند بازیابی دقیقا مشابه همون داده زمان ذخیره سازی هست ولی مغز ما داده‌ها رو به صورت جز‌ءهای انتزاعی ذخیره و هنگام بازیابی اون‌ها رو ترکیب می‌کنه یا به عبارتی در لحظه با ترکیب اجزا خلق می‌کنه این باعث میشه تا ما نتونیم در بلند مدت اکثر مشاهدات و تجربه‌های خودمون رو دقیقا مشابه لحظه ذخیره سازی، بازیابی کنیم و اغلب دست خوش تغییراتی میشن.

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

تصویری از شبیه سازی یک سیناپس
تصویری از شبیه سازی یک سیناپس


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

Studying for Memory & Comprehension
Studying for Memory & Comprehension


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

داده‌های واسط نامرئی
داده‌های واسط نامرئی

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

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

زمان مقدم بر مکان
زمان مقدم بر مکان


بروزرسانی‌ها: تقریبا همه علوم مدام در حال توسعه و بروزرسانی هستن و در برخی نرخ بروزرسانی‌ها به حدی هست که اگر چند سال دور باشیم رسما دانش گذشته ما منسوخ و ناکارامد خواهد بود! به عبارتی حتی اگر در گذشته عمیق و در سطح ارشدی خبره هم بوده باشیم و خوش‌شانس باشیم و تمام اون‌ها رو بازیابی کنیم دوباره به سطح متخصص ارشد باز نخواهیم گشت چون مطالب جدید رو نمی‌دونیم و نیاز به یادگیری دارن.

نرخ بروزرسانی
نرخ بروزرسانی


استفاده از سطح تخصصی در چه شرایطی درست هست؟

اگر بخواهیم کل توضیحات بالا رو در یک بند خلاصه کنیم می‌تونی بگیم، اگر زمان و مکان رو به توضیحات سطح تخصصی اضافه کنیم بیان سطح مشکلی نداره. توضیحاتی مثل:

  • الان توسعه دهنده ارشد Front-End در شرکت اسنپ هستم
  • دو سال پیش در دیجیکالا به عنوان mid-level پایتون مشغول به کار بودم
  • یک سال هست که بعنوان Senior software developer در شرکت لرنیت مشغول بکارم

دقت داشته باشید که شاید شرکت عنوان‌های تخصصی‌ای برای شما در نظر بگیره و این موضوع طبق توضیحات چون وابستگی زمانی و مکانی داره مشکلی نداره ولی شما نباید این عنوان رو بدون ذکر محل شرکت و یا بعد از رفتن از اون شرکت بکار ببرید. مثلا این عنوان در صورت تایید شرکت درست هست Senior Software developer at learnit.ir تا وقتی که در شرکت Learnit مشغول به کار باشید و فردای روزی که از شرکت خارج شدید عنوان شما میشه Software developer.


چرا در آگهی‌ها سطح تخصص بیان میشه: مثلا استخدام Senior Front-End developer در کافه بازار؟

وقتی در آگهی عنوان سطح مطرح میشه معنی اون این هست که ما پس از سپری شدن دوره اشنایی شما با کد‌ها، انتظارات و تسک‌های ما و تلاش شما برای فراگیری و مسلط شدن بر اون موضوعات که ممکن هست چند ماه طول بکشه انتظاری که داریم این هست شما در اون سطح فعالیت کنید. مثلا در آگهی اسخدام یک Senior Senior Frontend Engineer انتظار مجموعه این هست که بعد از چند ماه شما تسلط کافی برای انجام تسک‌های پیشرفته Front-End مورد نیاز اونها رو داشته باشید و حتی می‌تونه این معنی رو هم به صورت مخفی داشته باشه که شما باید بتونید مسئولیت تیم توسعه Front-End رو هم به عهده بگیرید و ارشد این گروه بشید.

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


جمع بندی

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



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