Role Overview
Ushyaku Software Solutions is seeking a skilled and passionate Java Developer to join our dynamic team. You will be instrumental in designing, developing, and maintaining robust, scalable, and high-performance Java-based applications, contributing to critical system integrations, and ensuring the smooth operation of our production environments.”
Job Description
- Design, develop, and maintain high-quality, scalable, and robust Java applications and microservices.
- Implement and manage SQL objects including tables, views, stored procedures, and triggers, ensuring optimal database performance.
- Create and consume REST/SOAP APIs and web services (JAX-WS, JAX-RS) to facilitate seamless integration with internal and external systems.
- Contribute to the design and implementation of multi-threaded applications and background services, potentially using tools like Java Service Wrapper.
- Support and troubleshoot API integrations with external and third-party systems, resolving complex issues efficiently.
- Perform log analysis and debug production issues, providing timely solutions and escalating critical incidents with proper diagnostics.
- Collaborate with cross-functional teams to define, design, and ship new features, adhering to best practices and coding standards.
- Participate in code reviews to ensure code quality, maintainability, and adherence to architectural guidelines.
- Manage dependencies using tools like Maven and oversee application deployment and configuration on Apache Tomcat.
- Engage in continuous learning to stay updated with the latest industry trends and technologies.
Required Skills
- Strong proficiency in Core Java, including Object-Oriented Programming (OOP) principles, concurrency, and collections framework.
- Solid understanding and hands-on experience with the Spring Framework (Spring Boot, Spring MVC, Spring Data JPA), with a good grasp of the core Spring principles.
- Expertise in designing, developing, and consuming RESTful APIs and web services, along with a strong understanding of HTTP protocols.
- Proficiency in database technologies, including strong SQL skills (queries, joins, stored procedures) and experience with JDBC-based data access.
- Experience with version control systems, particularly Git.
- Familiarity with unit testing frameworks such as JUnit and Mockito, and a commitment to Test-Driven Development (TDD) principles.
- Demonstrated ability in multi-threaded application design and development.
- Knowledge of messaging systems like JMS (e.g., Apache ActiveMQ, Artemis) for MQ usage.
- Experience with dependency management tools like Maven.
- Basic understanding of encryption/decryption techniques (e.g., AES/RSA).
- Hands-on experience with Apache Tomcat for application deployment and configuration.
- Familiarity with basic MVC frameworks such as Apache Struts or Stripes (Struts-2 or higher preferred).
- Strong problem-solving, analytical, and debugging skills, particularly for production environments.
- Excellent communication (technical and interpersonal) and coordination skills, with the ability to articulate complex technical concepts.
- Ability to work independently, manage workload effectively under pressure, and collaborate within a team environment.
- Proactive approach to identifying and resolving issues with meticulous attention to detail.
Experience
- Demonstrated 4–8 years of professional experience as a Java Developer, with a focus on building robust and scalable enterprise applications.
- Practical experience with JSP, JSTL, and custom tag libraries for web development.
- Prior experience with SMPP-based integration with SMSCs and integration with push notification service providers (e.g., FCM/APNS).
- Demonstrated experience in Java Mail based email handling.
- Familiarity with API debugging tools such as Postman and curl.
- Basic working knowledge of Windows Server Failover Clustering (WSFC) is a plus.
- Experience in a production support environment, including incident management and resolution.
I’m Interested!