Senior Java Developer

  • Bengaluru
  • Apica

About Us

Apica is a leading provider of innovative software solutions in the Observability space, designed to revolutionize how businesses gain insights into their systems and applications. We are dedicated to delivering cutting-edge products that streamline processes and enhance user experiences. Our mission is to empower organizations to thrive in the digital age through intuitive and visually compelling software.


Job Description

We are seeking a talented and passionate Senior Java Developer to join our dynamic team at Apica. In this role, you will be a key contributor to our software development team, responsible for designing, developing and maintaining robust and scalable applications. You will work closely with cross-functional teams to deliver high-quality software solutions that meet our customer’s needs and contribute to the growth of our business.


If you are a passionate and experienced Senior Java Developer looking to make a significant impact in a dynamic and collaborative environment, we would love to hear from you. Apply now and join us in shaping the future of Observability space.

 

Key Responsibilities

  • Collaborate with cross-functional teams to define, design, and ship high-quality software solutions.
  • Develop, test, and maintain high-performance and scalable Java applications using Core Java, Spring Boot, Spring Framework and other relevant technologies.
  • Design and implement RESTful APIs, ensuring seamless integration between different services.
  • Work with messaging systems like Kafka for real-time data processing and communication.
  • Containerize applications using Docker/Podman for efficient deployment and scalability.
  • Work with CI/CD pipelines using Maven, JUnit and GitHub Actions to automate and streamline the development and deployment process.
  • Write unit tests and integration tests to ensure the reliability and robustness of the codebase.
  • Troubleshoot, debug, and optimize application performance as needed.
  • Keep up-to-date with industry trends and contribute to the continuous improvement of development processes and technology stack.

 

Qualifications & Requirements

  • Bachelor’s or Master’s degree in Computer Science, Software Engineering or a related field (or equivalent work experience).
  • Proven experience as a Senior Java Developer or similar role.
  • Proficiency in Core Java, Spring Boot, Spring Security, Spring Framework.
  • Experience with messaging systems like Kafka for real-time data processing and communication.
  • Experience with RESTful APIs and web services.
  • Familiarity with relational and NoSQL databases (e.g., MySQL, PostgreSQL, MongoDB).
  • Solid understanding of containerization with Docker/Podman and orchestration with HashiCorp Nomad/Kubernetes.
  • Experience with CI/CD practices and tools such as Maven, GitHub Actions, TeamCity, and JIRA.
  • Knowledge of version control systems (e.g., Git).
  • Understanding of software development principles and design patterns.
  • Understanding of microservice architecture and event driven architecture.
  • Strong knowledge of testing frameworks, especially Junit and Mockito.
  • Familiarity with agile development methodologies.
  • Excellent problem-solving and debugging skills, attention to detail, and the ability to work collaboratively in a team environment.

 

Nice-to-Have Skills

  • Experience with cloud platforms (e.g., AWS, Azure, Google Cloud).
  • Familiarity with server-side scripting languages like Python, Go.
  • Experience with Spring Webflux and Vert.x framework in building reactive applications.
  • Familiarity with various network protocols.