توسعهدهندهٔ ارشد بکاند Django با مسئولیت استقرار و نگهداری سرویس به دنبال یک توسعهدهندهٔ بکاند هستیم که مالکیت کامل سرویس را بپذیرد: از طراحی مدل داده و API تا بیلد ایمیج، پایپلاین، استقرار روی سرور و پایدار نگهداشتن آن در محیط زنده.
محیط فنی ENVIRONMENT سرویس یک API با Django 5.2 و Django REST Framework است که روی PostgreSQL مینشیند، در Docker بستهبندی میشود و پشت nginx روی سرورهای داخلی مستقر است. دو محیط زنده دارد که هر دو از طریق GitLab CI/CD و بهصورت خودکار بهروزرسانی میشوند، با دروازههای کیفیت و امنیت پیش از هر انتشار.
کدبیس بالغ است و قواعد خودش را دارد: قالب پاسخ یکسان برای همهٔ اندپوینتها، مستندات OpenAPI که با تست تضمین میشود، مجموعهای نزدیک به ۹۰۰ تست، و دروازهٔ کیفیت کد روی هر مرج. انتظار داریم در همین چارچوب کار کنید و آن را بهتر تحویل دهید.
چه کاری قرار است انجام دهید RESPONSIBILITIES ▪ طراحی و توسعهٔ اندپوینتهای REST: مدلسازی داده، سریالایزر، ویوست، فیلتر، جستوجو، مرتبسازی پایدار و صفحهبندی، در چارچوب قرارداد پاسخ یکسان پروژه. ▪ پیادهسازی منطقهای محاسباتی و مشتق: دادههایی که بهصورت خودکار از روی قواعد و آستانهها ساخته، بهروز و هرس میشوند و باید در هر شرایطی سازگار بمانند. ▪ پیادهسازی کنترل دسترسی روی دو محور مجوزهای نقشمحور و محدودهٔ دادهٔ هر کاربر، بههمراه ثبت رد پای ممیزی (audit log) برای درخواستها. ▪ توسعهٔ عملیات سنگین و اتمیک: ورود گروهی داده، تکثیر ساختارهای بزرگ، و خروجیگرفتن فایل — با گزارش خطای دقیق و قابلفهم برای کاربر. ▪ نوشتن تست برای هر تغییر و نگهداشتن پوشش کد در سطحی که دروازهٔ کیفیت را رد کند. ▪ نگهداری مستندات OpenAPI؛ در این کدبیس یک اندپوینتِ بدون مستند، بیلد را قرمز میکند. ▪ بیلد، انتشار و استقرار ایمیج روی محیطهای زنده از طریق پایپلاین، و رفع اشکال وقتی پایپلاین یا سرویس مستقرشده میشکند. ▪ نگهداری سرویسهای خودمیزبان تیم (مخزن کد، رجیستری و مخزن بسته، سرور کیفیت کد و ابزارهای جانبی) و پایدار نگهداشتن آنها. ▪ همکاری نزدیک با تیم فرانتاند برای طراحی قرارداد API، و پاسخگویی به گزارشهای خطای محیط زنده.
الزامات فنی REQUIRED تسلط واقعی بر اکوسیستم Django DJANGO & DRF ▪ حداقل ۳ سال تجربهٔ عملی توسعهٔ بکاند با Django و DRF در پروژههای واقعی و مستقرشده. ▪ تسلط بر ORM: کوئریهای پیچیده، annotate/aggregate، select_related/prefetch_related، تشخیص و رفع N+1، و کار با ContentType و روابط جنریک. ▪ درک چرخهٔ عمر مدل و تراکنش: بازنویسی save()/delete()، سیگنالها، transaction.atomic و on_commit، و آگاهی از عوارض آنها روی عملیات گروهی. ▪ مهاجرتهای دیتابیس بدون از دست رفتن داده روی محیط زنده (data migration، مهاجرتهای برگشتپذیر). ▪ احراز هویت مبتنی بر JWT، طراحی نقش و مجوز، و ملاحظات امنیتی OWASP Top 10 در سطح اپلیکیشن. ▪ تستنویسی با Django TestCase / TransactionTestCase و تشخیص اینکه کدامیک برای کدام سناریو درست است. از کد تا کانتینر روی سرور DOCKER & CI/CD ▪ نوشتن و بهینهسازی Dockerfile (لایهبندی، کش، ایمیج سبک) و کار روزمره با docker compose. ▪ طراحی و نگهداری پایپلاین در GitLab CI (یا معادل آن): مرحلهبندی، rules، آرتیفکت، کش، و مدیریت متغیرهای محرمانه. ▪ کار با رجیستری و مخزن خصوصی (Nexus / Artifactory) برای ایمیجها و بستههای Python. ▪ استقرار روی سرور Linux، پیکربندی gunicorn پشت nginx، مدیریت فایلهای استاتیک و مدیا، و تفکیک پیکربندی هر محیط. ▪ آشنایی با ابزارهای کیفیت و امنیت در پایپلاین: pylint، coverage، bandit، pip-audit، SonarQube و اسکن DAST.
نگهداری سرویس در محیط زنده OPERATIONS ▪ راحت بودن با خط فرمان Linux: سرویسها، لاگها، دسترسیها، فضای دیسک و عیبیابی شبکه. ▪ مدیریت PostgreSQL در حد پشتیبانگیری، بازیابی، بررسی کوئریهای کند و نگهداشتن سلامت دیتابیس. ▪ پیکربندی nginx شامل پروکسی معکوس، TLS و تمدید گواهی، و سرو کردن فایلهای آپلودی. ▪ پایش و عیبیابی: خواندن لاگها، ردیابی خطای محیط زنده تا ریشه، و مستندسازی راهحل. ▪ بهروزرسانی کنترلشدهٔ سرویسها بدون قطعی طولانی، و داشتن نقشهٔ بازگشت وقتی انتشار خراب از آب درمیآید.
کیفیت و طرز کار CRAFT ▪ کد تمیز و همسبک با کدبیس موجود؛ در این پروژه «چرا»ی یک تصمیم غیربدیهی در کامنت نوشته میشود، نه «چه». ▪ Git در سطح حرفهای: شاخهبندی، مرج ریکوئست، بازبینی کد و کامیتهای خوانا. ▪ فارسینویسی درست و یکدست برای پیامهای کاربر و مستندات، و انگلیسی کافی برای خواندن مستندات فنی. ▪ مسئولیتپذیری تا انتهای کار: تحویل یعنی مستقرشده، تستشده و مستندشده، نه فقط مرجشده.
امتیاز مثبت NICE TO HAVE + تجربهٔ کار با Celery و Redis برای کارهای پسزمینه و زمانبندیشده. + تجربهٔ تولید خودکار سند و گزارش (python-docx، openpyxl) یا یکپارچهسازی با سرویسهای ویرایش آنلاین سند. + تجربهٔ راهاندازی پایش و هشدار (Prometheus، Grafana، Sentry). + تجربهٔ کار روی سامانههای سازمانی با نقشها و سطوح دسترسی متعدد. + مشارکت در پروژههای متنباز یا نمونهکار عمومی قابل بررسی
شرکت دانش بنیان ایساتیس دانش تولید تجهیز در سال 1398 با هدف بهبود و رشد صنعت کشور تأسیس گردید. این مجموعه که متشکل از دانش آموختگان دانشگاههای برتر و جمعی از نخبگان جوان است، همواره به بررسی مشکلات صنعت و یافتن راه حل هایی برای این مشکلات پرداخته است. تمام فرایند از ایده پردازی، تولید و فروش محصولات توسط متخصصین این مجموعه صورت میگیرد. افتخار ما حرکت در راستای آخرین تکنولوژیهای علمی و تحقیقاتی در تولید محصولات دانش بنیان است که این شرکت را به شرکتی ارزش آفرین برای جامعه ذینفعان بدل نماییم و آرمانمان بنا نهادن فردایی روشنتر برای آینده کشور عزیزمان بوده و همواره تلاش خود را در اجرای این رسالت و ارتقا آن ایفا مینماییم.