Description

Role Responsibilities/Accountabilities:
- Develop, maintain, and implement Java-based components, applications, and frameworks.
- Lead the design and architecture of Java-based solutions.
- Collaborate with other developers, designers, and system administrators to ensure all components of the project are properly integrated.
- Troubleshoot and resolve technical issues related to Java applications.
- Develop and maintain software documentation.
- Provide technical guidance and mentoring to junior developers.
- Keep up-to-date with the latest Java technologies and trends.
- Optimize existing code for better performance.
- Analyze existing code and implement necessary changes.
- Participate in code reviews and suggest improvements.

Basic Qualifications:
- Core Java developer with 5+ years’ experience in developing, maintaining, and supporting software applications using Java/J2EE, Spring framework, and other related technologies.
- Java and J2EE technologies and well versed with features in Java 8 and above.
- Collections, Multi-Threading concepts and should be hands-on.
- Spring Boot
- Development background and recent experience developing and implementing Java based Web Services, primarily in a REST model.
- Building scalable and distributed micro-services.
- Open-source tools and frameworks such as Spring, Hibernate, Spring JPA
- Data structure and Algorithms
- Agile software development methodologies
- Build and development tools like Gradle and Maven
- GIT
- Linux / Unix
- SQL and working with relational databases

Nice to Have:
- UI technologies like Angular, REACT
- Messaging tools like Kafka
- Cloud-based data platforms and services (e.g., Snowflake, AWS, Google Cloud, Azure).
- Data pipelines using ETL/ELT frameworks and tools (e.g., Apache Spark).

Education:
- Bachelor’s or master’s degree in computer science, Engineering, or a related field

Education

Bachelor's degree