ما در جستجوی دو توسعهدهنده بکاند سنیور با تجربهی کاری در Node.js و آشنایی عمیق با معماریهای پیشرفته مانند Microservices هستیم تا به تیم ما برای توسعه یک CRM مقیاسپذیر بپیوندند. شما باید توانایی طراحی و پیادهسازی سرویسهای مستقل با استفاده از gRPC و RESTful APIs را داشته باشید و به اصول مهندسی نرمافزار مسلط باشید.
در این نقش، شما:
- مسئول طراحی و پیادهسازی بکاند سیستمهای مبتنی بر معماری میکروسرویس خواهید بود.
- برقراری ارتباط با سایر سرویسها و سیستمهای مرتبط از طریق gRPC و RESTful API.
- پیادهسازی ارتباط real-time بین بخش بکاند و فرانتاند با استفاده از WebSocket یا سایر ابزارهای مشابه.
- مدیریت و بهینهسازی دیتابیسهای مقیاسپذیر SQL/NoSQL.
- همکاری نزدیک با تیمهای چند تخصصی برای بهبود مستمر معماری و عملکرد سیستم.
مهارتها و الزامات فنی:
- Node.js: تسلط کامل به این فناوری Node.js برای توسعه سرویسهای بکاند.
- API Design: تجربه در طراحی و پیادهسازی RESTful API و gRPC برای ارتباطات بین سیستمی.
- Docker و Kubernetes: آشنایی با این ابزارها برای مدیریت کانتینرها و دپلوی کردن میکروسرویسها.
- Real-time Communication: توانایی کار با WebSocket یا Socket.io برای ارتباطات real-time.
- SQL/NoSQL Databases: تسلط به دیتابیسهای SQL و NoSQL مانند PostgreSQL و MongoDB.
- Scalability: طراحی سیستمهایی که به صورت افقی مقیاسپذیر باشند و با افزایش تعداد کاربران و درخواستها عملکرد خود را حفظ کنند.
- Testability: نوشتن تستهای واحد و تستهای انتها به انتها برای هر سرویس با استفاده از ابزارهایی مثل Jest یا Mocha.
- Performance: بهینهسازی عملکرد سیستم از طریق پایش و تحلیل میزان مصرف منابع و زمان پاسخدهی سرویسها.
- Security: پیادهسازی امنیت در سطح سرویسها و APIها، شامل احراز هویت و مجوزدهی با استفاده از JWT یا OAuth.
- Modular Design: تجربه در پیادهسازی کد به صورت ماژولار و قابل توسعه برای نگهداری بهتر سرویسها.
- Maintainability: استفاده از الگوهای طراحی مناسب برای کاهش پیچیدگی و افزایش قابلیت نگهداری کد.
امتیازات مثبت (نقاط قوت ترجیحی):
- Continuous Integration/Continuous Deployment (CI/CD): تجربه با ابزارهای CI/CD برای دپلوی خودکار و سریع سرویسها.
- Kafka یا RabbitMQ: تجربه کار با ابزارهای مدیریت صف برای ارتباطات غیرهمزمان و مدیریت پیامها بین سرویسها.
- مستندسازی (Documentation): نوشتن مستندات فنی برای هر سرویس به طوری که مستقل و قابل درک باشد.
- ElasticSearch و Log Monitoring Tools: تجربه کار با ابزارهای نظارت و مانیتورینگ سیستم (مثل Prometheus و ELK stack).
ما به دنبال افرادی هستیم که علاوه بر داشتن مهارتهای فنی قوی، تواناییهای حل مسئله و همکاری با تیمهای چندتخصصی را نیز داشته باشند. اگر شما به دنبال پیوستن به یک تیم حرفهای با چالشهای فنی هیجانانگیز هستید، ما منتظر شما هستیم!