شرح موقعیت
شرح شغل ما به دنبال یک برنامهنویس .NET مسئولیتپذیر و علاقهمند به یادگیری هستیم که بتواند در کنار اعضای تیم توسعه، در تحلیل فنی، طراحی، پیادهسازی، تست و نگهداری نرمافزار مشارکت کند. فرد منتخب با استفاده از فناوریهای روز اکوسیستم .NET و بر اساس نیازمندیهای کسبوکار، راهکارهای نرمافزاری باکیفیت، قابل نگهداری و توسعهپذیر ارائه خواهد داد. مسئولیتها و وظایف تحلیل فنی نیازمندیها و پیادهسازی قابلیتهای نرمافزاری بر اساس مستندات و طراحی انجامشده. توسعه و نگهداری سرویسها و برنامههای کاربردی مبتنی بر .NET. طراحی و پیادهسازی APIهای مورد نیاز با رعایت اصول طراحی و استانداردهای توسعه نرمافزار. رعایت اصول کدنویسی تمیز (Clean Code)، خوانایی کد، قابلیت نگهداری و توسعهپذیری نرمافزار. عیبیابی، رفع اشکالات و مشارکت در بهبود عملکرد و کیفیت سیستم. نوشتن و اجرای تستهای نرمافزاری متناسب با نیاز پروژه. مشارکت در بازبینی کدها (Code Review) و بهاشتراکگذاری دانش فنی با اعضای تیم. همکاری مؤثر با اعضای تیم توسعه و سایر ذینفعان در چارچوب فرآیند اسکرام. مشارکت در برآورد فعالیتها، برنامهریزی اسپرینت و بهبود مستمر فرآیند توسعه. مهارتها و دانش فنی مورد نیاز تسلط بر زبان برنامهنویسی C# و مفاهیم شیءگرایی (OOP). تسلط بر مفاهیم اصلی .NET و تجربه توسعه برنامههای کاربردی با ASP.NET Core. آشنایی مناسب با طراحی و پیادهسازی RESTful API. تسلط بر SQL و توانایی کار با پایگاه داده SQL Server. تجربه کار با Entity Framework Core و مفاهیم ORM. آشنایی با مفاهیم طراحی پایگاه داده، روابط بین جداول، ایندکسها و بهینهسازی کوئریها. آشنایی با اصول طراحی نرمافزار، SOLID و الگوهای طراحی متداول. آشنایی با Git و مفاهیم کنترل نسخه. آشنایی با مفاهیم تست نرمافزار و اصول اشکالزدایی (Debugging). آشنایی با چارچوب کاری Scrum و فرآیند توسعه چابک نرمافزار. مهارتهای امتیازی تجربه کار با معماری لایهای، Clean Architecture یا Domain-Driven Design (DDD). آشنایی با مفاهیم Asynchronous Programming، مدیریت همزمانی و کارایی برنامهها. تجربه پیادهسازی Unit Test و Integration Test. آشنایی با Docker و مفاهیم پایه CI/CD. آشنایی با اصول امنیت نرمافزار و طراحی APIهای امن. تجربه کار با سیستمهای نرمافزاری سازمانی و پایگاههای داده با حجم بالای اطلاعات. شایستگیهای فردی توانایی حل مسئله و تفکر تحلیلی. مسئولیتپذیری و تعهد نسبت به کیفیت و زمانبندی تحویل کار. توانایی همکاری مؤثر و تعامل سازنده با اعضای تیم. علاقهمندی به یادگیری مستمر و بهروزرسانی دانش فنی. پذیرش بازخورد و مشارکت فعال در بهبود کیفیت کد و فرآیندهای تیم. توانایی مطالعه مستندات فنی و یادگیری فناوریهای جدید. دقت، نظم و توجه به جزئیات در فرآیند توسعه نرمافزار.
نیازمندیها
- .NET
- C#
- OOP