راهنمای شغل · مهر ۱۴۰۵

معمار نرم افزار؛ کار، مسیر رسیدن از برنامه‌نویسی و حقوق ۱۴۰۵

شغل
از گروه شغلی تحلیل و معماری سیستم‌های نرم‌افزاری · خانواده‌ی فناوری اطلاعات و نرم‌افزار
عنوان‌های دیگر: معمار راهکار
ورود به این مسیر معمولاً مدرک دانشگاهی مرتبط می‌خواهد (مهندسی کامپیوتر، فناوری اطلاعات)؛ مهارت‌های تکمیلی‌اش را بیرون از دانشگاه هم می‌شود آموخت.

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

۴۱
آگهی معمار، تک‌لید و مدیر فنی نرم‌افزار در ۳۰ مهر ۱۴۰۵
۳ تا ۱۰ سال
سابقه‌ای که آگهی‌های معمار نرم‌افزار مهر ۱۴۰۵ خواسته بودند
۶۳ میلیون
میانه دریافتی ماهانه برنامه‌نویس ارشد .NET در تهران، پایان ۱۴۰۴

مسیر یادگیری معمار نرم‌افزار در سه پله

معماری را نمی‌شود از صفر و فقط با دوره یاد گرفت؛ ولی هر پله مهارت‌هایی دارد که با آموزش و تمرین هدفمند زودتر به دست می‌آید:

از کد تا تصمیم: یک نقشه راه

روی هر ایستگاه جاده بزن تا آن دوره را ببینی.

تازه نفسماهرسوپرحرفه‌ای
۱. SOLID و الگوهای طراحیتازه نفسصفحه‌ی کامل این دوره

کل این مسیر را کجا بخوانم؟

در حال بارگذاری…

فقط چند دوره را می‌خواهی؟ روی هر ایستگاه جاده بزن و «صفحه‌ی کامل این دوره» را باز کن؛ آموزشگاه‌های همان یک دوره آنجا هستند.

  1. ۱

    تازه‌نفس

    کد تمیز و بازآرایی کد، اصول SOLID و الگوهای طراحی، طراحی پایگاه داده رابطه‌ای و یک پایگاه سندمحور، UML در حد خواندن و کشیدن نمودار، و Git. هدف این پله این است که کد شما برای دیگران خوانا و قابل تغییر باشد.

  2. ۲

    ماهر

    مبانی و سبک‌های معماری نرم‌افزار، طراحی دامنه‌محور (DDD)، معماری میکروسرویس، طراحی API و یکپارچه‌سازی، طراحی سیستم در مقیاس بالا، مدل C4 و ADR. در این پله طرح‌هایتان را برای تیم می‌نویسید و از آن‌ها دفاع می‌کنید.

  3. ۳

    سوپرحرفه‌ای

    معماری ابرمحور، امنیت در معماری، پایش و مشاهده‌پذیری سامانه، ارزیابی معماری با روش‌هایی مثل ATAM، آشنایی با چارچوب TOGAF برای کار سازمانی، و رهبری تیم. این پله برای کسی است که تصمیم‌هایش چند تیم را درگیر می‌کند.

راه کوتاه‌تری وجود ندارد، ولی می‌شود آن را پربارتر طی کرد. سه کار به کسی که می‌خواهد معمار شود بیشتر از هر دوره‌ای کمک می‌کند:

  • داوطلب تصمیم‌های سخت شدن: وقتی تیم درباره یک تغییر بزرگ بحث می‌کند، گزینه‌ها را بنویسید و یک ADR پیشنهادی آماده کنید. همین سندها بعدا نمونه‌کار شما هستند.
  • کار روی یک سامانه پرکاربر: چند سال در شرکتی که سامانه‌اش زیر بار واقعی است، بیشتر از هر پروژه شخصی درباره کارایی و خطا یاد می‌دهد.
  • یاد گرفتن زیرساخت: ۲۳ آگهی از ۴۱ آگهی Docker، Kubernetes یا ابر را خواسته بودند؛ معماری که استقرار و پایش را نمی‌شناسد، طرحی می‌دهد که در عمل اجرا نمی‌شود.

در دانشگاه رشته‌ای به اسم معماری نرم‌افزار در کارشناسی نیست. کارشناسی مهندسی کامپیوتر رایج‌ترین راه است و در کارشناسی ارشد ۱۴۰۵، گرایش نرم‌افزار در مهندسی کامپیوتر و گرایش معماری سازمانی در مهندسی فناوری اطلاعات به این کار نزدیک‌اند. گرایش «معماری سیستم‌های کامپیوتری» درباره سخت‌افزار است، نه نرم‌افزار.

مسیر شغلی معمار نرم‌افزار: از برنامه‌نویس تا برنامه‌نویس ارشد، تک‌لید و معمار با ۳ تا ۱۰ سال سابقه در آگهی‌های مهر ۱۴۰۵
پله‌های رسیدن به معماری نرم‌افزار و سابقه خواسته‌شده در آگهی‌ها، مهر ۱۴۰۵

معمار نرم افزار چیست و چه کسی را معمار می‌نامند؟

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

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

در آگهی‌های ایران این نقش با چند اسم دیده می‌شود: معمار نرم‌افزار، معمار ارشد، Solution Architect، معمار پلتفرم ابری، و گاهی در عنوان‌هایی مثل «توسعه‌دهنده ارشد و معمار نرم‌افزار». در شرکت‌های کوچک‌تر همین کار را تک‌لید یا مدیر فنی انجام می‌دهد و عنوان معمار اصلا در چارت نیست.

معمار و تحلیلگر سیستم

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

معمار نرم‌افزار درباره چه چیزهایی تصمیم می‌گیرد؟

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

یک تکه یا چند سرویس

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

داده کجا و چطور بماند

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

بخش‌ها چطور با هم حرف بزنند

فراخوانی مستقیم API یا پیام از طریق صف مثل Kafka و RabbitMQ. صف بار را پخش می‌کند ولی خطایابی را سخت‌تر می‌کند و باید برای پیام تکراری یا گم‌شده فکری شده باشد.

ویژگی‌های کیفی

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

زیرساخت و هزینه

سرور خود شرکت، ابر داخلی یا کانتینر روی Kubernetes. در ایران محدودیت دسترسی به سرویس‌های ابری خارجی هم در این تصمیم وزن دارد.

ساختن یا خریدن

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

آگهی‌های معمار نرم‌افزار در مهر ۱۴۰۵ چه می‌خواهند؟

در ۳۰ مهر ۱۴۰۵ آگهی‌های یک سایت بزرگ کاریابی را با کلمه‌های معمار نرم‌افزار، معمار راهکار و معادل‌های انگلیسی جستجو کردیم، عنوان‌ها را یکی‌یکی خواندیم و آگهی‌های معماری ساختمان را کنار گذاشتیم. ۴۱ آگهی ماند:

۸
آگهی معمار نرم‌افزار، راهکار یا پلتفرم
۳ آگهی معمار داده و ۲ معمار امنیت
۲۸
آگهی تک‌لید، مدیر فنی و مدیر مهندسی
نقش‌هایی که کار معماری را هم دارند
۳۴
آگهی در تهران
از ۴۱ آگهی
۳۶
آگهی بدون شرط جنسیت
۴ آگهی آقا را خواسته یا ترجیح داده بودند و ۱ آگهی خانم را

کمی آگهی معمار نشانه کم بودن کار نیست؛ شرکت‌ها این نقش را بیشتر از میان برنامه‌نویس‌های ارشد خودشان پر می‌کنند. برای همین آگهی‌های تک‌لید و مدیر فنی را هم شمردیم که در عمل همان تصمیم‌ها را می‌گیرند. سطحی که خود سایت برای این ۴۱ آگهی زده بود: کارشناس ارشد ۱۸، مدیر میانی ۱۶، معاون یا مدیر ارشد ۳ و کارشناس ۴.

در متن آگهی‌ها CI/CD و DevOps ۲۸ بار آمده بود، پایگاه داده ۲۵ بار، Docker و Kubernetes یا ابر ۲۳ بار، طراحی سیستم و مقیاس‌پذیری ۲۲ بار، مستندسازی ۲۱ بار، میکروسرویس ۱۶، زبان انگلیسی ۱۴، صف پیام ۱۲، هوش مصنوعی ۱۱ و الگوهای طراحی و SOLID ۱۱ بار. در ۷ آگهی از ۸ آگهی معمار نرم‌افزار، مستندسازی جزو کارها نوشته شده بود.

شرط‌های دیگر: ۱۵ آگهی پایان خدمت سربازی خواسته بودند، ۲۲ آگهی بازه سنی نوشته بودند (مثلا ۲۵ تا ۴۰ یا ۳۰ تا ۴۵ سال)، فقط ۲ آگهی دورکاری بود و هیچ آگهی در بخش شرایط، مدرک تحصیلی را الزامی نکرده بود؛ چند آگهی در متن کارشناسی کامپیوتر یا رشته نزدیک را خواسته بودند. از مزایا، بیمه تکمیلی در ۲۴ آگهی، پاداش و وام هر کدام در ۱۶ و امریه سربازی در ۱۰ آگهی آمده بود.

آگهی‌های معمار نرم افزار و تک‌لید در مهر ۱۴۰۵: ۴۱ آگهی، ۳۴ آگهی در تهران و مهارت‌های CI/CD، پایگاه داده، Docker و طراحی سیستم
آگهی‌های معمار نرم‌افزار، تک‌لید و مدیر فنی، ۳۰ مهر ۱۴۰۵

از برنامه‌نویس تا معمار: چند سال و چه پله‌هایی؟

هیچ آگهی معماری در مهر ۱۴۰۵ تازه‌کار نمی‌پذیرفت. شش آگهی معمار که سابقه را نوشته بودند، از ۳ تا ۱۰ سال خواسته بودند: ۳، ۵، ۵ به بالا، ۶، ۳ تا ۷ و ۱۰ سال. مسیر معمول چهار پله دارد:

  1. ۱

    برنامه‌نویس

    سال اول تا سوم

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

  2. ۲

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

    سال سوم تا پنجم

    مسئول یک بخش کامل می‌شوید، کد دیگران را بازبینی می‌کنید و با الگوهای طراحی، تست خودکار و استقرار خودکار کار می‌کنید. دو آگهی تک‌لید .NET در مهر ۱۴۰۵، ۵ سال تجربه توسعه خواسته بودند.

  3. ۳

    تک‌لید یا برنامه‌نویس اصلی

    سال پنجم تا هفتم

    برای یک تیم یا یک محصول تصمیم فنی می‌گیرید و برآورد زمان می‌دهید. یک آگهی تک‌لید بانکی صریحا «حداقل ۲ سال تجربه هدایت فنی» خواسته بود. این پله جایی است که بیشتر معمارها اولین تصمیم‌های معماری را می‌گیرند.

  4. ۴

    معمار نرم‌افزار یا معمار راهکار

    از سال ششم به بعد

    مرز سرویس‌ها، داده و زیرساخت چند تیم را طراحی می‌کنید، تصمیم‌ها را مستند می‌کنید و از آن‌ها دفاع می‌کنید. آگهی معمار ارشد .NET در مهر ۱۴۰۵ «حداقل ۶ سال سابقه به عنوان برنامه‌نویس و معمار» خواسته بود.

پله بعد از معمار دو راه دارد: معمار سازمانی و مدیر مهندسی یا مدیر فنی. آگهی مدیر مهندسی نرم‌افزار در همین ماه حداقل ۸ سال سابقه خواسته بود.

طراحی سیستم و نوشتن ADR: یک تصمیم از اول تا آخر

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

  1. ۱

    عدد را روشن کنید

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

  2. ۲

    نقطه گلوگاه را پیدا کنید

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

  3. ۳

    دو یا سه گزینه بسازید

    مثلا گزینه اول بزرگ‌تر کردن سرور پایگاه داده، گزینه دوم صف سفارش تا ثبت سفارش از پردازش آن جدا شود، گزینه سوم کش موجودی کالا. برای هر گزینه هزینه، ریسک و زمان پیاده‌سازی را بنویسید.

  4. ۴

    یکی را انتخاب و دلیلش را ثبت کنید

    تصمیم در یک سند کوتاه به نام ADR (سند ثبت تصمیم معماری) ثبت می‌شود: عنوان، وضعیت (پیشنهادی، پذیرفته، کنار گذاشته)، زمینه و محدودیت‌ها، تصمیم، و پیامدهای خوب و بد آن. این قالب را مایکل نایگارد در سال ۲۰۱۱ پیشنهاد کرد و حالا در بیشتر تیم‌ها رایج است.

  5. ۵

    با نمودار توضیح دهید

    مدل C4 سامانه را در چهار سطح نشان می‌دهد: زمینه (سامانه و کاربرانش)، کانتینرها (برنامه‌ها و پایگاه‌ها)، اجزای هر کانتینر و در صورت نیاز کد. برای بیشتر جلسه‌ها دو سطح اول کافی است و مدیر غیرفنی هم آن را می‌فهمد.

  6. ۶

    بازبینی کنید و بعد از اجرا بسنجید

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

یک آگهی معمار راهکار در مهر ۱۴۰۵ نگه‌داری «decision log» یعنی دفتر تصمیم‌ها را صریحا جزو کار نوشته بود. سند کلی‌تر را «سند معماری نرم‌افزار» می‌نامند و امروز بیشتر تیم‌ها آن را از همین ADRها و نمودارها می‌سازند.

معمار نرم‌افزار، معمار راهکار و معمار سازمانی چه فرقی دارند؟

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

مقایسه نقش‌های معماری در شرکت‌های نرم‌افزاری
نقشدامنه تصمیمخروجی رایجمعمولا از کجا می‌آید
معمار نرم‌افزارساختار داخل یک سامانه یا محصول: لایه‌ها، سرویس‌ها، داده و الگوهاADR، نمودار C4، بازبینی کد و طراحیبرنامه‌نویس ارشد و تک‌لید
معمار راهکار (Solution Architect)یک راهکار برای یک نیاز کسب‌وکار، اغلب با چند سامانه و یکپارچه‌سازیسند معماری راهکار، برآورد، امکان‌سنجیمعمار نرم‌افزار یا تحلیلگر سیستم باتجربه فنی
معمار سازمانی (Enterprise Architect)همه سامانه‌ها و فرایندهای یک سازمان و نقشه راه چندسالهنقشه قابلیت‌ها، سیاست‌ها، استانداردهای فنیمعمار راهکار با سابقه مدیریتی
معمار پلتفرم یا ابرزیرساخت اجرا: کانتینر، شبکه، استقرار و پایشطراحی کلاستر، استاندارد استقرارمهندس DevOps یا زیرساخت ارشد
معمار دادهمدل داده، حکمرانی و جریان داده بین سامانه‌هامدل داده، سیاست دسترسیمهندس داده یا کارشناس پایگاه داده ارشد
در آگهی‌های مهر ۱۴۰۵، ۲ آگهی Solution Architect از یک شرکت مخابراتی بود و ۱ آگهی معمار پلتفرم ابری؛ معمار سازمانی بیشتر در بانک‌ها و سازمان‌های بزرگ و معمولا بدون آگهی عمومی جذب می‌شود.

حقوق معمار نرم افزار در سطح ارشد و مدیر

حقوق در ایران
۲۴ تا ۴۰ میلیون تومان

ماهانه و خالص، تهران، تحلیل و توسعه کسب‌وکار، سطح کارشناس، ۱۴۰۴. این عدد مربوط به کلِ گروه تحلیل و معماری سیستم‌های نرم‌افزاری است، نه یک عنوان شغلی خاص.

حقوق در خارج از کشور
آمریکا
۱۳۵,۹۸۰ دلار آمریکا
۱۰۵,۲۱۰ تا ۱۷۱,۹۸۰
کانادا
۱۱۷,۴۹۹ دلار کانادا
۷۲,۸۰۰ تا ۱۹۰,۰۰۸

سالانه و ناخالص، عددِ میانه و بازه‌ی نیمه‌ی میانیِ بازار. شغلِ متناظر: Software Developers. منبع: اداره‌ی آمار کار آمریکا (۲۰۲۵) و Job Bank کانادا (۲۰۲۵).

حقوق ماهانه سطح ارشد و مدیر، میلیون تومان، تهران و کل کشور
نوع عددمقداریادداشت
دریافتی برنامه‌نویس ارشد C#/.NET، تهران۶۳ (۵۰ تا ۷۷)خالص، پایان ۱۴۰۴، سطح سنیور
درخواستی برنامه‌نویس ارشد C#/.NET، تهران۹۳ (۷۶ تا ۱۱۹)درخواست برای ۱۴۰۵
دریافتی برنامه‌نویس ارشد Java، کل کشور۷۳ (۶۲ تا ۸۴)خالص، پایان ۱۴۰۴، سطح سنیور
آگهی‌های معمار نرم‌افزار۷۰ تا ۹۰ و ۷۰ تا ۷۵۲ آگهی، مهر ۱۴۰۵
آگهی‌های تک‌لید۸۰ تا ۱۲۰۳ آگهی در تهران، مهر ۱۴۰۵
آگهی‌های سطح مدیر۱۸۰ تا ۴۰۰۳ آگهی، مهر ۱۴۰۵
حداقل دستمزد قانونی ۱۴۰۵ برای کارگر مجرد بدون سابقه حدود ۲۱٫۸ میلیون تومان ناخالص در ماه است. عددهای گزارش، دامنه: تهران و کل کشور، برنامه‌نویسی C#/.NET و Java، سطح سنیور؛ معمار نرم‌افزار در گزارش جدول جدا ندارد.

گزارش‌های معتبر حقوق ۱۴۰۵ جدول جداگانه‌ای برای معمار نرم‌افزار ندارند. نزدیک‌ترین گروه، برنامه‌نویس سطح سنیور است که پله پیش از معماری است؛ پس عددهای زیر کف حقوق معمار را نشان می‌دهند، نه سقف آن را. برنامه‌نویس ارشد C#/.NET در تهران در پایان ۱۴۰۴ میانه دریافتی خالص ماهانه ۶۳ میلیون تومان داشت و نیمی از آن‌ها ۵۰ تا ۷۷ میلیون می‌گرفتند. میانه درخواستی همین گروه برای ۱۴۰۵، ۹۳ میلیون تومان بود. برنامه‌نویس ارشد Java در کل کشور میانه دریافتی ۷۳ میلیون و درخواستی ۱۱۷ میلیون داشت.

آگهی‌های مهر ۱۴۰۵ تصویر سطح بالاتر را می‌دهند. دو آگهی معمار نرم‌افزار ۷۰ تا ۹۰ و ۷۰ تا ۷۵ میلیون تومان پیشنهاد داده بودند و سه آگهی تک‌لید ۸۰ تا ۱۰۰، ۸۵ تا ۱۱۰ و ۸۰ تا ۱۲۰ میلیون. در سطح مدیر، یک آگهی مدیر مهندسی نرم‌افزار ۳۲۰ تا ۴۰۰ میلیون، یک آگهی دورکار معمار ارشد و مدیر پروژه فنی ۲۰۰ تا ۴۰۰ میلیون و یک آگهی مدیر فناوری اطلاعات در یک کارخانه ۱۸۰ تا ۲۵۰ میلیون پیشنهاد داده بودند. یک آگهی تک‌لید در صنعت تولیدی هم ۴۵ تا ۶۵ میلیون پیشنهاد داشت؛ همه تک‌لیدها هم‌سطح نیستند.

آنچه حقوق این سطح را بالا می‌برد: اندازه سامانه و تعداد کاربر، صنعت (بانک، پرداخت و فروشگاه‌های بزرگ اینترنتی بیشتر می‌دهند)، تجربه در امنیت و زیرساخت، و توان توضیح تصمیم برای مدیران. فقط ۹ آگهی از ۴۱ آگهی عدد حقوق نوشته بودند؛ بقیه حقوق را «توافقی» گذاشته بودند.

حقوق معمار نرم افزار و سطح ارشد: دریافتی ۶۳ میلیون تومانی برنامه‌نویس ارشد .NET در تهران، پیشنهاد ۷۰ تا ۹۰ میلیونی آگهی معمار و ۸۰ تا ۱۲۰ میلیونی تک‌لید در مهر ۱۴۰۵
حقوق ماهانه سطح ارشد و معمار، میلیون تومان، ۱۴۰۵

درآمد معمار نرم‌افزار در آمریکا و کانادا

در آمار رسمی آمریکا معمار نرم‌افزار جدول حقوق جدا ندارد و در گروه توسعه‌دهندگان نرم‌افزار شمرده می‌شود. میانه درآمد این گروه در آمریکا ۱۳۵٬۹۸۰ دلار در سال است و نیمه میانی آن‌ها ۱۰۵٬۲۱۰ تا ۱۷۱٬۹۸۰ دلار می‌گیرند. در کانادا میانه گروه مهندسان و طراحان نرم‌افزار ۱۱۷٬۴۹۹ دلار کانادا در سال است. همه رقم‌ها سالانه و پیش از مالیات‌اند و معمارها معمولا بالای این میانه قرار می‌گیرند:

برای آموزشگاه‌ها

دوره معماری نرم‌افزار یا طراحی سیستم برگزار می‌کنید؟

اگر آموزشگاه شما دوره معماری نرم‌افزار، طراحی سیستم، DDD یا میکروسرویس دارد، می‌توانید در راه تا کار ثبت‌نام کنید تا دوره‌هایتان کنار مسیر یادگیری همین شغل دیده شود.

  • ثبت‌نام با شماره موبایل و مشخصات آموزشگاه
  • بررسی درخواست شما توسط تیم راه تا کار
  • ساخت صفحه آموزشگاه و ثبت دوره‌ها پس از تایید
  • بررسی جداگانه هر دوره پیش از نمایش
درخواست همکاری آموزشگاه

هر دوره پیش از نمایش در سایت جداگانه بررسی می‌شود.

مدرک معماری نرم‌افزار؛ کدام کار می‌کند و کدام از ایران در دسترس است؟

هیچ‌کدام از ۸ آگهی معمار نرم‌افزار در مهر ۱۴۰۵ مدرک بین‌المللی نخواسته بود و از ۴۱ آگهی فقط یک آگهی معمار داده «آشنایی با TOGAF» را نوشته بود. وضع مدرک‌های رایج برای ساکنان ایران:

TOGAF

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

مدرک‌های معمار ابری

مدرک‌هایی مثل معمار راهکار ابر آمازون برای شرکت در آزمون مدرک شناسایی می‌خواهند که اقامت در یک کشور غیرتحریمی را نشان دهد. مرکز بزرگ برگزاری آزمون‌ها هم از شهریور ۱۴۰۵ آزمون ساکنان ایران را متوقف کرده است.

آنچه در ایران دیده می‌شود

نمونه‌کار: ADRها و نمودارهایی که نوشته‌اید، سامانه‌ای که زیر بار سرپا ماند، و سابقه تک‌لیدی. در مصاحبه معمولا یک مسئله طراحی سیستم می‌دهند و روش فکر کردن شما را می‌سنجند، نه مدرک را.

معماری نرم‌افزار به چه کسی می‌آید؟

احتمالا از این کار لذت می‌برید اگر

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

ممکن است سخت باشد اگر

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

این شغل در یک نگاه

کار با آدم‌ها۵۵٪
کار با دست و ابزار۱۰٪
تحرک و کار بدنی۵٪
شیفت عصر و شب۱۰٪
نظم و کار روتین۵۰٪
خلاقیت۵۵٪

تست راه تا کار نشان می‌دهد کار تحلیلی و تصمیم‌گیری فنی با ترجیح‌های شما چقدر جور است.

شروع تست

سوال‌های رایج درباره معمار نرم‌افزار

معمار نرم افزار کیست؟

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

چند سال سابقه لازم است تا معمار نرم‌افزار شوم؟

آگهی‌های معمار مهر ۱۴۰۵ بین ۳ تا ۱۰ سال سابقه خواسته بودند و چند آگهی ۵ یا ۶ سال. معمولا مسیر از برنامه‌نویس به ارشد، بعد تک‌لید و بعد معمار می‌رود و کمتر کسی پیش از ۵ سال کار واقعی این عنوان را می‌گیرد.

آیا بدون برنامه‌نویسی می‌شود معمار نرم‌افزار شد؟

خیر. معمار باید بتواند هزینه یک تصمیم را در کد ببیند. تحلیلگر سیستم یا مدیر پروژه بدون سابقه برنامه‌نویسی به نقش‌هایی مثل تحلیلگر ارشد یا مدیر محصول نزدیک‌تر است تا معماری.

حقوق معمار نرم افزار چقدر است؟

جدول جداگانه‌ای در گزارش‌های حقوق نیست. برنامه‌نویس ارشد .NET در تهران پایان ۱۴۰۴ میانه دریافتی ۶۳ میلیون تومان داشت و آگهی‌های معمار مهر ۱۴۰۵ ۷۰ تا ۹۰ میلیون پیشنهاد داده بودند. در سطح مدیر، آگهی‌ها ۱۸۰ تا ۴۰۰ میلیون تومان پیشنهاد داشتند.

معمار نرم‌افزار با تک‌لید چه فرقی دارد؟

تک‌لید یک تیم را از نظر فنی هدایت می‌کند و بیشتر وقتش در کد و بازبینی کد است. معمار تصمیم‌هایی می‌گیرد که چند تیم را درگیر می‌کند. در شرکت‌های کوچک یک نفر هر دو کار را انجام می‌دهد؛ ۲۸ آگهی از ۴۱ آگهی مهر ۱۴۰۵ همین نقش‌های ترکیبی بودند.

سند معماری نرم افزار چیست؟

سندی که ساختار سامانه، اجزای اصلی، ارتباط آن‌ها و تصمیم‌های مهم را توضیح می‌دهد. امروز بیشتر تیم‌ها به جای یک سند بزرگ، نمودارهای C4 و چند ADR کوتاه نگه می‌دارند که هر کدام یک تصمیم و دلیلش را ثبت می‌کند.

برای معماری نرم‌افزار کدام زبان برنامه‌نویسی بهتر است؟

زبان مهم نیست، عمق تجربه مهم است. در ۴۱ آگهی مهر ۱۴۰۵، Python در ۱۳ آگهی، .NET و C# در ۱۱، Go در ۶ و Java در ۳ آگهی آمده بود. معمار خوب معمولا یک زبان را عمیق و یکی دو زبان دیگر را در حد خواندن می‌شناسد.

مدرک TOGAF برای معمار نرم‌افزار لازم است؟

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

معمار نرم‌افزار دورکاری پیدا می‌کند؟

در آگهی‌های ایرانی کم است: از ۴۱ آگهی مهر ۱۴۰۵ فقط ۲ آگهی دورکار بود. بیشتر شرکت‌ها حضور معمار را در جلسه‌ها و کنار تیم لازم می‌دانند. کار دورکار برای شرکت‌های خارجی به شرایط پرداخت و تحریم هم بستگی دارد.

از کجا بفهمم معماری نرم‌افزار به من می‌آید؟

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

پیش از چند سال سرمایه‌گذاری روی این مسیر، تست بدهید

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

شروع تست

سوالی درباره معمار نرم‌افزار دارید؟

سوالتان را بپرسید. جواب را همین‌جا می‌نویسیم تا به کار بقیه هم بیاید.