📇 سلسله‌مراتب مهندسی نرم‌افزار (بخش سوم, مایکروسافت!)

📇 سلسله‌مراتب مهندسی نرم‌افزار (بخش سوم, مایکروسافت!)


حالا که گوگل رو مرور کردیم، و مفهوم impact در سازمان رو دیدیم، بنا به نظر و پیشنهاد شما، بریم سراغ مایکروسافت ۲۲۸هزار کارمند داره که متناسب با ساختار و نیازهاش، نردبان شغلی خاص خودش رو داره:


۱. سطح L59 - Software Development Engineer I (SDE I)


📌 تجربه و دانش: فارغ‌التحصیل‌های تازه‌کار یا ۰ تا ۲ سال تجربه.

❓ مسئولیت‌ها:

➖ پیاده‌سازی تسک‌های مشخص‌شده تحت نظر مهندسان ارشد

➖ یادگیری ابزارها و سیستم‌های داخلی مایکروسافت

➖ شرکت در Code Reviewها و مستندسازی ساده

➖ رفع باگ‌های جزئی و تست کد


✅ مهارت‌ها:

➖ آشنایی با #C یا ++C

➖ فهم پایه از مفاهیم شیءگرایی


۲. سطح L60 - Software Development Engineer II (SDE II)


📌 تجربه و دانش: معمولاً ۲ تا ۵ سال تجربه، کسی که بتونه مشکلات فنی پیچیده‌تر و پروژه‌های کوچیک رو حل کنه.

❓ مسئولیت‌ها:

➖ توسعه ویژگی‌های جدید و بهینه‌سازی‌های بزرگ‌تر (مثلاً بهبود سرعت اجرای Azure Functions)

➖ شروع به گرفتن تصمیمات طراحی در پروژه‌ها

➖ همکاری با تیم‌های دیگر برای یکپارچه‌سازی سیستم‌ها


✅ مهارت‌ها:

➖ تسلط به طراحی APIها

➖آشنایی با Azure یا سرویس‌های ابری.


۳. سطح L61-L62 - Senior Software Engineer (SSE)


📌 تجربه و دانش: معمولاً بالای ۵ سال تجربه، کسی که بتونه استقلال بیشتری در تصمیم‌گیری‌های فنی داشته باشه

❓ مسئولیت‌ها:

➖هدایت فنی پروژه‌های مهم (مثلاً توسعه قابلیت‌های جدید در Microsoft 365)

➖ارائه راه‌حل‌های بهینه برای مشکلات پیچیده.

➖طراحی معماری سیستم‌های توزیع‌شده (مثلاً بهبود زیرساخت Azure)

➖منتورینگ و کمک به SDEهای سطح پایین‌تر.


✅ مهارت‌ها:

➖ تخصص در حوزه‌هایی مثل ابر، AI یا امنیت

➖توانایی حل مسائل مقیاس سازمانی


۴. سطح L63-L64 - Principal Software Engineer


📌 تجربه و دانش: معمولاً ۸-۱۲ سال تجربه، فردی که می‌تونه چند تیم رو از نظر فنی هدایت کنه.

❓ مسئولیت‌ها:

➖ طراحی سیستم‌های با مقیاس بالا

➖ رهبری تیم‌های فنی و ایجاد هماهنگی بین تیم‌های مختلف (مثلاً هماهنگی بین تیم‌های Xbox و کلود)

➖ تعیین استراتژی فنی برای محصولات استراتژیک (مثلاً توسعه NET Core.)

➖ نظارت بر روند توسعه و تأثیرگذاری در تصمیم‌گیری‌های کلان محصول.


✅ مهارت‌ها:

➖ دید کلان به چالش‌های کسب‌وکار و فناوری

➖توانایی مذاکره با مدیران ارشد (مثل VPها)


۵. سطح L65-L66 - Partner Software Engineer


📌 تجربه و دانش: یکی از بالاترین سطوح مهندسی فنی در مایکروسافت، معمولاً ۱۲+ سال تجربه.

❓ مسئولیت‌ها:

➖تصمیم‌گیری‌های استراتژیک برای کل محصولات یا سرویس‌های بزرگ مایکروسافت.

➖ارتباط مستقیم با مدیران ارشد

➖هدایت چندین تیم مهندسی در راستای اهداف کلان.

➖طراحی سیستم‌های حیاتی (مثلاً معماری جدید Azure AI).


✅ مهارت‌ها:

➖ تخصص عمیق در یک حوزه (مثلاً Distributed Systems یا Quantum Computing).


۶. سطح L67 - Distinguished Engineer


📌 تجربه و دانش: افرادی که تأثیر مستقیمی روی کل صنعت دارن، تعداد این افراد خیلی کمه (مثال: دیوید فولر)

❓ مسئولیت‌ها:

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

➖هدایت تحقیقات پیشرفته و توسعه فناوری‌های آینده

➖تعامل با مدیران اجرایی و تأثیرگذاری در مسیر کلی شرکت

➖انتشار مقالات یا ثبت اختراعات کلیدی.


✅ مهارت‌ها:

➖ تخصص عمیق در یک حوزه (مثلاً Distributed Systems یا Quantum Computing).

➖رهبری بدون نیاز به عنوان رسمی (با Influence و Respect).


۷. سطح L68+ - Microsoft Technical Fellow


📌 تجربه و دانش: بالاترین سطح فنی در مایکروسافت! این افراد تأثیرگذارترین چهره‌های تکنولوژی شرکت هستن (اینقدر که مدخل ویکی‌پدیا دارن!)

❓ مسئولیت‌ها:

➖نوآوری‌های کلان در فناوری

➖ارائه راهبردهای تکنولوژیکی در سطح جهانی

➖ارتباط مستقیم با CEO و تعیین مسیر استراتژیک شرکت

➖هدایت نوآوری‌های انقلابی (مثلاً پروژه‌های کوانتومی یا HoloLens)


✅ مهارت‌ها:

➖ بینش استراتژیک در سطح صنعت

➖شبکه ارتباطی با دانشگاه‌ها و دولت‌ها



🔀 مایکروسافت دو مسیر مجزا برای پیشرفت داره:

➖مسیر فنی (IC - Individual Contributor) که از SDE I تا Technical Fellow میره.

➖مسیر مدیریتی که از Engineering Manager تا VP of Engineering ادامه پیدا می‌کنه.


➖ برخلاف گوگل که سلسله‌مراتبش با L3, L4, … مشخصه، در مایکروسافت عناوینش از SDE I تا Technical Fellow سازماندهی شدن.

➖همون‌طور که توی گوگل دیدیم، توی مایکروسافت هم هر چی بالاتر می‌ری، مهارت‌های غیر فنی مثل لیدرشیپ و تصمیم‌گیری استراتژیک اهمیت بیشتری پیدا می‌کنن.


💬 بحث؟ نظر؟

➖ قسمت بعدی و پایانی این بحث، یک شرکت کوچک و متوسط رو به صورت کلی توضیح می‌دم.