🌐

مهندس سیستم‌های توزیع‌شده (AI)

Distributed Systems Engineer (AI)

«توسعه‌دهندهٔ سیستم‌های توزیع‌شدهٔ هوشمند» (Intelligent Distributed Systems Developer) عنوانی نیست که کارفرماها به کار ببرند؛ در جستجوی ما در آگهی‌های باز اکتبر ۲۰۲۶ حتی یک آگهی با این عنوان پیدا نشد. کاری که این عنوان به آن اشاره می‌کند با نام‌هایی مثل Distributed Systems Engineer، Software Engineer, Distributed Systems یا Software Engineer, Infrastructure (Distributed Systems) آگهی می‌شود: ساختن نرم‌افزاری که روی ماشین‌های زیادی با هم کار می‌کند و وقتی بخشی از آن از کار می‌افتد، درست و پایدار می‌ماند. در شرکت‌های هوش مصنوعی همین مهندسان زمان‌بند، ذخیره‌سازی، جابه‌جایی داده و تحمل خطای سیستم‌هایی را می‌سازند که مدل‌ها را آموزش می‌دهند و اجرا می‌کنند؛ مثل تیم Distributed Systems در بخش RL Engineering شرکت Anthropic.

Distributed Systems FundamentalsPython + Go / Rust / C++Fault ToleranceKubernetesObservabilityScheduling & Data Movement

مقدمه و تعریف شغل

Distributed Systems Engineer نرم‌افزاری می‌سازد و اداره می‌کند که روی چندین ماشین اجرا می‌شود و باید با وجود خرابی ماشین، کندی شبکه و بار متغیر درست کار کند: تکثیر داده (replication)، تقسیم داده بین ماشین‌ها (sharding)، توافق بین نودها (consensus)، زمان‌بندی کار، تشخیص خرابی و بازیابی. آگهی Anthropic برای تیم Distributed Systems در بخش RL این را در بستر AI توضیح می‌دهد: آموزش، نمونه‌گیری و اجرای محیط‌ها هم‌زمان روی ناوگان بزرگی از شتاب‌دهنده‌ها اجرا می‌شوند، مدام داده رد و بدل می‌کنند و باید در حالی که سخت‌افزار خراب می‌شود و بار جابه‌جا می‌شود پیشرفت کنند. واژهٔ «هوشمند» در عنوان این صفحه در آگهی‌ها معادل مشخصی ندارد؛ آنچه واقعاً دیده می‌شود دو چیز است: سیستم توزیع‌شده برای بار کاری AI، و خودکارسازی تشخیص و رفع خطا که Anthropic در همان آگهی می‌خواهد.

در جستجوی ما در ۲۲ اکتبر ۲۰۲۶ در صفحه‌های استخدام ۱۳۱ شرکت روی Greenhouse، Ashby و Lever (۲۰٬۲۴۱ آگهی باز) هیچ آگهی با عنوان Intelligent Distributed Systems Developer یا Engineer پیدا نشد. در همین مجموعه ۵۹ آگهی در ۲۰ شرکت واژهٔ «Distributed» را در عنوان داشتند و ۱۲ تا از آن‌ها در ۷ شرکت هوش مصنوعی و زیرساخت AI بودند: Anthropic، Together AI، Baseten، CoreWeave، Crusoe، Fluidstack و Krea. بقیه در شرکت‌هایی مثل Datadog، Cloudflare، Databricks، Elastic، Figma و Mixpanel‌اند؛ یعنی این تخصص مخصوص AI نیست و شرکت‌های AI آن را از همان بازار عمومی استخدام می‌کنند. اهمیتش در AI را گزارش Meta دربارهٔ آموزش Llama 3 نشان می‌دهد: در یک بازهٔ ۵۴ روزه کار آموزش ۴۶۶ بار قطع شد که ۴۱۹ مورد آن پیش‌بینی‌نشده بود و حدود ۷۸٪ این موارد به مشکل سخت‌افزاری قطعی یا مشکوک برمی‌گشت. دربارهٔ حقوق: levels.fyi میانهٔ درآمد کل Distributed Systems Engineer را در آمریکا ۲۶۵ هزار دلار گزارش می‌کند، در حالی که بازهٔ آگهی‌ها از ۱۵۷٫۵ تا ۲۱۳ هزار دلار برای سطح میانی در Mixpanel تا ۵۰۰ تا ۸۵۰ هزار دلار برای تیم RL در Anthropic است.

چه چیزی می‌سازید؟

مثال‌های واقعی از خروجی کار یک مهندس سیستم‌های توزیع‌شده (AI)

🗓️

زمان‌بند و مدیریت منابع خوشه

یکی از پروژه‌های نمونهٔ آگهی Anthropic طراحی زمان‌بندی است که کارهای آموزش، نمونه‌گیری و محیط را روی خوشه‌ای ناهمگن جای‌گذاری کند و توپولوژی شبکه و failure domainها را رعایت کند. مقالهٔ Ray (۲۰۱۷) هم یک سیستم توزیع‌شده برای کاربردهای AI را توصیف می‌کند که زمان‌بند توزیع‌شده و یک مخزن مقاوم در برابر خطا برای وضعیت کنترلی دارد.

🛡️

تحمل خطا برای کارهای طولانی

Meta می‌نویسد آموزش هم‌گام کمتر در برابر خطا مقاوم است و خرابی یک GPU ممکن است کل کار را از نو راه بیندازد. Anthropic سیستمی می‌خواهد که خرابی را تشخیص دهد، جدا کند و بازیابی کند تا کار طولانی با کمترین کار ازدست‌رفته از خرابی میزبان و شبکه عبور کند.

🗂️

پایپ‌لاین‌های دادهٔ بزرگ برای مدل‌ها

در Krea مهندس پایپ‌لاین‌های چندمرحله‌ای می‌سازد که پتابایت‌ها دادهٔ خام را به مجموعه‌دادهٔ تمیز و برچسب‌خورده تبدیل می‌کنند و مدل‌های دسته‌بندی را روی میلیاردها تصویر اجرا می‌کنند.

🎛️

Control plane و منبع حقیقت ناوگان

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

📈

پایپ‌لاین telemetry چندمستأجری

تیم Cloud Monitoring در Crusoe سیستم‌هایی می‌سازد که متریک و لاگ مشتری‌ها را جمع، پردازش، ذخیره و پرس‌وجو می‌کنند و باید مسائلی مثل hot shard، دادهٔ پرکاردینالیته، noisy neighbor و backpressure را حل کنند.

🔗

جابه‌جایی داده بین GPUها برای inference

Baseten می‌خواهد RDMA را مستقیم وارد پشتهٔ inference کند تا KV cache بین ماشین‌ها جابه‌جا شود و هدفش راه‌اندازی مدل‌های تریلیون‌پارامتری در کمتر از ۱۰ ثانیه از checkpoint است.

تخصص‌های مختلف مهندس سیستم‌های توزیع‌شده (AI)

این شغل یک عنوان واحد نیست — مسیرهای تخصصی متعددی دارد

🧠

سیستم‌های توزیع‌شده برای آموزش و RL

Distributed Systems for Training & RL

زمان‌بندی، جابه‌جایی داده، checkpoint و تحمل خطا برای کارهای آموزش و یادگیری تقویتی؛ مثل تیم Distributed Systems در RL Engineering شرکت Anthropic و سیستم‌های تحمل خطای پیش‌آموزش در Krea.

🗄️

دادهٔ توزیع‌شده و ذخیره‌سازی

Distributed Data & Storage

موتورهای پرس‌وجو، cache و ذخیره‌سازی توزیع‌شده؛ مثل تیم Data Runtime در Mixpanel که روی compute کشسان پرس‌وجو، cache فایل توزیع‌شده و ذخیره‌سازی ستونی کار می‌کند، یا نقش‌های Distributed Data Systems در Databricks.

🎛️

Control plane و مدیریت ناوگان

Control Planes & Fleet Management

API و سیستم‌هایی که ماشین‌ها و کارها را مدیریت می‌کنند؛ Fluidstack این را برای ده‌ها هزار GPU می‌خواهد و Anthropic تجربه با data platform، control plane یا job scheduler را شرط یکی از نقش‌های Distributed Systems گذاشته است.

📈

پایش و پایپ‌لاین‌های telemetry

Observability & Telemetry Pipelines

دریافت، ذخیره و پرس‌وجوی حجم بالای متریک، لاگ و trace؛ مثل تیم Cloud Monitoring در Crusoe و پلتفرم‌های داده در Datadog.

🔗

شبکهٔ GPU و inference توزیع‌شده

GPU Networking & Distributed Inference

نرم‌افزار جابه‌جایی داده بین GPUها با RDMA، InfiniBand و NCCL برای inference و آموزش؛ مثل نقش GPU Networking & Distributed Systems در Baseten.

تفاوت با شغل‌های مشابه

کجا این شغل تمام می‌شود و شغل دیگری شروع می‌شود؟

مهندس BackendBackend Engineer

مهندس backend سرویس‌های محصول را روی پایگاه داده، صف و cache می‌سازد. مهندس سیستم‌های توزیع‌شده خود این لایه را می‌سازد یا عمیقاً اداره می‌کند: ذخیره‌سازی، زمان‌بندی، هماهنگی و رفتار سیستم هنگام خرابی. مرز باریک است و مسیر طبیعی ورود همین است: Figma برای نقش Distributed Systems ۵+ سال تجربه در backend یا زیرساخت می‌خواهد و Mixpanel ۳+ سال در زیرساخت داده یا backend.

معمار زیرساخت هوش مصنوعیAI Infrastructure Architect

معمار زیرساخت AI خود خوشهٔ GPU را طراحی می‌کند: سخت‌افزار، شبکهٔ بین GPUها، ذخیره‌سازی، برق و خنک‌سازی. مهندس سیستم‌های توزیع‌شده نرم‌افزاری را می‌نویسد که روی آن خوشه اجرا می‌شود و آن را قابل استفاده می‌کند: زمان‌بند، control plane، جابه‌جایی داده و تحمل خطا. نقطهٔ تماس جایی است که نرم‌افزار به سخت‌افزار می‌رسد، مثل control plane و پایش ناوگان GPU در آگهی Fluidstack.

متخصص بهینه‌سازی عملکرد مدلInference Engineer

Inference Engineer روی اجرای سریع و ارزان خود مدل تمرکز دارد: موتور serving، batch کردن درخواست‌ها، KV cache و گاهی kernel روی GPU. مهندس سیستم‌های توزیع‌شده روی رفتار سیستم در سطح چند ماشین تمرکز دارد: جای‌گذاری، autoscaling، جابه‌جایی داده و خرابی. دو نقش در inference توزیع‌شده به هم می‌رسند؛ آگهی Baseten هر دو را در یک نقش خواسته است: RDMA در پشتهٔ inference برای جابه‌جایی KV cache بین ماشین‌ها.

مهندس پلتفرم یادگیری ماشینML Platform Engineer

مهندس پلتفرم ML ابزار و پلتفرمی می‌سازد که تیم‌های ML با آن مدل آموزش می‌دهند، مستقر می‌کنند و پایش می‌کنند؛ کاربر اصلی او data scientist و مهندس ML است. مهندس سیستم‌های توزیع‌شده لایهٔ زیرین را می‌سازد و مسئلهٔ اصلی‌اش درستی و پایداری سیستم زیر خرابی و بار است. در آگهی Anthropic این مرز دیده می‌شود: مهندس باید با پژوهشگران کار کند تا تغییرات سیستمی درستی آموزش را حفظ کند و nondeterminism پنهان وارد نکند.

تأثیر در صنایع مختلف

مهندس سیستم‌های توزیع‌شده (AI) در همه صنایع مشغول به کار است — نه فقط شرکت‌های فناوری

🧠

آزمایشگاه‌های مدل

به گفتهٔ آگهی Anthropic، سازمان زیرساخت آن سیستم‌های توزیع‌شده‌ای را می‌سازد که مدل‌ها را آموزش می‌دهند، سرو می‌کنند و ایمن نگه می‌دارند، از جمله پایپ‌لاین‌های داده و برخی از بزرگ‌ترین خوشه‌های Kubernetes دنیا

🛡️

ایمنی و پایش مدل‌ها

تیم Safeguards در Anthropic سیستم‌های توزیع‌شده می‌سازد که رفتار ناخواسته و استفادهٔ غیرمجاز از مدل‌ها را تشخیص دهند و محیط sandbox اجرای ایجنت‌ها را ایمن کنند

☁️

ابرهای GPU و زیرساخت AI

Fluidstack، Crusoe و CoreWeave برای control plane، پایش و سرویس‌های چندمنطقه‌ای مهندس سیستم‌های توزیع‌شده استخدام می‌کنند؛ CoreWeave هدف دسترس‌پذیری چهار نُه را برای سرویس‌های امنیتی‌اش گذاشته است

⚡

پلتفرم‌های inference

Baseten مدل‌ها را برای شرکت‌های دیگر در پروداکشن اجرا می‌کند و برای جابه‌جایی داده بین GPUها نرم‌افزار شبکه می‌سازد

🎨

ابزارهای خلاقیت AI

Krea برای آموزش مدل‌های تصویری خودش datastore، orchestration و پایپ‌لاین جریانی سفارشی می‌سازد

📊

پایش و تحلیل داده

به گفتهٔ آگهی‌ها، پایپ‌لاین‌های Datadog میلیاردها رویداد در ثانیه دریافت می‌کنند و موتور OLAP شرکت Mixpanel روی بیش از ۵۰۰ تریلیون رویداد پرس‌وجو می‌کند

🌍

شبکهٔ لبه و امنیت اینترنت

تیم Data Localization در Cloudflare زیرساختی می‌سازد که تعیین می‌کند دادهٔ مشتری کجا ذخیره، پردازش و رمزگشایی شود، با مرزهای جغرافیایی که هنگام خرابی هم برقرار بمانند

✏️

ابزارهای همکاری بلادرنگ

Figma برای سیستم‌های ذخیره‌سازی، جریان داده و orchestration محاسبه که ابزار طراحی هم‌زمانش را اجرا می‌کنند، مهندس سیستم‌های توزیع‌شده استخدام می‌کند

تصورات غلط رایج

قبل از تصمیم‌گیری، این باورهای اشتباه را بشناسید

«سیستم توزیع‌شدهٔ هوشمند» یعنی سیستمی که با یادگیری ماشین خودش را مدیریت می‌کند

در آگهی‌هایی که بررسی کردیم چنین نقشی پیدا نشد. «هوشمندی» در عمل دو شکل دارد: سیستم توزیع‌شده برای بار کاری AI، و خودکارسازی تشخیص و رفع خطا؛ Anthropic می‌خواهد مهندس رابط‌هایی بسازد که هم مهندسان و هم ابزارهای خودکار بتوانند با آن یک run را ایمن اداره کنند. استفاده از ابزارهای کدنویسی AI هم کم‌کم شرط شده است: Fluidstack کار روزانه با Claude Code یا Cursor را می‌خواهد.

برای این کار در شرکت‌های AI باید متخصص یادگیری ماشین باشید

شرط اصلی اصول سیستم‌های توزیع‌شده است. در آگهی RL Distributed Systems در Anthropic تجربهٔ زیرساخت آموزش یا inference فقط «ترجیحی» است و Krea صریحاً نوشته نداشتن تجربهٔ Kubernetes یا ML اشکالی ندارد. دانستن اینکه بار کاری ML چه تضمینی لازم دارد مهم است، اما بعداً و در کار یاد گرفته می‌شود.

کار با Kubernetes و microservices یعنی تخصص در سیستم‌های توزیع‌شده

Kubernetes ابزار اجراست، نه خود دانش. Crusoe می‌خواهد مسائل sharding، replication، consistency، load balancing و concurrency را در عمل حل کرده باشید، «نه فقط خوانده باشید»، و Anthropic درک عمیق consistency، consensus، حالت‌های خرابی و بازیابی را شرط گذاشته است.

این تخصص فقط در شرکت‌های هوش مصنوعی به کار می‌آید

در جستجوی ما از ۲۰ شرکتی که آگهی با «Distributed» در عنوان داشتند، فقط ۷ تا شرکت AI یا زیرساخت AI بودند؛ بقیه شرکت‌های پایش، پایگاه داده، شبکه و نرم‌افزار بودند. همین مهارت در Datadog، Cloudflare یا Figma هم ارزش دارد و راه برگشت را باز نگه می‌دارد.

این کار فقط کدنویسی است

بخش بزرگی از کار نوشتن و اداره کردن است. Anthropic نوشتن design document و گزارش حادثه را شرط گذاشته، Crusoe شرکت در on-call مشتری‌محور را می‌خواهد و Fluidstack می‌نویسد باید «بی‌آنکه جا بزنید» pager را حمل کنید، حادثه را مدیریت کنید و postmortem بنویسید.

یک روز کاری واقعی

در هر سطح روز کاری چه شکلی است؟

Junior (۰–۲ سال)

معمولاً با عنوان backend یا infrastructure engineer کار می‌کنید و روی بخش کوچکی از یک سیستم بزرگ‌تر کار دارید. بیشتر یاد می‌گیرید سیستم در پروداکشن چطور رفتار می‌کند و چرا خراب می‌شود.

  • ◆پیاده‌سازی یک قابلیت کوچک در یک سرویس و نوشتن تست برای حالت‌های خطا
  • ◆خواندن داشبوردها و لاگ‌ها برای فهمیدن یک کندی یا خطا
  • ◆همراهی با on-call ارشد و مستندسازی قدم‌های رسیدگی به حادثه
  • ◆خواندن design doc تیم و پرسیدن اینکه هر تصمیم چه تضمینی می‌دهد
  • ◆اجرای آزمایش‌های تزریق خرابی در محیط تست

Mid-level (۲–۵ سال)

مسئول یک جزء از سیستم هستید، مثلاً cache، صف یا بخشی از زمان‌بند. طراحی را می‌نویسید، پیاده می‌کنید، منتشر می‌کنید و در پروداکشن اداره می‌کنید.

  • ◆نوشتن design doc برای تغییری مثل تقسیم داده یا تغییر سیاست تکرار درخواست
  • ◆profiling یک گلوگاه با pprof یا perf و اندازه‌گیری اثر اصلاح
  • ◆شیفت on-call اصلی و نوشتن postmortem
  • ◆بازبینی کد هم‌تیمی‌ها با تمرکز بر حالت‌های خرابی و هم‌زمانی
  • ◆هماهنگی با تیم‌های همسایه دربارهٔ API و قرارداد بین سرویس‌ها

Senior / Staff (۵+ سال)

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

  • ◆تعریف محدودهٔ یک پروژهٔ زیرساختی و نوشتن طراحی آن
  • ◆جلسه با پژوهشگران دربارهٔ اینکه یک run واقعاً چه تضمینی لازم دارد
  • ◆هدایت بازبینی حادثه و طراحی دوباره تا یک دستهٔ کامل از خرابی دیگر رخ ندهد
  • ◆بازبینی طراحی تیم‌های دیگر و هم‌راستا کردن تصمیم‌ها
  • ◆راهنمایی مهندسان میانی و ارشد

مسئولیت‌ها و وظایف

مسئولیت‌های اصلی

وظایف روزانه و مهارت‌های مورد نیاز در این شغل

فنی
  • ◈طراحی، ساخت و اداره کردن سیستم‌های توزیع‌شده‌ای که بار کاری بزرگ (مثل آموزش، نمونه‌گیری و اجرای محیط‌ها در RL) را روی خوشه‌های بزرگ اجرا می‌کنند
  • ◈ساختن تحمل خطا در هر لایه: تشخیص خرابی، جداسازی و بازیابی، تا کارهای طولانی بدون دخالت انسان ادامه پیدا کنند
  • ◈طراحی مدیریت منابع، زمان‌بندی و autoscaling تا ظرفیت محاسباتی با تقاضا جابه‌جا شود
  • ◈ساختن و اداره کردن پایپ‌لاین‌های داده، ذخیره‌سازی و جابه‌جایی داده بین اجزای سیستم با تضمین‌های consistency مشخص
  • ◈ساختن observability و خودکارسازی که مشکلات رایج را تشخیص دهد و رفع کند
  • ◈شرکت در on-call، هدایت رسیدگی به حادثه و نوشتن postmortem برای حذف علت ریشه‌ای
مهارت نرم
  • ◈نوشتن design document و هم‌فکری با پژوهشگران، تیم محصول و تیم‌های زیرساخت دیگر
مدیریتی
  • ◈راهنمایی مهندسان دیگر از طریق بازبینی طراحی و کد

مهارت‌های مورد نیاز

مهارت‌های فنی، نرم و حوزه‌ای که یک مهندس سیستم‌های توزیع‌شده (AI) موفق به آن‌ها نیاز دارد

مهارت‌های فنی هسته

اصول سیستم‌های توزیع‌شدهضروری

consistency، هماهنگی، consensus، حالت‌های خرابی و بازیابی؛ شرط اصلی آگهی RL Distributed Systems در Anthropic

Python و یک زبان سیستمیضروری

Python در کنار Rust، C++ یا Go؛ Anthropic هر دو را با هم می‌خواهد

Sharding، Replication و Cachingضروری

تقسیم و تکثیر داده، consistent hashing و سیاست‌های cache؛ Mixpanel و Figma این‌ها را نام برده‌اند

Concurrencyضروری

هم‌زمانی، قفل‌ها و race condition؛ Crusoe و Mixpanel آن را صریح خواسته‌اند و Anthropic آشنایی با asyncio یا Trio را امتیاز می‌داند

استدلال عددی دربارهٔ کاراییضروری

سنجیدن throughput، latency و هزینهٔ منابع در محاسبه، حافظه، ذخیره‌سازی و شبکه

عیب‌یابی چندماشینیضروری

پیدا کردن علت خرابی‌هایی که در چند میزبان و سرویس پخش‌اند و روی ماشین خودتان تکرار نمی‌شوند

Kubernetes و Infrastructure as Codeمهم

اجرای سرویس‌ها روی ابر (AWS یا GCP) با Kubernetes و تعریف زیرساخت با کد

Observabilityمهم

متریک، trace و لاگ، SLO و هشدار؛ Crusoe و Fluidstack کل نقش را حول آن تعریف کرده‌اند

مهارت‌های نرم

نوشتن design documentضروری

توضیح روشن تصمیم، گزینه‌ها و هزینهٔ هر کدام؛ Anthropic و Mixpanel نوشتن را صریحاً می‌خواهند

رسیدگی به حادثه و postmortemضروری

مدیریت حادثه، نوشتن گزارش و رفع علت ریشه‌ای به‌جای وصله

کار در ابهاممهم

تعریف محدودهٔ مسئله‌ای که هنوز شکل نگرفته؛ Fluidstack می‌نویسد باید «به سمت ابهام بروید»

هم‌راستا کردن تیم‌هامهم

رساندن چند تیم به یک تصمیم فنی، به‌ویژه در سطح Staff

یادگیری سریع حوزهٔ تازهمهم

Fluidstack یادگیری سریع را از تخصص فعلی مهم‌تر می‌داند و Anthropic دنبال generalistهایی است که بین لایه‌ها جابه‌جا شوند

راهنمایی دیگرانمفید

بالا بردن کیفیت کار تیم از طریق بازبینی طراحی و کد

دانش حوزه‌ای

بار کاری آموزش و RLمهم

فهمیدن اینکه آموزش، نمونه‌گیری و اجرای محیط چه داده‌ای رد و بدل می‌کنند و چه تضمینی لازم دارند

شبکهٔ پرسرعت و NCCLمفید

RDMA، InfiniBand و کتابخانه‌های ارتباط جمعی بین GPUها؛ در آگهی‌های Anthropic، Krea و Baseten

زمان‌بند و autoscalerمهم

ساختن سیستم مدیریت منابع که ظرفیت را با تقاضا جابه‌جا کند

اجرای sandbox در مقیاسمفید

جداسازی با container و microVM برای اجرای محیط‌ها و ایجنت‌ها؛ Anthropic در دو آگهی آن را آورده است

چندمستأجری و جداسازیمهم

سهم عادلانهٔ منابع، noisy neighbor، جداسازی داده و محدودیت محل نگهداری داده

Checkpointing و ذخیره‌سازی برای AIمفید

ذخیره و بارگذاری سریع وضعیت کار و مدل؛ Baseten و Anthropic هر دو به آن اشاره کرده‌اند

ضروری — بدون آن نمی‌توان وارد بازار کار شدمهم — تفاوت بین جونیور و میانیمفید — مزیت رقابتی

نقشه راه و مسیر آموزشی

نقشه راه تبدیل شدن به مهندس سیستم‌های توزیع‌شده (AI)

این مسیر گام به گام شما را از صفر تا حرفه‌ای هدایت می‌کند.

1

پایه: برنامه‌نویسی، سیستم‌عامل و شبکه

⏱️ ۳ تا ۴ ماه

سیستم توزیع‌شده روی همان مفاهیم یک ماشین ساخته می‌شود: پردازه و thread، حافظه، فایل، و پیام‌هایی که روی شبکه گم یا دیر می‌رسند. آگهی RL Distributed Systems در Anthropic مهارت قوی در Python و دست‌کم یک زبان سیستمی مثل Rust، C++ یا Go را شرط گذاشته است و Crusoe زبان Go را «به‌شدت ترجیح» می‌دهد. یکی از Go یا Rust را در کنار Python جدی یاد بگیرید و با concurrency در آن کار کنید.

PythonGo یا RustLinux و خط فرمانپردازه، thread و concurrencyTCP/IP و RPCGit
2

مفاهیم سیستم‌های توزیع‌شده

⏱️ ۴ تا ۵ ماه

هستهٔ این تخصص همین مرحله است. Anthropic «درک عمیق اصول سیستم‌های توزیع‌شده، از جمله consistency، هماهنگی، consensus، حالت‌های خرابی و بازیابی» را می‌خواهد و Figma درک sharding، replication، consistency و eventual convergence را. Crusoe اضافه می‌کند که باید این مسائل را در عمل حل کرده باشید، «نه فقط خوانده باشید»؛ پس خواندن را از همین‌جا با کد نوشتن همراه کنید.

Replication و Partitioning (Sharding)Consistency ModelsConsensus (Raft، Paxos)زمان و ترتیب رویدادها (Logical Clocks)تشخیص خرابی و بازیابیIdempotency و RetryDistributed Transactions
3

ساختن و آزمودن زیر خرابی

⏱️ ۳ تا ۴ ماه

درس MIT 6.5840 (Spring 2026) پنج تمرین دارد: MapReduce، یک key-value server، Raft، key-value روی Raft و key-value تقسیم‌شده (sharded). این تمرین‌ها نزدیک‌ترین تجربه به کار واقعی پیش از استخدام‌اند. چالش‌های Gossip Glomers که Fly.io با Kyle Kingsbury (نویسندهٔ Jepsen) ساخته، روی پلتفرم Maelstrom اجرا می‌شوند که خودش خرابی تزریق می‌کند و تضمین‌های consistency را می‌سنجد.

پیاده‌سازی RaftKey-Value Store تکثیرشدهتست با تزریق خرابیLinearizability و مدل‌های consistencyمدل‌سازی رسمی با TLA+ (مقدماتی)خواندن و نوشتن design doc
4

زیرساخت پروداکشن: Kubernetes، داده و پایش

⏱️ ۳ تا ۴ ماه

سیستم توزیع‌شدهٔ واقعی روی زیرساخت ابری اجرا می‌شود و باید آن را اداره کرد. Anthropic برای Staff+ Infrastructure تجربه با Kubernetes و infrastructure-as-code روی AWS یا GCP را شرط گذاشته است. Datadog از Kafka، Redis، Cassandra و Elasticsearch نام می‌برد و Crusoe از پایپ‌لاین‌های telemetry با Prometheus، VictoriaMetrics، OpenTelemetry و Kafka. on-call، postmortem و SLO هم بخشی از همین مرحله‌اند.

KubernetesInfrastructure as Code (Terraform)Kafka و پردازش جریانیPostgreSQL و RedisPrometheus و OpenTelemetrySLO، on-call و postmortem
5

بار کاری AI: آموزش توزیع‌شده، RL و دادهٔ بزرگ

⏱️ مداوم

در شرکت‌های AI همان اصول روی بار کاری تازه‌ای پیاده می‌شود. گزارش Meta دربارهٔ Llama 3 می‌گوید آموزش هم‌گام کمتر در برابر خطا مقاوم است و خرابی یک GPU ممکن است کل کار را از نو راه بیندازد. Anthropic تجربه با زیرساخت آموزش یا inference، شبکهٔ پرسرعت، RDMA و کتابخانه‌های ارتباط جمعی را امتیاز می‌داند و Krea تجربه با NCCL، InfiniBand و dataloaderهای سفارشی PyTorch را. لازم نیست پژوهشگر ML شوید؛ باید بدانید این بارها چه چیزی از سیستم می‌خواهند.

PyTorch Distributed (DDP، FSDP)Data / Tensor / Pipeline ParallelismNCCL و RDMA (مفاهیم)RayCheckpointing و بازیابیزمان‌بندی روی خوشهٔ ناهمگناجرای sandbox در مقیاس

ابزارها و استک فنی

ابزارهایی که هر مهندس AI باید بشناسد، دسته‌بندی‌شده بر اساس اولویت

زبان‌های برنامه‌نویسی

Go

زبان رایج سرویس‌های زیرساختی؛ Crusoe آن را به‌شدت ترجیح می‌دهد و Cloudflare، Datadog، Mixpanel و Fluidstack هم در آگهی‌هایشان نام برده‌اند

ضروری
Rust

زبان سیستمی با ایمنی حافظه؛ در آگهی‌های Anthropic، Cloudflare و Datadog آمده و Baseten آن را برای کد شبکهٔ حساس به کارایی امتیاز می‌داند

ضروری
Python

زبان مشترک با تیم‌های پژوهش و ML؛ Anthropic مهارت قوی در Python را شرط گذاشته و آشنایی با asyncio یا Trio را امتیاز می‌داند

ضروری
C++

برای کد نزدیک به سخت‌افزار و مسیرهای حساس به latency؛ Baseten برای کار روی شبکهٔ GPU تسلط بر C++ یا Python را می‌خواهد

مفید

اجرا و هماهنگی

Kubernetes

بستر اجرای سرویس‌ها و کارها؛ Anthropic، Crusoe و Fluidstack آن را می‌خواهند و Krea آموزش و inference را روی خوشه‌های Kubernetes با بیش از ۱٬۰۰۰ GPU اجرا می‌کند

ضروری
Terraform

ابزار رایج infrastructure-as-code برای ساختن منابع ابری با کد؛ Anthropic تجربهٔ infrastructure-as-code را شرط گذاشته است

مفید
Temporal

موتور workflow برای کارهای چندمرحله‌ای و طولانی که باید بعد از خرابی ادامه پیدا کنند؛ Fluidstack آن را (کنار Cadence) امتیاز می‌داند

مفید
Ray

چارچوب متن‌باز برای اجرای توزیع‌شدهٔ کارهای Python و AI با زمان‌بند توزیع‌شده؛ Krea می‌نویسد برای مقیاس خودش جایگزین سفارشی آن را می‌سازد

مفید

داده، ذخیره‌سازی و پیام‌رسانی

Apache Kafka

سکوی پیام‌رسانی و جریان رویداد؛ در آگهی‌های Datadog، Crusoe، Figma و Krea آمده است

ضروری
PostgreSQL

پایگاه دادهٔ رابطه‌ای که بسیاری از سیستم‌های کنترلی روی آن ساخته می‌شوند؛ Fluidstack آن را در فهرست امتیازها دارد و Figma مقیاس دادن به Postgres را

ضروری
Redis

ذخیره‌ساز key-value در حافظه برای cache و صف؛ Datadog و Figma از آن نام برده‌اند

مفید
Apache Arrow

قالب ستونی حافظه برای جابه‌جایی و پردازش سریع داده؛ Krea از PyArrow و DuckDB و Mixpanel از قالب‌های ستونی مثل Arrow و Parquet نام می‌برد

پیشرفته

پایش و ارتباط بین GPUها

Prometheus

سیستم متریک time-series؛ Fluidstack آن را کنار Thanos و VictoriaMetrics و Crusoe کنار VictoriaMetrics و Loki نام برده‌اند

ضروری
OpenTelemetry

استاندارد متن‌باز برای trace، متریک و لاگ در سیستم‌های چندسرویسی؛ در آگهی Crusoe آمده است

مفید
Grafana

ابزار متن‌باز داشبورد و هشدار روی متریک‌ها و لاگ‌ها، که اغلب کنار Prometheus به کار می‌رود

مفید
NCCL

کتابخانهٔ NVIDIA برای ارتباط جمعی بین GPUها در آموزش و inference توزیع‌شده؛ Anthropic، Krea و Baseten آن را امتیاز می‌دانند

پیشرفته
ضروری — باید یاد بگیریدمفید — ارزش یادگیری داردپیشرفته — برای سطوح ارشد

مسیر پیشرفت شغلی

از جونیور تا Staff Engineer — چه مهارت‌هایی نیاز دارید و چه درآمدی انتظار داشته باشید

Software Engineer (Backend یا Infrastructure)

۰ تا ۲ سال

ساختن و نگهداری سرویس‌های backend، نوشتن تست، شرکت در on-call و یاد گرفتن رفتار سیستم در پروداکشن. در آگهی‌هایی که بررسی کردیم نقش «distributed systems» برای تازه‌کار پیدا نشد؛ ورود معمولاً از backend یا زیرساخت است. Krea نوشته نداشتن تجربهٔ Kubernetes یا ML اشکالی ندارد و آنچه می‌خواهد شهود سیستم‌های توزیع‌شده است

Python و Go یا RustSQL و PostgreSQLDocker و Kubernetes (پایه)TestingGit و CI/CD

Software Engineer, Distributed Systems

۲ تا ۵ سال

مسئولیت یک جزء از سیستم از طراحی تا اجرا. Mixpanel برای این سطح ۳+ سال تجربه در زیرساخت داده یا backend می‌خواهد و از مهندس انتظار دارد در طراحی پروژه‌های توزیع‌شده، از نمونهٔ اولیه تا انتشار جهانی، سهم داشته باشد

Sharding و ReplicationDistributed SchedulingProfiling (pprof، perf)ObservabilityDesign Docs

Senior Distributed Systems Engineer

۵+ سال

طراحی سیستم‌های مقاوم در برابر خطا و قابل گسترش در محیط چندمستأجری و رسیدگی به مشکلات پیچیدهٔ پروداکشن. Figma برای این نقش ۵+ سال و Datadog ۶+ سال تجربه می‌خواهد

Fault ToleranceMulti-tenancyCapacity PlanningIncident LeadershipMentoring

Staff / Principal Engineer

۸+ سال

تصمیم‌های معماری که تیم‌های دیگر روی آن می‌سازند و هم‌راستا کردن چند تیم. Crusoe برای Staff ۸+ سال و Anthropic برای Staff+ ترجیحاً ۱۰+ سال سابقه می‌خواهد؛ CoreWeave از Principal Engineer معماری چندمنطقه‌ای با هدف دسترس‌پذیری چهار نُه (۹۹٫۹۹٪) را می‌خواهد

Architecture Across TeamsMulti-region DesignTechnical StrategyCross-team AlignmentOrg-wide Mentorship

چالش‌ها و جنبه‌های منفی

واقعیت‌هایی که کمتر در آگهی‌های شغلی می‌بینید — قبل از ورود بدانید

خرابی‌هایی که روی ماشین خودتان تکرار نمی‌شوند

عمومی

Anthropic تجربهٔ عیب‌یابی خرابی‌های پیچیده در میزبان‌ها و سرویس‌های زیاد را می‌خواهد، «از جمله خرابی‌هایی که نمی‌شود محلی بازتولید کرد». یکی از پروژه‌های نمونهٔ همان آگهی ردیابی یک خرابی نادر داده در چند سرویس تا یک race condition در مسیر بازیابی است. این کار صبر، ابزار پایش خوب و استدلال دقیق می‌خواهد.

درستی زیر خرابی در برابر سرعت

تحقیقاتی

Anthropic می‌نویسد در سیستم RL درستی هنگام خرابی به اندازهٔ throughput مهم است و تغییرات سیستمی نباید درستی آموزش را بشکنند یا nondeterminism پنهان وارد کنند. هر بهینه‌سازی باید با این سؤال سنجیده شود که هنگام خرابی چه تضمینی از دست می‌رود.

سخت‌افزاری که مدام خراب می‌شود

عمومی

در خوشه‌های AI خرابی استثنا نیست. Meta در آموزش Llama 3 در یک بازهٔ ۵۴ روزه ۴۱۹ قطع پیش‌بینی‌نشده داشت که حدود ۷۸٪ آن‌ها به مشکل سخت‌افزاری قطعی یا مشکوک برمی‌گشت. سیستمی که می‌سازید باید این را عادی فرض کند.

نیازهایی که با پژوهش عوض می‌شوند

تحقیقاتی

به نوشتهٔ Anthropic، سیستم RL به همان سرعتی عوض می‌شود که پژوهش، و مهندس باید هر بار روی چیزی کار کند که الان گلوگاه است، نه چیزی که به تجربهٔ قبلی‌اش نزدیک‌تر است. طراحی‌ای که امروز درست است ممکن است چند ماه بعد کافی نباشد.

فشار on-call

استارتاپ

Crusoe شرکت در on-call مشتری‌محور را جزو نقش می‌داند و Fluidstack می‌نویسد باید pager را «بی‌آنکه جا بزنید» حمل کنید. بخشی از کار حذف دلیل حادثه‌ها با طراحی بهتر است، نه فقط پاسخ دادن به آن‌ها.

بازاری که بیشتر ارشد می‌خواهد

عمومی

در آگهی‌هایی که بررسی کردیم نقش distributed systems برای تازه‌کار پیدا نشد: Mixpanel ۳+ سال، Figma ۵+ سال، Datadog ۶+ سال و Crusoe ۸+ سال تجربه می‌خواهند. یعنی معمولاً باید اول چند سال در backend یا زیرساخت کار کنید.

حقوق و بازار کار جهانی

حقوق جهانی مهندس سیستم‌های توزیع‌شده (AI)

حقوق سالانه در کشورهای مختلف بر اساس داده‌های منتشرشده؛ منبع هر ردیف با آیکون کنار نام کشور باز می‌شود.

کشورمیانه / میانگینارز
🇺🇸آمریکا
$237,500USD
🇬🇧انگلستان
£357,500GBP

* ارقام سالانه‌اند. منبع هر رقم:

چگونه از صفر شروع کنیم

برنامه گام‌به‌گام برای ورود به مهندسی هوش مصنوعی

ماه ۱: مفاهیم با DDIA و درس‌های Kleppmann

فصل‌های replication، partitioning، transactions و consistency کتاب DDIA را بخوانید و هم‌زمان مجموعه‌ویدیوی درس سیستم‌های توزیع‌شدهٔ Kleppmann را ببینید.

ماه ۲: Go و دو تمرین اول MIT 6.5840

اگر Go نمی‌دانید از تور رسمی شروع کنید؛ بعد تمرین MapReduce و key-value server را حل کنید.

ماه ۳ و ۴: Raft و key-value روی Raft

مقالهٔ Raft را بخوانید و تمرین‌های Raft و key-value روی Raft را حل کنید. این سخت‌ترین و آموزنده‌ترین بخش برنامه است.

ماه ۵: آزمودن زیر خرابی و پروداکشن

چند چالش Gossip Glomers را حل کنید و یک پروژهٔ کوچک (مثلاً پایپ‌لاین telemetry) را روی Kubernetes با Prometheus و Grafana اجرا کنید.

ماه ۶: نوشتن و درخواست

برای پروژه‌هایتان design doc و گزارش خرابی بنویسید، مصاحبهٔ system design تمرین کنید و برای نقش‌هایی درخواست بدهید که distributed systems یا infrastructure در عنوان دارند. اگر به شرکت AI علاقه دارید، اول نقش‌های عمومی‌تر زیرساخت را هم در نظر بگیرید.

پروژه‌های پیشنهادی برای رزومه

تمرین‌های MIT 6.5840: از MapReduce تا key-value روی Raft

متوسط

تمرین‌های درس را به ترتیب حل کنید: MapReduce، key-value server، Raft و سپس key-value تقسیم‌شده روی Raft. درس از دانشجوها خواسته کدشان را منتشر نکنند و در مخزن خصوصی نگه دارند؛ پس کد را خصوصی نگه دارید و به‌جای آن یک گزارش عمومی بنویسید: چه حالت‌های خرابی را آزمودید، کجا اشتباه کردید و چطور پیدایش کردید.

GoRaftRPCGo race detector
زمان تخمینی: ۸ تا ۱۰ هفته

حل چالش‌های Gossip Glomers

مبتدی

چالش‌های Fly.io را روی Maelstrom حل کنید: از echo و تولید شناسهٔ یکتا تا broadcast و شمارندهٔ توزیع‌شده. Maelstrom خودش پیام‌ها را گم می‌کند و شبکه را قطع می‌کند و نتیجه را می‌سنجد؛ برای هر چالش بنویسید چه تضمینی گرفتید و هزینه‌اش چه بود.

Go یا هر زبان دیگرMaelstromJepsen
زمان تخمینی: ۳ هفته

زمان‌بند کار با تشخیص خرابی و بازیابی

پیشرفته

یک زمان‌بند ساده بسازید که کارها را بین چند worker پخش کند، worker ازکارافتاده را با heartbeat تشخیص دهد و کار نیمه‌تمام را از آخرین checkpoint دوباره راه بیندازد. این پروژه کوچک‌شدهٔ همان «پروژه‌های نمونه»ای است که Anthropic در آگهی RL Distributed Systems آورده است: جای‌گذاری کار روی خوشه و بازیابی بعد از خرابی با کمترین کار ازدست‌رفته.

Go یا RustgRPCPostgreSQLDocker Compose
زمان تخمینی: ۶ هفته

پایپ‌لاین telemetry چندمستأجری

متوسط

متریک‌ها را از چند منبع جمع کنید، از Kafka عبور دهید و در یک پایگاه time-series ذخیره کنید. بعد یک مستأجر پرسروصدا شبیه‌سازی کنید و نشان دهید backpressure و سهمیه‌بندی چطور بقیه را سالم نگه می‌دارد؛ همان مسائلی که Crusoe در آگهی‌اش نام برده است: hot shard، دادهٔ پرکاردینالیته و noisy neighbor.

GoKafkaPrometheus یا VictoriaMetricsGrafanaKubernetes
زمان تخمینی: ۵ هفته

پایپ‌لاین دادهٔ توزیع‌شده برای یک مجموعه‌دادهٔ تصویری

پیشرفته

با Ray یک پایپ‌لاین چندمرحله‌ای بسازید که چند ده هزار تصویر عمومی را بخواند، با یک مدل کوچک دسته‌بندی کند و نتیجه را در قالب Parquet بنویسد. یک worker را وسط کار بکشید و نشان دهید پایپ‌لاین بدون تکرار یا گم کردن داده ادامه می‌دهد. این نسخهٔ کوچک کاری است که Krea با پایپ‌لاین‌های پتابایتی انجام می‌دهد.

PythonRayPyTorchApache Arrow / Parquet
زمان تخمینی: ۵ هفته

مثال‌های واقعی و Case Studies

داستان‌های واقعی از مهندسانی که در این حوزه تأثیرگذار بوده‌اند

J

Jeff Dean

پیشینه

طبق ویکی‌پدیا، کارشناسی علوم کامپیوتر و اقتصاد را در ۱۹۹۰ از University of Minnesota و دکترای علوم کامپیوتر را در ۱۹۹۶ از University of Washington گرفت. پیش از Google در آزمایشگاه پژوهشی DEC/Compaq کار کرد و در استارتاپ mySimon یک سیستم توزیع‌شده برای خزش وب و نمایه‌سازی ساخت. در ۱۹۹۹ سی‌امین کارمند Google شد.

دستاورد

همراه Sanjay Ghemawat بخش‌هایی از زیرساخت محاسبات توزیع‌شدهٔ Google را ساخت: MapReduce، Bigtable، Spanner، LevelDB و Protocol Buffers. بعد سراغ شبکه‌های عصبی رفت: روی DistBelief، سیستمی برای آموزش توزیع‌شدهٔ شبکه‌های عصبی عمیق، کار کرد که بعدها به TensorFlow تبدیل شد، و روی Pathways که در PaLM به کار رفت. از ۲۰۱۸ تا ۲۰۲۳ بخش AI در Google را هدایت کرد، از ۲۰۲۳ تا ۲۰۲۶ دانشمند ارشد Google بود و در ۲۰۲۶ استارتاپ پژوهشی Discovery Loop را هم‌بنیان گذاشت.

درس کلیدی

مسیر او نشان می‌دهد آموزش مدل‌های بزرگ از دل مهندسی سیستم‌های توزیع‌شده بیرون آمد؛ کسی که MapReduce و Bigtable را ساخته بود، سیستم آموزش توزیع‌شدهٔ شبکه‌های عصبی را هم ساخت.

I

Ion Stoica

پیشینه

طبق ویکی‌پدیا، دانشمند کامپیوتر رومانیایی‌آمریکایی است که کارشناسی ارشد را در ۱۹۸۹ از دانشگاه پلی‌تکنیک بخارست و دکترا را در ۲۰۰۰ از Carnegie Mellon گرفت. از ۲۰۰۰ استاد UC Berkeley است و در سیستم‌های توزیع‌شده، رایانش ابری و شبکه پژوهش می‌کند.

دستاورد

با سازندگان اولیهٔ Apache Spark شرکت Databricks را در ۲۰۱۳ هم‌بنیان گذاشت و با سازندگان اولیهٔ Ray شرکت Anyscale را. الگوریتم زمان‌بندی EEVDF که در ۱۹۹۵ با استاد راهنمایش منتشر کرد، امروز زمان‌بند پردازه‌ها در هستهٔ Linux است. ACM Fellow است و در ۲۰۱۹ جایزهٔ SIGOPS Mark Weiser را گرفت.

درس کلیدی

کار او نشان می‌دهد ابزارهای رایج زیر بار کاری داده و AI، مثل Spark و Ray، از پژوهش در زمان‌بندی و سیستم‌های توزیع‌شده آمده‌اند؛ این دانش با هر نسل تازهٔ بار کاری دوباره به کار می‌آید.

M

Martin Kleppmann

پیشینه

به گفتهٔ خودش، پیش از دانشگاه مهندس نرم‌افزار و بنیان‌گذار استارتاپ بود: Go Test It را هم‌بنیان گذاشت که در ۲۰۰۹ به Red Gate Software فروخته شد و Rapportive را که در ۲۰۱۲ به LinkedIn فروخته شد. بعد پژوهشگر University of Cambridge (۲۰۱۵ تا ۲۰۲۲) و TU Munich (۲۰۲۲ تا ۲۰۲۳) شد.

دستاورد

امروز دانشیار University of Cambridge است و درس Concurrent and Distributed Systems را تدریس می‌کند. کتاب Designing Data-Intensive Applications او دربارهٔ معماری پایگاه داده و سیستم‌های توزیع‌شدهٔ پردازش داده است و به گفتهٔ خودش پرفروش است؛ ویرایش دوم آن با همکاری Chris Riccomini در ۲۰۲۶ منتشر شد. یکی از سازندگان پروژهٔ متن‌باز Automerge هم هست.

درس کلیدی

مسیر او نشان می‌دهد توضیح دادن مفاهیم سخت به زبان ساده خودش یک مهارت حرفه‌ای است؛ همان مهارتی که آگهی‌های این حوزه با «نوشتن design document» از مهندس می‌خواهند.

نمونه آگهی استخدام واقعی + تحلیل

یک آگهی واقعی از شرکت فعال در حال استخدام، با تحلیل هر بخش

Research Engineer / Performance Engineer, RL Distributed Systems

Anthropicسان‌فرانسیسکو، نیویورک یا سیاتل (آمریکا) — حضور دست‌کم ۲۵٪ زمان در دفتر2026-09-29

تحلیل نیازمندی‌ها

EN

Strong software engineering skills in Python and at least one systems language such as Rust, C++, or Go

Python زبان مشترک با پژوهشگران است و زبان سیستمی برای بخش‌هایی که کارایی و کنترل حافظه مهم است. یکی را کافی ندانید: آگهی هر دو را با هم می‌خواهد.

ضروری
EN

Experience designing, building, and operating large-scale distributed systems in production

«operating» کلمهٔ کلیدی است: فقط ساختن کافی نیست، باید سیستم را در پروداکشن اداره کرده باشید و رفتارش را هنگام خرابی دیده باشید. این تجربه معمولاً از چند سال کار در backend یا زیرساخت می‌آید.

ضروری
EN

Deep understanding of distributed systems fundamentals, including consistency, coordination, consensus, failure modes, and recovery

این همان محتوای DDIA و درس MIT 6.5840 است. در مصاحبه انتظار دارند بتوانید توضیح دهید هر طراحی چه تضمینی می‌دهد و در کدام حالت خرابی آن را از دست می‌دهد.

ضروری
EN

Ability to reason quantitatively about throughput, latency, and resource costs across compute, memory, storage, and network

یعنی پیش از ساختن، با حساب سرانگشتی بدانید گلوگاه کجاست: پهنای باند شبکه، حافظه یا دیسک. این مهارت با اندازه‌گیری و مقایسهٔ عدد واقعی با تخمین خودتان ساخته می‌شود.

ضروری
EN

Experience debugging complex failures across many hosts and services, including failures you can't reproduce locally

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

ضروری
EN

Strong written communication, including design documents and incident writeups

در این تیم نوشتن بخشی از کار است، نه کار جانبی. design doc و گزارش حادثه راهی است که تصمیم‌ها و درس‌ها به بقیهٔ تیم می‌رسد.

مهم
EN

Experience running ML training or inference infrastructure at scale

این مورد «ترجیحی» است، نه شرط. یعنی Anthropic مهندس قوی سیستم‌های توزیع‌شده بدون سابقهٔ ML را هم در نظر می‌گیرد و بار کاری ML را در کار یاد می‌دهد.

مفید
EN

Experience building schedulers, autoscalers, or resource management systems

در RL کارهای آموزش، نمونه‌گیری و محیط با هم برای منابع رقابت می‌کنند. کسی که قبلاً زمان‌بند یا autoscaler ساخته، می‌داند تصمیم جای‌گذاری چطور روی کل run اثر می‌گذارد.

مفید
EN

Experience with high-performance networking, RDMA, or collective communication libraries

جابه‌جایی داده بین شتاب‌دهنده‌ها اغلب گلوگاه است. آشنایی با RDMA و کتابخانه‌هایی مثل NCCL کمک می‌کند بفهمید داده چرا کند حرکت می‌کند.

مفید
EN

Familiarity with reinforcement learning or large language model training workloads

آشنایی کافی است، نه تخصص. باید بدانید یک run یادگیری تقویتی از چه اجزایی ساخته شده و هر جزء چه داده‌ای به جزء دیگر می‌دهد.

مفید

تحلیل مسئولیت‌ها

EN

Design, build, and operate the distributed systems that run RL at scale, across training, sampling, and environment execution

سه جزء اصلی یک run یادگیری تقویتی هم‌زمان اجرا می‌شوند و داده رد و بدل می‌کنند. مهندس مسئول سیستمی است که این سه را کنار هم نگه می‌دارد.

EN

Find and remove whatever currently limits the system, whether it's scheduling, data movement, storage, networking, or coordination

نقش generalist است: گلوگاه هر بار جای دیگری است و مهندس باید بتواند بین لایه‌ها جابه‌جا شود، نه فقط در یک تخصص بماند.

EN

Build fault tolerance into every layer: failure detection, isolation, and recovery that keep long-running jobs making progress without human intervention

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

EN

Design resource management and autoscaling so that compute follows demand as a run's needs shift

نیاز یک run در طول زمان عوض می‌شود؛ گاهی آموزش گلوگاه است و گاهی اجرای محیط. autoscaling خوب منابع را به جایی می‌برد که الان لازم است.

EN

Build observability that makes it possible to understand what a run is doing and why it slowed down, stalled, or produced unexpected results

بدون پایش خوب نمی‌شود فهمید چرا یک run کند شد. این observability برای پژوهشگران هم هست، نه فقط برای تیم زیرساخت.

EN

Build automation that detects and remediates common problems, and design interfaces that let engineers and automated tools operate runs safely

این نزدیک‌ترین چیز به «هوشمندی» در عنوان این صفحه است: خودکارسازی رفع مشکلات رایج و رابط‌هایی که ابزارهای خودکار هم بتوانند با آن کار کنند، زیر نظر انسان.

EN

Work with researchers and performance engineers to make sure systems changes preserve training correctness and don't introduce subtle nondeterminism

تغییری که سیستم را سریع‌تر می‌کند ممکن است نتیجهٔ آموزش را بی‌صدا عوض کند. همکاری نزدیک با پژوهشگران برای پیدا کردن همین خطاهای پنهان است.

EN

Remove classes of failure at their source through incident review, testing, and redesign, and write clear design documents for what you build

«classes of failure» یعنی به‌جای وصله کردن یک باگ، طراحی را طوری عوض کنید که آن نوع خرابی دیگر ممکن نباشد.

نتیجه‌گیری کلی

این آگهی دقیق‌ترین تصویر از «سیستم توزیع‌شده برای AI» است: هماهنگ کردن آموزش، نمونه‌گیری و اجرای محیط‌ها روی ناوگانی از شتاب‌دهنده‌ها، طوری که با خرابی سخت‌افزار و تغییر بار متوقف نشود. شرط‌های اصلی ML نیستند؛ اصول سیستم‌های توزیع‌شده، یک زبان سیستمی، استدلال عددی دربارهٔ کارایی و تجربهٔ عیب‌یابی خرابی‌های چندماشینی‌اند و تجربهٔ ML فقط امتیاز است. حقوق سالانهٔ اعلام‌شده ۵۰۰ تا ۸۵۰ هزار دلار است که سقف بازار است؛ برای مقایسه، levels.fyi میانهٔ درآمد کل همهٔ Distributed Systems Engineerها در آمریکا را ۲۶۵ هزار دلار گزارش می‌کند.

آینده و روندها

پیش‌بینی ۵–۱۰ ساله و مهارت‌هایی که باید یاد بگیرید

BLS برای گروه Software Developers, Quality Assurance Analysts, and Testers رشد ۱۰ درصدی اشتغال را از ۲۰۲۵ تا ۲۰۳۵ در آمریکا پیش‌بینی می‌کند که «بسیار سریع‌تر از میانگین» است. گروه رسمی جداگانه‌ای برای Distributed Systems Engineer وجود ندارد و این نزدیک‌ترین گروه است.

منبع: BLS Occupational Outlook Handbook (2025–2035, US)

مهارت‌های نوظهور که باید یاد بگیرید

اجرای انبوه محیط‌های sandbox برای RL و ایجنت‌ها (آگهی‌های Anthropic)زمان‌بندی آگاه از توپولوژی شبکه و failure domain روی خوشهٔ ناهمگن (آگهی RL Distributed Systems در Anthropic)تشخیص و رفع خودکار خطا و رابط‌هایی برای ابزارهای خودکار (آگهی RL Distributed Systems در Anthropic)RDMA و جابه‌جایی KV cache برای disaggregated serving (آگهی Baseten)کار روزانه با ابزارهای کدنویسی AI و بازبینی خروجی آن‌ها (آگهی‌های Fluidstack و Datadog)پایپ‌لاین‌های دادهٔ پتابایتی برای آموزش مدل (آگهی Krea)

پیش‌بینی‌های آینده

2026

طبق ITJobsWatch، در ۶ ماه تا ۲۲ اکتبر ۲۰۲۶ در بریتانیا ۸۷۹ آگهی دائمی Distributed Systems را نام برده‌اند، در برابر ۳۶۷ آگهی در همین بازهٔ ۲۰۲۵؛ سهم این آگهی‌ها از کل بازار ۰٫۷۳٪ بود، در برابر ۰٫۷۵٪ سال قبل.

2035

پیش‌بینی BLS: اشتغال Software Developers, Quality Assurance Analysts, and Testers در آمریکا از ۲۰۲۵ تا ۲۰۳۵ ده درصد رشد می‌کند، یعنی حدود ۱۸۵ هزار شغل تازه.

ریسک‌های واقعی

بخشی از کدنویسی به ابزارهای AI منتقل می‌شود: Fluidstack کار روزانه با Claude Code یا Cursor را می‌خواهد و Datadog توانایی بازبینی و اصلاح خروجی ابزارهای کدنویسی AI را. ارزش مهندس بیشتر در طراحی، قضاوت دربارهٔ تضمین‌ها و عیب‌یابی خرابی است. ریسک دیگر ورود دشوار است: بیشتر آگهی‌ها چند سال تجربه می‌خواهند و نقش تازه‌کار با این عنوان کم است. داده‌های بریتانیا هم تصویر محتاطی می‌دهند: طبق ITJobsWatch تعداد آگهی‌های دائمی که Distributed Systems را نام برده‌اند در ۶ ماه تا ۲۲ اکتبر ۲۰۲۶ به ۸۷۹ رسید (همین بازه در ۲۰۲۵: ۳۶۷)، اما سهم آن از کل آگهی‌ها تقریباً ثابت ماند (۰٫۷۳٪ در برابر ۰٫۷۵٪) و میانهٔ حقوق اعلام‌شده ۱۵٫۷۹٪ کم شد (از ۹۵ به ۸۰ هزار پوند).

منابع

اطلاعات این صفحه در تاریخ ۳۰ مهر ۱۴۰۵ از این ۳۳ منبع بررسی شده است.

  1. Research Engineer / Performance Engineer, RL Distributed Systems — Anthropic (job posting)
  2. Staff+ Software Engineer, Infrastructure (Distributed Systems) — Anthropic (job posting)
  3. Staff Software Engineer, Infrastructure (Distributed Systems), London — Anthropic (job posting)
  4. Staff+ Software Engineer, Distributed Systems (Safeguards) — Anthropic (job posting)
  5. Distributed Systems Engineer — Fluidstack (job posting)
  6. Engineer, Supercomputing & Distributed Systems — Krea (job posting)
  7. Software Engineer - GPU Networking & Distributed Systems — Baseten (job posting)
  8. Staff Software Engineer, Cloud Monitoring Service (Distributed Systems) — Crusoe (job posting)
  9. Principal Engineer, Distributed Systems — CoreWeave (job posting)
  10. Software Engineer, Distributed Systems — Mixpanel (job posting)
  11. Senior Software Engineer - Distributed Systems — Datadog (job posting)
  12. Software Engineer - Distributed Systems — Figma (job posting)
  13. Senior Distributed Systems Engineer — Cloudflare (job posting)
  14. levels.fyi — Distributed Systems Engineer salary, United States
  15. levels.fyi — Distributed Systems Engineer salary, Canada
  16. levels.fyi — Distributed Systems Engineer salary, United Kingdom
  17. levels.fyi — Distributed Systems Engineer salary, Germany
  18. levels.fyi — Distributed Systems Engineer salary, Netherlands
  19. levels.fyi — Distributed Systems Engineer salary, Switzerland
  20. levels.fyi — Distributed Systems Engineer salary, Australia
  21. levels.fyi — Distributed Systems Engineer salary, Singapore
  22. levels.fyi — Distributed Systems Engineer salary, United Arab Emirates
  23. levels.fyi — Distributed Systems Engineer salary, India
  24. BLS Occupational Outlook Handbook — Software Developers, Quality Assurance Analysts, and Testers
  25. ITJobsWatch — Distributed Systems (UK)
  26. The Llama 3 Herd of Models — Llama Team, AI @ Meta (arXiv 2407.21783)
  27. Ray: A Distributed Framework for Emerging AI Applications (arXiv 1712.05889)
  28. Jeff Dean — Wikipedia
  29. Ion Stoica — Wikipedia
  30. Martin Kleppmann — personal website
  31. MIT 6.5840: Distributed Systems (Spring 2026)
  32. MIT 6.5840 — course information and collaboration policy
  33. Gossip Glomers — Fly.io Distributed Systems Challenge

برای راهنمایی شخصی‌سازی‌شده مشاوره بگیرید