Farzan Hosseini
Farzan Hosseini
خواندن ۲ دقیقه·۴ ماه پیش

مسیر من به سوی پیشرفت حرفه‌ای از طریق مصاحبه‌ فنی

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

ضمن تشکر از عزیزانی که در این مسیر با حمایت فنی و احساسی همراه من بودند، تصمیم گرفتم چند موردی که در این فرآیند یاد گرفتم را در این یادداشت به اشتراک بگذارم.

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

1 - محدود کردن تخصص به یک Farmework اشتباه است

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

2- ساختمان داده‌ها و الگوریتم‌ها هنوز مهم هستند

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

3- تمایل به یادگیری فراتر از تخصص الزامی است

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

رشد شخصیمهندسی نرم‌افزارموقعیت شغلیپیشرفت شغلیمصاحبه
شاید از این پست‌ها خوشتان بیاید