Allstate is a company dedicated to protecting families and their belongings from life's uncertainties. They are seeking a Software Engineer Senior Consultant to implement applications and enhancements, owning the full stack of software products while ensuring agility and quality through test-driven development and continuous integration.
Responsibilities:
- Demonstrate technical skills and aptitude needed to meet/exceed delivery velocity and quality expectations as a full stack developer
- Ability to build and maintain frameworks, libraries, reusable components, applications, REST APIs, frontend, and abstraction layers
- Participate in daily product stand-up, iteration planning, and retrospective meetings
- Contribute to the effort of shaping the architecture and design of the product; actively helps the team in choosing the right technology and solving technical problems
- Establishes and follow continuous integration, continuous delivery, and continuous deployment pipelines and practices
- Create and update technical product documentation
- Provide support to developers/engineers who use the team’s products
Requirements:
- 3+ years of professional software development experience (preferred)
- Strong programming experience in Java, with hands-on development of Spring Boot–based microservices
- Experience with unit and integration testing frameworks, such as JUnit, Mockito, Jest, and Jasmine
- Demonstrated ability working with relational database technologies, including SQL Server
- Proven experience designing, developing, and implementing systems at scale
- Familiarity with OAuth2 / JWT–based authentication and Spring Security
- Understanding of performance monitoring and basic performance optimization techniques
- Solid ability to work within a Agile development environment
- Ability to provide guidance and support to less-experienced engineers
- Strong desire to continuously learn and grow, both technically and professionally
- Experience using AI-assisted development tools (e.g., Microsoft Copilot) to improve productivity and automation
- Experience with Python and/or React.js
- Knowledge of multi-threaded, asynchronous, and parallel programming
- Understanding of distributed systems, including networking, databases, security, and analytics
- Experience designing and building frameworks, libraries, or reusable components
- Hands-on experience with version control and CI/CD tools, such as GitHub and Jenkins
- Familiarity of cloud computing environments, including AWS, Azure, or Google Cloud Platform
- Practiced ability with containerization and orchestration technologies, particularly Kubernetes