- Company Name
- Cosqube
- Job Title
- Senior Java Developer
- Job Description
-
**Job Title:** Senior Java Developer
**Role Summary:** Lead the design, development, and maintenance of scalable enterprise systems using Java and Spring, focusing on concurrency, distributed messaging, and cloud‑native technologies. Drive architectural decisions, code quality, and continuous delivery pipelines within an Agile environment.
**Expectations:**
- Minimum 8 years of relevant experience in Java/Spring development.
- Demonstrated ability to architect and implement complex, scalable, and high‑performance solutions.
- Proven leadership in code reviews, mentoring, and cross‑functional collaboration.
- Strong ownership of end‑to‑end delivery, from requirements to production deployment.
**Key Responsibilities:**
1. Design and develop high‑quality, scalable Java applications using Spring framework.
2. Implement multi‑threaded, concurrent processing and optimize performance and memory usage.
3. Integrate distributed systems through message brokers (e.g., Kafka) and caching solutions.
4. Build RESTful services and event‑driven architectures following best practices.
5. Apply design patterns, domain‑driven design, and n‑tier SOA principles.
6. Write comprehensive unit, integration, and automated tests; conduct performance analysis.
7. Configure and maintain CI/CD pipelines, build, and release processes.
8. Collaborate with DevOps on Docker containerization, orchestration, and deployment strategies.
9. Participate in Agile ceremonies (sprints, retrospectives, stand‑ups) and contribute to continuous improvement.
**Required Skills:**
- Advanced Java (JDK 11+) and Spring/Spring Boot proficiency.
- Deep knowledge of multithreading, concurrency, and JVM tuning.
- Experience with Kafka, RabbitMQ, or similar messaging platforms.
- Familiarity with distributed caching (e.g., Redis, Hazelcast).
- Strong grasp of REST APIs, DTOs, and JSON/XML serialization.
- Design pattern expertise (Singleton, Factory, Observer, etc.).
- Unit testing frameworks (JUnit, Mockito) and automated testing tools.
- Performance profiling, memory analysis, and profiling tools.
- CI/CD tools (Jenkins, GitLab CI, GitHub Actions) and Docker fundamentals.
- Agile methodologies (Scrum/Kanban) and DevOps principles.
**Required Education & Certifications:**
- Bachelor’s or Master’s degree in Computer Science, Software Engineering, or related field.
- Relevant certifications (e.g., Oracle Certified Professional Java SE, Spring Professional) preferred but not mandatory.