Responsibilities
- Requirements Analysis: Gather and analyze client requirements, understand business processes.
- Development: Apply best coding standards and design patterns to ensure the good quality deliverables with maintainability.
- Customization: Customize existing functionalities as per the requirement of the customer.
- Testing: Conduct unit testing and participate in the quality assurance process to ensure the reliability, performance, and security of developed solutions.
- Troubleshooting: Identify and resolve issues, bugs, and performance bottlenecks in the product, providing timely support to clients and end-users.
- Integration: Integrate existing with other enterprise systems and applications, such as databases, third-party APIs, and legacy systems, to ensure seamless data flow and functionality.
- Documentation: Create technical documentation for the solutions, including design specifications, user manuals, and process diagrams.
- Continuous Improvement: Stay updated with the latest trends and best practices in Java development, proposing and implementing improvements to enhance the product's capabilities and performance.
Requirements
- 5+ Years of proven experience in Java application development
- Strong understanding of Core Java (Java 17+, preferably Java 21)
- Experience in Swing application development
- Strong expertise in Spring Framework (Spring Web, Spring Context, Spring Test)
- Hands-on experience with reactive programming (Project Reactor or similar Java patterns)
- Solid understanding of REST API design, HTTP protocols, and microservices patterns
- Knowledge of TLS/SSL, HTTPS, and secure communication protocols
- Experience with digital signatures, encryption, and key management concepts
- Experience with XML, SOAP, REST APIs, and message security
- Experience with Docker and containerized deployments
- Proficiency in SQL and relational databases (PostgreSQL, MySQL, MariaDB)
- Familiarity with CI/CD platforms (Jenkins, GitLab CI, or GitHub Actions)
- Strong knowledge on JUnit and integration testing
- Good analytical, problem solving and debugging skills
- Solid understanding of software development methodologies, TDD, design patterns, best practices
- Exposure to catering to non-functional requirements - performance, security
- Extensive knowledge of software development methodologies, Agile/Scrum practices
- Good communication skills