

Job Position Description
We are seeking a Senior Back-End Developer with deep expertise in Java and experience in designing and developing complex, scalable, and Microservices-based systems.
Responsibilities
Design, develop, and maintain Java-based back-end services using Spring Boot and Spring Cloud
Architect and implement Microservices, including API Design, Event-Driven Architecture, and Domain-Driven Design
Design and develop Database Schemas (PostgreSQL / MongoDB)
Develop APIs (RESTful and, if needed, GraphQL)
Implement CI/CD and collaborate closely with the DevOps team (Docker, Kubernetes, ArgoCD)
Optimize Performance, Memory Management, Concurrency, and Threading in services
Analyze and resolve complex Production issues, including Logging, Monitoring, and Observability (ELK, Prometheus, Grafana)
Participate in Code Reviews
Collaborate on designing the overall system architecture and provide Best Practices
Write Unit Tests and Integration Tests (JUnit, Mockito, TestContainers)
Interact with Product, Frontend, QA, and DevOps teams
Required Technical Skills
Complete mastery of Java 17 or 21
Complete mastery of Spring Boot, Spring Framework, Spring Data, Spring Security
Practical experience with Microservices, Event-Driven Architecture, Message Brokers (Kafka / MQTT / Redis Streams)
Mastery of SQL and working with RDB databases (PostgreSQL)
Complete familiarity with NoSQL databases (MongoDB / Redis)
Practical experience with Docker and working with Kubernetes
Architectural concepts such as DDD – Clean Architecture – Hexagonal – CQRS – Event Sourcing
Familiarity with Observability tools (ELK, Grafana, Prometheus)
Working with Version Control and CI/CD tools (Git, GitLab, ArgoCD)
Additional Skills (considered an advantage)
Experience with Reactive Programming (Project Reactor, WebFlux)
Familiarity with gRPC, OpenAPI/Swagger, Spring Cloud Gateway
Experience with Cloud Platforms
Familiarity with Security, OAuth2.0, Keycloak, JWT
Experience in Performance Tuning, JVM Profiling, and GC Optimization
Experience working with FinTech, Payment, Blockchain domains
Personal Characteristics
Technical leadership ability and high Ownership
Algorithmic thinking, analytical mindset, and Solution-Oriented approach
High skill in technical documentation
Ability to work in a team and effective communication
Interest in continuous learning and solving real large-scale challenges
At least 5 to 8 years of professional experience in Java development
Responsible spirit and capability to Deliver precise products
ثبت مشکل و تخلف آگهی
ارسال رزومه برای صندوق پژوهش و فناوری استان البرز