Back to Jobs

Experienced Lead Software Engineer II – Java Development and Technical Leadership for Complex Software Applications

Remote, USA Full-time Posted 2025-11-02

Introduction to Allstate and Our Mission

At Allstate, we have been dedicated to protecting families and their belongings from life's uncertainties for over 90 years. Our innovative drive has kept us a step ahead of our customers' evolving needs, from advocating for seat belts and airbags to being an industry leader in pricing sophistication, telematics, and device and identity protection. We are now seeking an experienced Lead Software Engineer II to join our team and contribute to the development of complex software applications that drive our business forward.

Role Overview

As a Lead Software Engineer II, you will play a critical role in implementing applications following 12-factor principles to build out our products and iterative enhancements. You will own the full stack of software products, developing and implementing frontends (web or mobile) and backend services. You will leverage test-driven development and continuous integration to ensure agility and quality of products. You will actively participate in the decision-making process of the team, ensuring that the simplest appropriate technology and design are chosen to meet user needs.

Key Responsibilities

  • Evaluate detailed business, functional, and high-level technical requirements, including recovery, security, and audit.
  • Design and build detailed technical components with high-level architecture.
  • Recognize and understand the use of design patterns for intermediate to complex applications.
  • Apply reusability and future state architectures.
  • Participate and provide feedback in design reviews.
  • Complete component design documents on assigned projects.
  • Develop code for intermediate to complex modules, following documentation and development standards.
  • Create enhanced technical documentation and implement changes.
  • Act as a technical expert for junior application developers.
  • Conduct timely structured code reviews to ensure standards and systems interoperability.
  • Review and critique team members' code.
  • Create accurate test plans, conditions, and data, and participate in testing reviews.
  • Conduct basic levels of module and integration testing according to process standards, track and resolve defects.
  • Assist Quality Control (QC) personnel with functional tests.
  • Identify support issues and initiate action to resolve the problem.
  • Provide technical assistance, analyze and resolve problems.
  • Execute change management activities supporting production deployment, Quality Control, and Environment Management.

Essential Qualifications

To be successful in this role, you will need:

  • 6+ years of Java development experience with hands-on coding experience using Java 8+ and higher versions.
  • Good experience in Java, J2EE, Spring, Hibernate, Spring Boot, JPA, Spring Data, Spring Security, Spring Batch, Kafka, and RESTful Web Services.
  • Experience working in Agile product teams.
  • Experience with pair programming will be an added advantage.
  • Experience with Test-Driven Development.
  • Experience with relational databases (SQL Server, DB2, Oracle) and NoSQL databases (MongoDB), ability to write SQL statements & scripts.
  • Should be able to perform & accept code reviews, code linting & formatting, code debugging, error handling, and build activities.
  • Implementation or working experience of Continuous Integration and Continuous Delivery using tools and automation capabilities such as JUnit, Mocking, Jenkins, etc.
  • Should know the techniques and concepts (like code coverage and security scans), security design / testing, etc.
  • Knowledge around API gateways / proxies, etc.
  • Good experience in Splunk debugging and analyzing production issues.
  • Experience using APM tools.
  • Good understanding of Memory profiling, Garbage Collection Systems, and Multi-threading.
  • Good understanding of the working of Kubernetes and Docker containers.

Preferred Qualifications

While not essential, the following qualifications are desirable:

  • Experience with cloud-based technologies such as AWS or Azure.
  • Knowledge of DevOps practices and tools such as Docker, Kubernetes, and Jenkins.
  • Experience with agile project management tools such as Jira or Trello.
  • Strong understanding of software development life cycles and methodologies.
  • Excellent communication and interpersonal skills.

Skills and Competencies

To be successful in this role, you will need to possess the following skills and competencies:

  • Strong technical skills in Java development, with a focus on design patterns, algorithms, and optimizations.
  • Excellent problem-solving skills, with the ability to analyze complex problems and develop creative solutions.
  • Strong communication and interpersonal skills, with the ability to work effectively with cross-functional teams.
  • Ability to work in a fast-paced environment, with multiple priorities and deadlines.
  • Strong attention to detail, with a focus on delivering high-quality results.

Career Growth Opportunities and Learning Benefits

At Allstate, we are committed to the growth and development of our employees. As a Lead Software Engineer II, you will have access to a range of career growth opportunities and learning benefits, including:

  • Professional development programs, such as training and certification courses.
  • Mentorship opportunities, with experienced professionals in your field.
  • Opportunities to work on complex and challenging projects, with a focus on innovation and creativity.
  • A collaborative and dynamic work environment, with a focus on teamwork and communication.

Work Environment and Company Culture

At Allstate, we pride ourselves on our positive and inclusive company culture. As a Lead Software Engineer II, you will be working in a dynamic and collaborative environment, with a focus on teamwork, communication, and innovation. Our company culture is built around the following values:

  • Customer-centricity, with a focus on delivering exceptional customer experiences.
  • Digital literacy, with a focus on leveraging technology to drive business results.
  • Inclusive leadership, with a focus on diversity, equity, and inclusion.
  • Learning agility, with a focus on continuous learning and development.
  • Results-oriented, with a focus on delivering high-quality results and achieving business objectives.

Compensation, Perks, and Benefits

At Allstate, we offer a competitive compensation package, with a range of perks and benefits, including:

  • A competitive salary, with opportunities for bonuses and incentives.
  • A comprehensive benefits package, including health, dental, and vision insurance.
  • A 401(k) retirement savings plan, with company matching contributions.
  • A range of paid time off options, including vacation, sick leave, and holidays.
  • Access to a range of employee discounts and perks, including discounts on insurance products and services.

Conclusion

If you are a motivated and experienced software engineer, with a passion for Java development and technical leadership, we encourage you to apply for this exciting opportunity. As a Lead Software Engineer II at Allstate, you will have the chance to work on complex and challenging projects, with a focus on innovation and creativity. You will be part of a dynamic and collaborative team, with a focus on teamwork, communication, and customer-centricity. Don't miss out on this opportunity to take your career to the next level and apply today!

Apply To This Job

Apply for this job  

Similar Jobs