Senior Developer
شرح وظایف:
• توسعه و نگهداری سرویسها و ماژولهای Backend بر پایه Python و Django
• طراحی، توسعه و مستندسازی REST API و Web Serviceهای داخلی و بیرونی
• تحلیل نیازمندیهای کسبوکار و تبدیل آنها به راهکار فنی قابل توسعه و نگهداری
• توسعه و بهینهسازی فرآیندهای مالی، بیمهای و تراکنشی با حساسیت بالا نسبت به صحت دادهها
• طراحی و بهینهسازی Queryها، Stored Procedureها و فرآیندهای مرتبط با پایگاه داده
• کار با حجم بالای داده و بهینهسازی Performance در سطح Application و Database
• توسعه و نگهداری پردازشهای Background و Asynchronous
• تحلیل و رفع خطاهای پیچیده در محیط Production و بررسی Root Cause مشکلات
• توسعه قابلیتهای جدید در کنار نگهداری و Refactor تدریجی بخشهای Legacy سیستم
• طراحی راهکار با در نظر گرفتن Transaction، Concurrency، Idempotency و یکپارچگی دادهها
• پیادهسازی Validation، Error Handling، Logging و Monitoring مناسب برای سرویسها
• نوشتن و نگهداری Unit Test و Integration Test برای بخشهای حساس سیستم
• انجام Code Review و کمک به حفظ کیفیت و استاندارد کد در تیم
• همکاری نزدیک با تیمهای Frontend، Product، DevOps و سایر اعضای Backend
• مشارکت در طراحی Architecture و تصمیمگیریهای فنی پروژهها
• مستندسازی سرویسها، منطقهای مهم و تغییرات فنی مورد نیاز تیم توسعه
مهارتهای مورد نیاز:
• تسلط بالا به Python و تجربه حرفهای توسعه Backend
• تسلط به Django و Django REST Framework
• تسلط به طراحی و توسعه RESTful API
• تسلط مناسب به مفاهیم Object-Oriented Programming، Clean Code و اصول طراحی نرمافزار
• تسلط بالا به SQL و توانایی تحلیل و بهینهسازی Queryهای پیچیده
• تجربه حرفهای کار با Oracle Database و آشنایی مناسب با PL/SQL
• تجربه کار با پایگاه دادههای NoSQL، ترجیحاً MongoDB
• تجربه کار با Redis و Celery و پردازشهای Background
• درک مناسب از مفاهیم Database Transaction، Locking، Concurrency و Data Integrity
• تجربه طراحی سرویسهای Idempotent و مدیریت صحیح تراکنشهای مالی و درخواستهای تکراری
• توانایی تحلیل Performance و شناسایی Bottleneck در Application و Database
• تجربه کار با سیستمهای Legacy و توانایی Refactor تدریجی بدون ایجاد اختلال در فرآیندهای موجود
• تسلط به Git و Workflowهای تیمی توسعه نرمافزار
• آشنایی مناسب با Linux و توانایی بررسی Log و عیبیابی سرویسها در محیط Server
• آشنایی با Docker و مفاهیم Deployment و CI/CD
• توانایی نوشتن Unit Test و Integration Test
• آشنایی با مفاهیم Security در Web Application و APIها
• توانایی تحلیل مسائل پیچیده، Debugging و حل مسئله بهصورت مستقل
• توانایی Code Review و ارائه راهکار فنی به سایر اعضای تیم
• تجربه کار روی سامانههای بزرگ سازمانی، مالی، بیمهای یا Transaction-heavy
• حداقل 3 تا 5 سال تجربه حرفهای توسعه Backend، ترجیحاً در پروژههای واقعی و Production
ویژگیهای شخصی:
• داشتن روحیه کار تیمی، ارتباطات خوب و مدیریت زمان
• توجه قوی به جزئیات و توانایی انجام چند کار همزمان
• علاقهمند به یادگیری فناوریهای جدید
• توانایی حل مسئله و مهارتهای تحلیلی