مهندس نرم‌افزار ارشد (Senior Software Engineer)

گروه شغلی

فناوری اطلاعات / نرم‌افزار

توضیحات شغل

⚠️ توجه: این یک آگهی واقعی نیست و صرفاً تمپلیتی برای آشنایی با انتظارات بازار کار است.

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

وظایف شغلی

طراحی، توسعه، پیاده‌سازی و نگهداری سیستم‌های نرم‌افزاری در مقیاس بزرگ و با قابلیت اطمینان بالا.
مشارکت فعال در تحلیل نیازمندی‌های کسب‌وکار و تبدیل آن‌ها به راهکارهای فنی قابل پیاده‌سازی.
معماری و بهینه‌سازی ساختار نرم‌افزار با تمرکز بر کارایی، امنیت، مقیاس‌پذیری و قابلیت نگهداری.
رهبری فنی تیم توسعه و منتورینگ برنامه‌نویسان سطح Junior و Mid-level.
بررسی کدها (Code Review) و اطمینان از رعایت استانداردهای کدنویسی و Best Practiceها.
همکاری نزدیک با تیم‌های محصول، DevOps، تست و UX/UI.
شناسایی و رفع باگ‌ها و مشکلات عملکردی در محیط‌های Production.
مستندسازی فنی سیستم‌ها، APIها و فرآیندهای توسعه.
مشارکت در تصمیم‌گیری‌های فنی کلان و انتخاب تکنولوژی‌های مناسب پروژه.

مهارت های فنی

حداقل ۵ تا ۸ سال سابقه حرفه‌ای در توسعه نرم‌افزار.
تسلط کامل به یکی یا چند زبان برنامه‌نویسی اصلی مانند Java، C#، Python، JavaScript یا PHP.
تجربه عملی در طراحی و پیاده‌سازی RESTful API و یا GraphQL.
آشنایی عمیق با مفاهیم شی‌گرایی، Design Patternها و اصول SOLID.
تسلط بر پایگاه‌های داده رابطه‌ای (MySQL، PostgreSQL) و غیررابطه‌ای (MongoDB، Redis).
تجربه کار با فریم‌ورک‌های Backend و Frontend مدرن.
آشنایی با معماری‌های Microservices و Monolithic.
تجربه کار با سیستم‌های کنترل نسخه (Git).
آشنایی با مفاهیم CI/CD، Docker و در صورت امکان Kubernetes.
درک مناسب از امنیت نرم‌افزار و روش‌های جلوگیری از آسیب‌پذیری‌ها.
تجربه کار در محیط‌های ابری مانند AWS، Azure یا Google Cloud مزیت محسوب می‌شود.

مهارت های نرم

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