Software Engineer III
About the role
The Software Engineer III position at Aflac is a remote or hybrid role depending on location. For those living within 50 miles of the Aflac offices in Columbus, GA or Columbia, SC, this role will be hybrid, requiring in-office work for at least 60% of the week. Remote roles require working from home within the continental US.
Responsibilities
- Lead the design, test, development and optimization of customer-facing applications
- Collaborate in advanced stages of Scrum, ensuring smooth software delivery
- Enforce and improve code quality standards, particularly concerning resilience, data, and security
- Evaluate and incorporate modern programming languages and tools
- Implement test-driven development best practices
- Adhere to coding standards for resilience, data, and security
- Reviews system requirements and business processes; codes, tests, debugs and implements software solutions
- Participates in project planning sessions with clients, business analysts, and team members to analyze development requirements and make recommendations for moderate to complex systems
- Tests and implements application modules from multiple systems the team has developed or modified, ensuring application meets the needs of client and business
- Makes moderate to complex modifications to existing software applications and modules in accordance with written specifications and division standards
- Provides design recommendations, developing and integrating programs per written specifications; occasionally responsible for writing moderate to complex design specifications
Requirements
- Extensive experience in software development and modern programming languages
- Proven experience with Scrum and advanced DevOps methodologies
- Demonstrated ability to mentor and lead junior developers
- Code Optimization and Memory Management
- Utilize tools like JProfiler (or YourKit) to analyze and resolve memory leaks and optimize heap usage
- Efficiently handle paginated collections and apply best practices, such as isEmpty() vs. size() > 0, to improve code performance and maintainability
- Database, SQL, and API Integration
- Design and implement database interactions using SQL with JDBC, leveraging PreparedStatements for secure queries
- Analyze explain plans, manage transactions, and integrate RESTful APIs using JSON and Swagger
- Work with JdbcTemplate, RestTemplate, and NamedJdbcTemplate to streamline database and API operations
- Spring and Spring Boot Expertise
- Build scalable applications using Spring and Spring Boot, employing dependency injection, @RestController, and Java-based configuration
- Use Spring Actuator, Spring Cloud Stream, or reactive programming to enhance system capabilities
- Develop and execute unit tests (e.g., JUnit) and use Maven for compiling, testing, and running applications
- AWS and Cloud Technologies
- Utilize AWS services such as EC2, S3, ECS, and RDS to build and manage cloud-based solutions
- Leverage Elastic Container Services with Fargate for container orchestration and hosting Spring Boot APIs
- Work with the AWS Console for resource management and SSH for secure access to EC2 instances
- Utilize Terraform and CloudFormation for Infrastructure as Code (IaC) to build and maintain full stack infrastructure
Qualifications
- Bachelor’s degree in computer science, Information Systems or other related field
- Four or more years of programming experience
- Or an equivalent combination of education and experience
- Master’s degree in computer science, Information Systems or other related field preferred
Skills
- Software Development
- Scrum Methodology
- DevOps Methodologies
- Modern Programming Languages
- JProfiler/YourKit
- SQL
- RESTful APIs
- Spring Framework
- AWS Services
- Terraform
- Cloud Computing
Benefits
- Medical, Dental, Vision Coverage
- Prescription Drug Coverage
- Health Care Flexible Spending Account
- Dependent Care Flexible Spending Account
- Aflac Supplemental Policies (Accident, Cancer, Critical Illness, and Hospital Indemnity)
- 401(k) Plans
- Annual Bonuses
- Opportunity to Purchase Company Stock
Pay
The salary range for this job is $96,960 - $140,000. This range is specific to the job and salary offers consider a wide range of factors that are considered in making compensation decisions, including, but not limited to: education, experience, licensure, certifications, geographic location, and peer compensation.
Schedule
This role may be hybrid or remote. For those living within 50 miles of the Aflac offices in Columbus, GA or Columbia, SC, this role will be hybrid, requiring in-office work for at least 60% of the week. Remote roles require working from home within the continental US.