This position is responsible for the development and support of Java web applications using SQL databases such as NoSQL, MySQL, PostgreSQL, or Oracle. You must be proficient in Java and PL/SQL, with familiarity in Microservices frameworks like Spring, Spring Boot, Hibernate, and JPA. You will work collaboratively with peers to develop, enhance, and maintain applications, including client-specific websites and Java-based tools.
The candidate must be capable of working both independently and as part of a team. Strong interpersonal skills are essential for success in this role. You will support current customer applications and contribute to the development of new features or modifications.
This role requires familiarity with configuration and system testing processes. The position is suited for a self-motivated and experienced individual who can perform effectively in a dynamic web development environment.
Responsibilities:
Develop/implement new modules to specifications
Implement fixes for existing applications per specifications independently
Implement unit and integration test cases
Perform testing and work with QA on ensuring that the application meets relevant QA standards by taking ownership to devise a plan for minimizing errors and bugs
Deploy changes/new modules into production environment, or client framework
Troubleshoot issues and provide solutions in applications under development and applications in production where you might have to work with someone's code
Maintain and enhance existing microservices
Participate in splitting the monolithic patient service into microservices (Spring Boot)
Support migration to Java 21/25, ensuring compatibility, performance optimization, and modernization of existing services
Optimize thread/connection pool settings
Implement and verify DB indexing improvements
Keep clear and descriptive code comments; understand project documentation and keep project files (naming convention and structure) well organized
Contribute to technical documentation and deployment guides
Communicate with client and other teams' staff on task progress, assess implementation risks, and work toward keeping the project within objectives (timeline, budget, quality)
Work closely with backend, DevOps, and QA teams
Increase proficiency level in technologies used by the client and investigate and develop skills in new technologies
As a Senior Developer, your additional responsibilities will include:
Mentor and guide other team members to gain expertise on domain and technology
Assist in reviewing code (issues free, ease of maintenance, no effect on application run time, requirement compliance) and provide feedback
Technical Skills:
Strong Core Java experience with modern features (Java 8/21/25)
Experience with Spring Boot for building, maintaining, and deploying microservices
Experience in designing and implementing microservices using Spring Boot
Experience with Hibernate/JPA, including ORM mapping, caching strategies, and troubleshooting database synchronization issues
Experience with XML, Web Services, and AJAX
Experience with SQL/NoSQL databases and performance optimization
Experience with unit testing (e.g., JUnit, Mockito)
Experience working with tools like JMeter, VisualVM, and SLF4J
Experience in the IntelliJ development environment
Experience in GCP cloud services such as Cloud Functions, Buckets, Signed URLs, Jenkins, and JSP is an added advantage
In-depth understanding of Java and JEE internals (class loading, memory management, transaction management, etc.)
Good understanding of relational database concepts and database design (preferably SQL/NoSQL, Postgres, Schema design)
Good understanding of coding and other software development best practices
Good knowledge of REST API standards
Knowledge of front-end technologies like ReactJS
Exposure to distributed systems concepts such as scalability and fault isolation
Familiarity with Pub/Sub and event-driven architecture
Familiarity with caching systems (e.g., Redis) is desirable
Familiarity with containerization of applications using Docker
Familiarity with source control and project management tools (e.g., Git, Jira)
Personal Skills:
Strong analytical skills: can read business requirements, analyze issues and proposed solutions to make sure they can be implemented successfully
Ability to identify alternatives and find an optimal way to implement a solution
Ability to apply logic in identifying patterns, structures and formats and organizing ideas to validate solutions proposed
Ability to quickly learn new concepts and software
Ability to work in a team environment
Ability to explain technical project details effectively in English verbally and in writing
Ability to manage time on several tasks and juggle competing deadlines
Education and Work Experience:
Background in CS, IT or related scientific discipline is preferred
The candidate should have over 3 years of working experience or an equivalent combination of education and experience in Java