Title: Senior Java Developer
Location: Charlotte, NC (Onsite)
Type: Contract
Day to Day Job Duties:
- Work with business and technical stakeholders to gather, analyze, and understand application and API requirements.
- Design, develop, test, deploy, maintain, and enhance RESTful APIs and microservices using Java/J2EE and Spring-based technologies.
- Write tested, maintainable, documented, and reusable Java code following established development standards and best practices.
- Develop and maintain applications using Java 8, Spring Framework, Spring Boot, and Spring Batch.
- Collaborate with front-end developers to integrate applications with RESTful APIs and backend services.
- Integrate applications with external web services and third-party systems.
- Develop, maintain, and modify REST APIs while ensuring compliance with industry-standard API design and development practices.
- Troubleshoot and resolve application defects, API issues, integration problems, and production-related defects.
- Develop unit and integration tests using JUnit and Mockito and apply Test-Driven Development (TDD) practices.
- Develop and execute unit test scripts and support end-to-end and functional testing using tools such as FitNesse/Test API, Protractor, and Cucumber.
- Develop and maintain API documentation using Swagger, YAML, or similar API documentation tools.
- Work with relational databases including Oracle RDS and DB2, including SQL queries and stored procedures.
- Develop and support applications deployed in cloud and containerized environments using AWS, Docker, Kubernetes, and AWS Elastic Kubernetes Service (EKS).
- Implement and support microservices patterns including API Gateway, service discovery, configuration services, and sidecar services.
- Integrate Spring-based applications with messaging platforms such as Apache Kafka, AMQP, RabbitMQ, and/or ActiveMQ.
- Participate in user story analysis, identify technical dependencies and timelines, and provide development estimates for backlog items.
- Develop innovative and reusable software components to improve application maintainability and development efficiency.
- Track and update development activities and delivery progress using tools such as Atlassian JIRA.
- Follow Agile/Scrum development practices and adhere to agreed development and delivery timelines.
- Work with source-control, build, deployment, and DevOps tools such as Git/SVN, Jenkins, Fortify, Sonar, and Black Duck.
- Support application development and deployment in Unix/Linux environments, including cloud-based environments.
- Follow established CI/CD, DevOps, application security, testing, and deployment practices throughout the software development lifecycle.
Basic Qualifications:
- Minimum 8+ years of hands-on software development experience, including development of RESTful APIs and microservices using technologies such as Java/J2EE, Spring Framework, Spring Boot, and Spring Batch.
- Minimum 8+ years of Hands-on experience with Java 8 and microservices-based application architectures.
- Minimum 8+ years of Experience designing, developing, testing, deploying, and maintaining RESTful APIs.
- Minimum 8+ years of Experience with cloud and container technologies including AWS Elastic Kubernetes Service (EKS), Docker, and Kubernetes.
- Minimum 8+ years of Experience working with AWS RDS Oracle Database, including SQL and stored procedures.
- Minimum 8+ years of Experience with API management technologies such as Apigee and/or API Gateway.
- Minimum 8+ years of Experience with Test-Driven Development (TDD), unit testing, and integration testing.
- Minimum 8+ years of Experience developing unit tests using JUnit and Mockito.
- Exposure to end-to-end and functional testing frameworks such as FitNesse/Test API, Protractor, and Cucumber.
- Minimum 8+ years of Experience with CI/CD processes and build/deployment automation.
- Minimum 8+ years of Experience working with Unix and Linux operating systems, preferably within an AWS environment.
- Minimum 8+ years of Experience working within Scrum and Agile development methodologies.
- Minimum 8+ years of Experience with development and delivery tools such as JIRA, Git/SVN, Jenkins, and DevOps toolchains.
- Knowledge of REST API design principles and specifications.
- Minimum 8+ years of Experience with microservices design patterns including gateway, service discovery, configuration, and sidecar services.
- Minimum 8+ years of Experience with at least one cloud platform such as AWS, Microsoft Azure, or Google Cloud Platform.
- Minimum 8+ years of Experience integrating Spring-based applications with messaging technologies such as Apache Kafka, AMQP, RabbitMQ, and/or ActiveMQ.
- Minimum 8+ years of Experience deploying applications using Docker and Kubernetes.
- Minimum 8+ years of Experience working with relational database management systems such as Oracle and/or DB2.
- Minimum 8+ years of Experience with CI/CD and code-quality/security tools such as Jenkins, Fortify, Sonar, and Black Duck.
- Ability to understand requirements, technical dependencies, timelines, and estimate development effort for user stories.
Nice to Have:
- Experience with API logging, API testing, and REST API documentation using Swagger, YAML, or similar tools.
- Experience with Apigee API management.
- Knowledge of API and application security concepts including TLS, mutual TLS (mTLS), OAuth 2.0, and session management.
- Knowledge of NoSQL database technologies such as Cassandra.
- Experience implementing applications in multiple cloud environments, including AWS, Azure, or Google Cloud Platform.
- Broader experience with DevOps automation and cloud-native application deployment.
Senior Java Developer in charlotte at Unknown Company
This position is listed as contract and onsite.