Role Description
The Senior Product Engineer (Software/Java) architects and designs their digital products using modern tools, technologies, frameworks, and systems. They apply a systematic application of scientific and technological knowledge, methods, and experience to the design, implementation, testing, and documentation of software. They own and manage their application in production and are ultimately accountable for the success of their digital products by delivering measurable outcomes.
In this role, you will support the Enterprise Payments organization, which is responsible for ensuring Allstate customers can seamlessly process a wide range of payment solutions.
The internal Allstate job title used for this role is Software Engineer Senior Consultant II.
Key Responsibilities:
-
Participates in iteration planning meetings ensuring that the team has a common understanding of each story and chores in a teamโs backlog.
-
Participates in daily site, cross-site, and product team standups.
-
Participates in retrospectives to gather feedback and derive actionable items to improve the team and the product.
-
Participates in executing the strategy, keeping the customer needs and wants in mind.
-
Collaborates with the team to solve problems the right way.
-
Practices paired programming and test-driven development in writing software and building product.
-
Establishes continuous integration, continuous delivery, and continuous deployment pipelines and practices.
-
Provides support for software products in user environments.
-
Contributes to the code base and ensures code and processes adhere to clean code practices and industry/application best practices.
Qualifications
-
4 years or more of software development experience with Java and J2EE technologies such as Spring Boot, Spring Data, Spring IOC, Spring Annotations, Spring AOP, Spring Transactions and Spring Security.
-
Experience with REST APIs including tooling for documentation (Swagger), versioning, service discovery/registration and testing and familiarity with microservice architecture.
-
Solid knowledge of database design, indexes design, complex queries, and implementation on any Relational database SQL.
-
Strong understanding of software development concepts, object-oriented design principles.
-
Experience creating products within Test Driven Development; including knowledge and experience in testing frameworks such as Junit, Selenium, JBehave & BDD.
-
Experience with continuous integration and DevOps methodologies, working with tools such as GitHub, Jenkins, Groovy, SonarQube, Gradle, or Maven.
-
Experience developing Java-based services and implementing observability using Datadog or equivalent.
-
Experience with containerization technologies such as Kubernetes and Docker for deploying and managing microservices.
-
Excellent problem-solving and troubleshooting skills.
-
Strong communication and interpersonal skills.
-
Experience working in an Agile/Scrum or eXtreme Programming (XP) work environment. (Or Equivalent)
Requirements
-
4 or more years of experience (Or Equivalent)
Desirable Skills
-
Experience with modern front-end technologies such as JavaScript, React, and/or Angular. (Or Equivalent)
-
Experience building and operating highโtraffic, distributed systems that support a large volume of transactions, with strong emphasis on reliability, performance, and scalability.
-
Utilize quality and security scan tools such as Sonar, Fortify and Contrast, or similar. (Or Equivalent)
-
Experience with messaging systems such as Kafka or similar tools. (Or Equivalent)
-
Practical cloud knowledge with technologies such as PCF, AWS, or other cloud technologies and application programming monitoring tools.
Compensation
Compensation offered for this role is 90,700.00 - 153,925.00 annually and is based on experience and qualifications.
Supervisory Responsibilities
-
This job does not have supervisory duties.