Design and develop high-quality Java-based applications and RESTful APIs that adhere to industry standards and best practices.
Collaborate with cross-functional teams, including product owners, architects, and fellow developers, to gather requirements and define technical specifications.
Implement and maintain microservices-based architectures using Java technologies, ensuring modularity, scalability, and maintainability.
Conduct low-level technical design, translating business requirements into detailed technical specifications, including class structures, interfaces, and interactions.
Utilize object-oriented programming principles and design patterns to create reusable and modular code.
Write comprehensive unit tests to ensure the reliability, quality, and maintainability of code.
Optimize application performance and scalability, ensuring efficient resource utilization and responsiveness.
Implement Continuous Integration/Continuous Deployment (CI/CD) practices to automate the build, test, and deployment processes.
Identify and troubleshoot issues and bottlenecks in the system, including performance optimization and debugging.
Collaborate with DevOps teams to deploy applications and manage the deployment pipeline.
Stay updated with the latest trends, tools, and technologies related to Java development, APIs, microservices, and software engineering practices.
Bachelor's degree in Computer Science, Software Engineering, or a related field.
Proven experience as a Java Developer, with a focus on API development and microservices architectures.
Strong knowledge of Java programming language, including core concepts, object-oriented programming, and design patterns.
Proficiency in JEE (Java Enterprise Edition) technologies, such as servlets, JSP, EJB, and JPA.
Experience with building and consuming RESTful APIs using frameworks like Spring Boot or JAX-RS.
Familiarity with microservices architecture patterns and concepts, such as service discovery, load balancing, and fault tolerance.
Strong understanding of software development methodologies, Agile practices, and version control systems.
Ability to create low-level technical designs, including class diagrams, sequence diagrams, and component interactions.
Solid experience with unit testing frameworks, such as JUnit or Mockito, and automated testing tools.
Knowledge of performance optimization techniques and ability to optimize code for scalability and efficiency.
Familiarity with CI/CD tools and practices, such as Jenkins, Git, and Docker.
Excellent problem-solving and analytical skills, with the ability to debug and resolve complex issues.
Strong communication and teamwork skills, with the ability to collaborate effectively with cross-functional teams.
Join us & Explore thousands of jobs