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