Java Developer
We are looking for an experienced Java Developer with strong expertise in Java, Spring technologies, Microservices, asynchronous communication, APIs, and relational databases. The ideal candidate should have hands-on experience designing and developing scalable applications and be comfortable working in an Agile development environment. The candidate will collaborate with cross-functional teams to design, develop, integrate, test, and maintain high-quality software solutions.
- 4-7 years of professional software development experience.
- Strong programming experience in Java.
- Hands-on experience with Spring technologies and Spring-based application development.
- Strong understanding of Microservices architecture and experience developing Microservices-based applications.
- Experience with asynchronous communication between services.
- Good understanding of object-oriented programming principles and software design concepts.
- Hands-on experience in developing and consuming REST APIs and web services.
- Experience integrating applications with internal and external services.
- Good understanding of API-based application architectures.
- Experience working with Relational Database Management Systems (RDBMS) and strong understanding of database concepts.
- Hands-on experience with cloud platforms such as AWS or Google Cloud Platform (GCP).
- Familiarity with DevOps principles and practices.
- Experience working with CI/CD pipelines and automated build, testing, and deployment processes.
- Experience working with large-scale or distributed applications.
- Understanding of cloud-native application development.
- Knowledge of application monitoring, troubleshooting, and performance optimization in cloud environments.
- Experience working with Microservices-based applications in production environments.
- Strong understanding of the Software Development Life Cycle (SDLC).
- Hands-on experience working in Agile/Scrum development environments.
- Excellent analytical, troubleshooting, and problem-solving skills.
- Strong attention to detail with a focus on delivering high-quality and maintainable solutions.
- Good verbal and written communication skills.
- Ability to collaborate effectively with cross-functional teams.
- Strong sense of ownership and accountability.
- Ability to adapt to evolving business and technical requirements.
- Design, develop, test, and maintain robust and scalable applications using Java and Spring technologies.
- Develop and maintain Microservices-based applications and distributed services.
- Design and implement RESTful APIs and web services for communication between applications and services.
- Work with asynchronous communication patterns and messaging-based integrations.
- Develop and maintain integrations with internal and external systems through APIs and web services.
- Work with relational database management systems (RDBMS) for application data storage and retrieval.
- Write clean, efficient, reusable, and maintainable code following software engineering best practices.
- Participate in code reviews, debugging, troubleshooting, and performance optimization.
- Collaborate with product owners, developers, QA engineers, DevOps teams, and other stakeholders throughout the software development lifecycle.
- Participate actively in Agile/Scrum ceremonies, including sprint planning, daily stand-ups, refinement sessions, reviews, and retrospectives.
- Work with AWS or Google Cloud Platform (GCP) for developing or supporting cloud-based applications.
- Contribute to automated build, testing, deployment, and release processes using CI/CD pipelines and DevOps practices.
- Troubleshoot production and non-production issues and identify appropriate technical solutions.
- Ensure applications meet agreed standards for quality, reliability, maintainable, and performance.