Java Developer
citi
Job Description
Responsibilities:
- Software Development:Design, develop, and implement high-quality, performant, and scalable Java/J2EE applications following best practices.
- Microservices Architecture:Contribute to the design, development, and deployment of microservices-based solutions, ensuring high availability and resilience.
- Database Interaction:Develop and optimize complex SQL queries, stored procedures, and database schemas for Oracle databases.
- Code Quality:Write clean, well-documented, and testable code; participate in code reviews to maintain high standards.
- Troubleshooting:Analyze, diagnose, and resolve technical issues in development, testing, and production environments.
- Collaboration:Work closely with product owners, architects, and other developers to understand requirements and deliver technical solutions.
- Testing:Develop and execute unit, integration, and API tests to ensure the quality and reliability of applications.
- CI/CD:Participate in CI/CD pipeline activities, including automated builds, testing, and deployments.
Qualifications:
- Experience:4-6 years of professional experience in Java/J2EE application development.
- Java/J2EE Expertise:Strong proficiency in Java (JDK 8+), J2EE technologies, and object-oriented programming principles.
- Microservices:Hands-on experience with microservices architecture, including design patterns, development using Spring Boot, and RESTful APIs.
- Frameworks:Solid experience with Spring Framework (Spring Core, Spring MVC, Spring Data JPA/Hibernate).
- Database:Proven experience with Oracle databases, including SQL, PL/SQL, performance tuning, and schema design.
- Version Control:Experience with Git or other version control systems.
- Build Tools:Proficiency with Maven or Gradle.
- Web Technologies:Familiarity with web technologies (e.g., HTML, CSS, JavaScript, JSON, XML).
- Problem-Solving:Excellent analytical and problem-solving skills with a keen attention to detail.
- Communication:Strong communication and interpersonal skills.
Preferred Skills:
- Experience with containerization technologies (Docker, Kubernetes).
- Knowledge of cloud platforms (AWS, Azure, GCP).
- Familiarity with Agile methodologies (Scrum, Kanban).
- Experience with message brokers (Kafka, RabbitMQ).
- Understanding of security best practices in application development.