Software Engineer – Java
Company | Allstate Insurance Company |
---|---|
Location | Chicago, IL, USA, Phoenix, AZ, USA |
Salary | $66800 – $120650 |
Type | Full-Time |
Degrees | |
Experience Level | Mid Level, Senior |
Requirements
- Experience and knowledge in developing REST APIs using Java Spring boot, including tooling for documentation (swagger, REST-docs, OpenAPI spec), versioning, servicediscovery/registration, testing and management; experience using API gateways a plus.
- Hands on experience and accountability architecting, designing, implementing and delivering large scale distributed systems and/or applications for the cloud, including MicroServices architectures.
- Experience and knowledge in web and API security including authentication, authorization, OAuth, OWASP, OpenID, and SAML.
- Experience in backend development design and implementation, database (MongoDB, caching) and Kafka messaging.
- Knowledge and experience using distributed version control systems (git), artifact management systems, build and packaging systems (maven, gradle, npm, artifactory, etc) and Jenkins or similar Continuous Integration tools.
- Experience of working in an Agile environment or paired programming/engineering model.
- Experience in automation test suite using Python.
- Experience with the test driven approach and writing unit tests for front to back coverage.
- Experience with problem-solving and analyzing performance bottlenecks.
Responsibilities
- Participate in inceptions and iteration planning meetings, infusing backlogs with technical input working in close partnership with the product manager.
- Leads and participates in daily site, cross-site, and product team standups.
- Leads and participates in retrospectives, demonstrating and encouraging each participant to provide feedback with empathy.
- Participate in high-level and low-level component and system designs.
- Participate in performance improvements and tech review meetings.
- Partners in collaboration and strategy alignment across product portfolios (cross-product) in partnership with product managers, other peers and key stakeholders.
- Serves as an expert on one or more business domain and a distinguished advocate of multiple technology stacks and shares that knowledge across organizations.
- Coaches the team and leads daily practices of using paired programming and test-driven development in writing software and building products.
- Establishes continuous integration, continuous delivery, and continuous deployment pipelines and practices.
- Provides support for software products in user environments.
Preferred Qualifications
-
No preferred qualifications provided.