شرح موقعیت
تیم مهندسی ما مسئول طراحی، توسعه و بهبود راهکارهای نرمافزاری مقیاسپذیر، پایدار و باکیفیت است که از محصولات، مشتریان و اهداف کسبوکار پشتیبانی میکنند. ما در همکاری نزدیک با تیمهای محصول، کسبوکار، داده و سایر تیمها، مسائل پیچیده را حل میکنیم و به صورت مستمر در جهت بهبود محصولات و فرآیندهای مهندسی حرکت میکنیم. شایستگیهای ترجیحی
مسئولیتها
- هدایت، منتورینگ و توسعه اعضای تیم مهندسی نرمافزار و ایجاد فرهنگ مالکیتپذیری، همکاری، یادگیری مستمر و تعالی فنی.
- تدوین و اجرای نقشه راه فنی تیم با همکاری تیم محصول، مدیران ارشد مهندسی و سایر ذینفعان کلیدی.
- تبدیل نیازمندیهای کسبوکار و محصول به راهکارهای فنی مقیاسپذیر، پایدار و قابل نگهداری.
- هدایت طراحی، توسعه و تحویل راهکارهای نرمافزاری با تمرکز بر مقیاسپذیری، قابلیت اطمینان، کارایی، امنیت و نگهداشتپذیری.
- ارائه رهبری فنی در حوزه معماری نرمافزار، طراحی سیستم، انتخاب تکنولوژی و استقرار Best Practiceهای مهندسی.
- هدایت و پشتیبانی تیم مهندسی در تمام چرخه توسعه نرمافزار؛ از تحلیل و طراحی فنی تا توسعه، تست، استقرار و نگهداری.
- ایجاد و بهبود مستمر استانداردهای مهندسی شامل استانداردهای کدنویسی، Code Review، تست خودکار، CI/CD، مانیتورینگ، Observability، مستندسازی و مدیریت رخدادها.
- شناسایی Technical Debt، چالشهای معماری و گلوگاههای فنی و تدوین برنامه برای رفع آنها.
- همکاری نزدیک با تیمهای محصول، داده، کسبوکار، فروش، بازاریابی و سایر ذینفعان برای درک نیازهای کسبوکار و مشتری و تبدیل آنها به راهکارهای فنی اثربخش.
- استفاده از شاخصها و دادههای مهندسی و محصول برای شناسایی فرصتهای بهبود، پایش عملکرد سیستم و تیم و پشتیبانی از تصمیمگیری دادهمحور.
- همکاری با شرکای فناوری، Vendorها و سرویسدهندگان شخص ثالث در زمینه ارزیابی، یکپارچهسازی و نگهداری تکنولوژیها و سرویسهای موردنیاز.
- رصد مستمر تکنولوژیهای نوظهور، Best Practiceهای مهندسی نرمافزار و روندهای حوزه تجارت الکترونیک و پلتفرمهای دیجیتال و ارزیابی تأثیر بالقوه آنها بر کسبوکار و فناوری.
- مشارکت در فرآیند جذب، استخدام و Onboarding نیروهای مهندسی و همچنین مدیریت عملکرد، توسعه شغلی و برنامهریزی جانشینپروری اعضای تیم.
- شناسایی و حل چالشهای فنی و سازمانی و ایجاد سازوکارهای لازم برای بهبود مستمر توانمندی فنی و اثربخشی تیم.
نیازمندیها
- مدرک کارشناسی در رشتههای مهندسی کامپیوتر، مهندسی نرمافزار، علوم کامپیوتر یا رشتههای مرتبط؛ یا تجربه حرفهای معادل.
- سابقه اثباتشده در مهندسی نرمافزار به همراه تجربه در نقشهای رهبری فنی و مدیریت افراد.
- تسلط قوی بر توسعه نرمافزار و طراحی سیستم.
- تجربه قوی و عملی در Java و اکوسیستم Java، بهخصوص Spring و Spring Boot.
- درک عمیق از معماری نرمافزار، Design Patternها، Clean Code، طراحی API، Microservices و سیستمهای توزیعشده.
- تجربه طراحی و توسعه سیستمهای نرمافزاری مقیاسپذیر، پرترافیک، با کارایی و قابلیت اطمینان بالا.
- تجربه در فرآیندهای چرخه توسعه نرمافزار شامل Code Review، تست خودکار، CI/CD، Monitoring، Observability و مدیریت رخدادها.
- درک مناسب از پایگاههای داده، ساختار داده و توسعه نرمافزار مبتنی بر داده.
- تجربه کار در محیطهای توسعه نرمافزار مبتنی بر Agile، Scrum یا متدولوژیهای مشابه.
- توانمندی قوی در تحلیل و حل مسئله و توانایی اتخاذ تصمیمات فنی و کسبوکاری.
- توانایی اثباتشده در هدایت، کوچینگ، منتورینگ و توسعه اعضای تیمهای مهندسی نرمافزار.
- مهارت قوی در مدیریت ذینفعان و ارتباطات مؤثر و توانایی همکاری با تیمهای محصول، کسبوکار، داده، فروش، بازاریابی و مدیران ارشد.
- توانایی بالا در سازماندهی، اولویتبندی و مدیریت همزمان پروژهها، اولویتها و وابستگیهای فنی.
- تجربه همکاری با شرکای فناوری، Vendorها یا سرویسدهندگان شخص ثالث، مزیت محسوب میشود.
- تجربه کار با سیستمهای توزیعشده و High-Throughput.
- تجربه کار با Cloud Platformها و معماریهای Cloud-Native.
- تجربه در حوزه Performance Optimization، Scalability و Reliability Engineering.
- آشنایی با تکنولوژیهای AI/ML و کاربرد آنها در محصولات نرمافزاری.
- تجربه ساخت و مدیریت تیمهای مهندسی در سازمانهای تکنولوژیمحور و در حال رشد.