Job Summary
We are seeking an experienced IT Software Engineer 4 - Senior Backend Java Engineer - AWS to design, develop, test, and maintain complex enterprise software applications. The role focuses on backend engineering, Java development, AWS cloud services, distributed systems, microservices, and production support. The engineer will work within an Agile/Scrum team, independently manage complex development assignments, contribute to architectural decisions, conduct code reviews, and mentor other team members. The ideal candidate will have strong computer science fundamentals, hands-on GenAI experience in software development, and the ability to deliver scalable, reliable cloud-based solutions.
Key Responsibilities
• Design, develop, test, debug, integrate, and maintain complex enterprise software applications.
• Develop major application modules and backend systems based on business and technical requirements.
• Design scalable software solutions using Java, microservices, RESTful APIs, and appropriate architectural patterns.
• Develop, deploy, and maintain applications in AWS cloud environments using services such as CloudFormation, ECS, Lambda, Fargate, S3, IAM, and Elasticsearch/OpenSearch.
• Design and implement distributed systems, event-driven architectures, and cloud-native application components.
• Integrate applications with relational and NoSQL databases, including DynamoDB, MongoDB, Cassandra, Redis, Elasticsearch, MySQL, and Oracle.
• Implement messaging and event-driven integrations using AWS SQS, SNS, and Kinesis.
• Develop and execute automated tests using Test-Driven Development (TDD), Behavior-Driven Development (BDD), Selenium, Cucumber, and related testing frameworks.
• Integrate automated testing into CI/CD pipelines using tools such as Jenkins or Azure DevOps.
• Perform system integration testing, integrated testing, and customer acceptance testing.
• Apply Generative AI tools and technologies to support software development activities.
• Troubleshoot complex application and technical issues and implement effective solutions.
• Participate in Agile/Scrum ceremonies, including daily standups, sprint planning, backlog grooming, retrospectives, and demonstrations.
• Conduct and participate in pull request and code reviews to maintain code quality and engineering standards.
• Collaborate with Scrum teams, customers, architects, and other technical teams to deliver business solutions.
• Provide technical guidance, mentoring, and knowledge sharing to other engineers.
• Support application and infrastructure change-management activities, deployments, maintenance, and production operations.
• Assist with technical documentation, customer training, and application usability improvements.
• Provide production support, including occasional off-shift or weekend support when required.
Required Qualifications
• Bachelor's degree in Computer Science, Electrical Engineering, Software Engineering, or a related field with 8+ years of experience; alternatively, a relevant master's degree with 6+ years of experience.
• 8+ years of software development experience with strong hands-on Java development, or 6+ years with a relevant master's degree.
• Strong backend software engineering experience, with limited reliance on frontend development.
• At least 3 years of AWS development experience.
• Strong hands-on experience with Java, enterprise application development, and software design principles.
• Strong knowledge of Data Structures and Algorithms.
• Experience with microservices, MVC, event-driven architecture, or similar software architecture patterns.
• Experience developing and maintaining RESTful APIs.
• Hands-on experience with AWS CloudFormation, ECS, Lambda, Fargate, Elasticsearch/OpenSearch, S3, and IAM roles and policies.
• Experience with relational and/or NoSQL databases, such as DynamoDB, MongoDB, Cassandra, Redis, Elasticsearch, MySQL, or Oracle.
• Experience with messaging technologies, including AWS SQS, SNS, or Kinesis.
• Familiarity with API documentation and testing tools such as Swagger, Postman, Assertible, or similar platforms.
• Experience with CI/CD tools such as Jenkins or Azure DevOps and deploying and maintaining applications in cloud environments.
• Experience with TDD, BDD, Selenium, Cucumber, and automated testing integration into CI/CD pipelines.
• Hands-on experience using Generative AI technologies for software development.
• Experience working in Agile/Scrum environments and participating in the full software development lifecycle.
• Strong communication, problem-solving, troubleshooting, and collaboration skills.
• Ability to work independently, manage complex assignments, mentor team members, and deliver solutions under time constraints.
• Ability to work in a hybrid arrangement, onsite 2 days per week, and provide occasional off-shift or weekend production support as needed.
• Must be local to the Peoria, IL, or Chicago, IL area and able to meet the onsite requirement without relocation.
Preferred Qualifications
• Experience designing, developing, deploying, and maintaining software at enterprise scale.
• Strong understanding of distributed systems and cloud-native application development.
• Experience with automated testing, quality engineering, and continuous improvement practices.
• Experience providing technical leadership and mentoring software engineers.
• Familiarity with development and maintenance of mobile, web, cloud, server, and computing systems.