Design, develop, and maintain robust, scalable, and high-performance enterprise Java applications using Java 17+, J2EE, Spring Boot 3.0+, Spring MVC, and related frameworks.
Build and expose RESTful and SOAP web services; implement and consume APIs following industry’s best practices.
Translate business requirements and technical specifications into well-structured, maintainable code and design artifacts.
Participate in architectural reviews and contribute to technical design decisions, including selection of frameworks, libraries, and tools.
Microservices & Cloud-Native Engineering
Develop and deploy cloud-native microservices using Docker, Kubernetes, and AWS cloud platforms.
Apply microservices design patterns such as sidecar, circuit breaker, ingress, and egress to build resilient distributed systems.
Package services into container images and manage configuration for deployment on cloud infrastructure.
Participate in the configuration and optimization of CI/CD pipelines using Jenkins, Maven, Artifactory, and Git/GitHub.
Data & Messaging
Write efficient SQL queries and work with relational databases including PostgreSQL and DB2 via JPA/Hibernate ORM.
Implement and support enterprise messaging solutions using JMS-based technologies such as ActiveMQ or AMQ for asynchronous, event-driven architectures.
Code Quality, Security & Testing
Champion and implement Test Driven Development (TDD) and Behavior Driven Development (BDD) practices using JUnit, Mockito, and Cucumber.
Perform static code analysis using tools such as Fortify and SonarQube; identify and remediate security vulnerabilities in a timely manner.
Conduct thorough code reviews and provide constructive feedback to peers to maintain high code quality standards.
Develop and maintain automated unit, integration, and performance tests; use JMeter for load and performance testing.
Infrastructure & Collaboration
Support infrastructure automation using tools such as Ansible, Gradle, and Maven.
Leverage GitHub Copilot and other AI-assisted development tools to accelerate delivery.
Collaborate effectively across cross-functional teams; communicate technical concepts clearly to both technical and non-technical stakeholders.
Mentor junior engineers, contribute to team knowledge-sharing, and support onboarding of new team members.
Manage multiple priorities within Agile/Scrum delivery frameworks, ensuring timely and high-quality deliverables.
Requirements:
Education & Experience
Bachelor’s degree in computer science, Software Engineering, Information Technology, or a related field; equivalent practical experience will be considered.
Minimum of 8 years of progressive software development experience, with a strong focus on Java/J2EE enterprise applications.
8 years of relevant experience and/or specialized training or certification in Java, J2EE, and SQL technologies.
Core Technical Skills
Expert-level proficiency in Java (17.x and above), J2EE, Spring Framework, Spring Boot (3.0+), Spring MVC, JPA, and Hibernate.
Strong experience with RESTful and SOAP web services design and development; proficiency in JSON and XML.
Solid understanding of relational database design and SQL querying; hands-on experience with PostgreSQL and/or IBM DB2.
Demonstrated experience packaging and deploying services with Docker; configuring and deploying workloads on Kubernetes and AWS.
Hands-on experience with enterprise messaging technologies (JMS, ActiveMQ, or AMQ).
Proficiency with the DevOps toolchain: Git, GitHub, Jenkins, Maven, JUnit, JMeter, Artifactory.
Practical knowledge of static analysis and security remediation using Fortify and/or SonarQube.
Familiarity with infrastructure automation tools such as Ansible, Gradle, and Maven.
Working knowledge of microservices patterns including sidecar, circuit breaker, ingress, and egress.
Strong TDD/BDD background with experience using JUnit, Mockito, and Cucumber.