شرح موقعیت
استخدام برنامهنویس Java Backend با تمرکز بر معماری Schema-Driven و Low-Code ما در حال توسعه یک پلتفرم Enterprise مبتنی بر معماری Schema-Driven و Low-Code هستیم که هدف آن تبدیل فرآیندهای پیچیده کسبوکار به محصولات و سرویسهای قابل پیکربندی و اجرا است. برای توسعه Backend این پلتفرم، به یک Java Backend Developer توانمند و علاقهمند به معماری نرمافزار، سیستمهای Dynamic و طراحی موتورهای قابل پیکربندی نیاز داریم. الزامات فنی مزیت مهم داشتن تجربه در یک یا چند مورد زیر امتیاز ویژه محسوب میشود: چه کسی برای ما مناسب است؟ ما به دنبال کسی نیستیم که صرفاً بتواند Featureهای مشخصشده را کدنویسی کند. اگر به این نوع مسائل علاقه دارید: "چطور یک سیستم بسازیم که به جای Hard-Code کردن رفتارهای Business، رفتار سیستم را از رویSchema، Configuration و Rules تعیین کند؟" این موقعیت میتواند برای شما بسیار مناسب باشد. برای ما توانایی درک Architecture و Problem Solving اهمیت زیادی دارد. مثلاً اگر تجربهای در ساخت سیستمهایی داشتهاید که: حتماً در رزومه خود ذکر کنید. ویژگیهای فردی مورد انتظار سطح موقعیت Mid-Level / Senior Java Backend Developer تجربه حرفهای Java مهم است، اما برای ما توانایی فنی و درک معماری مهمتر از تعداد سال سابقه است.
مسئولیتها
- طراحی و توسعه سرویسهای Backend با Java و Spring Boot
- توسعه معماری Schema-Driven و سرویسهایی که رفتار آنها بر اساس Schema و Configuration تعیین میشود.
- توسعه APIهای RESTful و سرویسهای Microservice-based
- طراحی و پیادهسازی مدلهای Dynamic و قابل پیکربندی
- مشارکت در توسعه موتورهای Runtime، Validation، Rule و Workflow
- طراحی لایههای Data Access و کار با PostgreSQL / MongoDB
- طراحی API و Contract برای ارتباط بین سرویسها
- پیادهسازی منطقهای پیچیده Business بدون وابستگی بیش از حد به کد Hard-Coded
- مشارکت در طراحی Architecture و تصمیمگیریهای فنی
- نوشتن Unit و Integration Test
- مشارکت در Code Review و بهبود کیفیت و Maintainability کد
- همکاری نزدیک با تیم Product، Frontend و Architecture
- تسلط خوب به Java 17/21
- تجربه عملی با Spring Boot
- تسلط به مفاهیم OOP، SOLID و Design Patterns
- تجربه طراحی و توسعه REST API
- تجربه کار با Microservices
- تسلط مناسب به SQL و دیتابیسهای رابطهای
- تجربه کار با PostgreSQL
- تجربه با JPA / Hibernate / Spring Data
- آشنایی با Git و Maven/Gradle
- آشنایی با Unit Testing و ابزارهایی مانند JUnit و Mockito
- توانایی تحلیل و حل مسائل پیچیده Backend
- Schema-Driven Architecture
- Metadata-Driven Architecture
- Configuration-Driven Systems
- Low-Code / No-Code Platforms
- Dynamic Form / Dynamic UI
- Workflow Engine
- Business Rule Engine / Rule Engine
- BPMN / DMN
- Dynamic Validation
- Product Configuration Platforms
- DSL یا طراحی زبانSchema اختصاصی
- Event-Driven Architecture
- Domain-Driven Design (DDD)
- CQRS / Event Sourcing
- Kafka یا Message Brokerها
- Docker
- رفتار آنها بر اساس Configuration تغییر میکند؛
- بدون تغییر Core Code میتوان قابلیت جدیدی اضافه کرد؛
- فرمها، فیلدها یا Workflowها Dynamic هستند؛
- Business Rule ها از Application Logic جدا شدهاند؛
- یک Metadata یا Schema به Runtime تبدیل میشود؛
- یا در پروژههای Low-Code / No-Code کار کردهاید؛
- علاقهمند به طراحی سیستم و Architecture
- توانایی تحلیل مسائل پیچیده
- علاقه به یادگیری تکنولوژیها و معماریهای جدید
- توجه به کیفیت و خوانایی کد
- توانایی کار تیمی
- مسئولیتپذیری و Ownership
- توانایی ارائه و دفاع از راهکارهای فنی
نیازمندیها
- Back-end
- Java
- REST API