Job Overview
We are looking for a highly skilled Java Backend Developer to join our team. The ideal candidate will be responsible for designing, implementing, and maintaining backend services and APIs to support our applications. They should be proficient in Java and related technologies, ensuring high performance and scalability.
Responsibilities
* Design, develop, and maintain backend services using Java.
* Build and optimize APIs for web and mobile applications.
* Work with databases to ensure efficient data storage and retrieval.
* Implement security best practices, including authentication and authorization.
* Integrate with third-party APIs and external services.
* Develop and maintain automated tests to ensure code quality.
* Collaborate with frontend developers, DevOps, and product teams to deliver end-to-end solutions.
* Monitor system performance and troubleshoot production issues.
* Document code, architecture, and processes for maintainability.
Technical Requirements
Programming Language
* Strong proficiency in Java 8+.
Frameworks and Libraries
* Spring Boot 1+ (REST API, Security, JPA/Hibernate)
* Microservices architecture
Databases
* Relational databases: PostgreSQL, MySQL, or Oracle
* NoSQL databases: MongoDB, Redis (preferred)
* Query optimization and indexing strategies
API Development & Integration
* RESTful API development
* OpenAPI (Swagger) documentation
* Authentication and authorization mechanisms (OAuth2, JWT, etc.)
DevOps & Cloud
* CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins, etc.)
* Docker & Kubernetes for containerization and orchestration
* AWS/GCP/Azure cloud services (S3, Lambda, RDS, etc.)
Testing & Debugging
* Unit testing (JUnit, Mockito)
* Integration testing
* Performance testing tools (JMeter, Gatling)
Security & Best Practices
* Secure coding principles (OWASP)
* Data encryption techniques
* API security (CORS, CSRF, rate limiting)
Soft Skills
* Strong problem-solving skills and analytical thinking.
* Good communication and collaboration with cross-functional teams.
* Ability to work in an agile development environment.
* Attention to detail and a passion for high-quality code.
Nice-to-Have Skills
* Experience with event-driven architectures (Kafka, RabbitMQ)
* Knowledge of Domain-Driven Design (DDD) principles
* Experience with GraphQL APIs
* Hands-on experience with Reactive programming (Project Reactor, RxJava)
Experience Requirements
* Mid-Level: 5+ years of experience in Java development.
* Senior-Level: 7+ years of experience with Java and Spring ecosystem.