Job DescriptionThe Software Engineer Manager 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 running their application in production, and ultimately becomes accountable for the success of their digital products through achieving KPIs. The Software Engineer manager plans, directs, designs, and executes IT-related activities and programs that are of a complex and critical nature. The Software Engineer Manager selects, leads, counsels, motivates, sets expectations and evaluates medium to large teams. Additionally, they confer with and advise direct reports on administrative policies and procedures, risks, issues, problem resolution, sourcing decisions, budget and priorities.
Key Responsibilities:- Participate in product scoping, discovery and framing, and inceptions providing technical input and helps translate user features into system design
- Familiarity developing software using TIBCO suite of tools like: Busines Works and Business Events
- Leads and participates 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
- Leads the effort of shaping the architecture and design of the product
- Leads collaboration and strategy alignment across product portfolios (cross-product) in partnership with product managers, other peers and key stakeholders
- Serves as an expert on multiple business domain and a distinguished advocate of multiple technology stacks and shares that knowledge across organizations
- Serves as the anchor of the team and practices technical leadership; helping guide the team in choosing the right technology, solving technical problems, and resolving any technical conflicts within the team
- Establishes continuous integration, continuous delivery, and continuous deployment pipelines and practices
- Leads and participates in knowledge sharing and contributes to the overall growth of the collective knowledge of the department.
Functional Skills:- Hands on experience and accountability architecting, designing, implementing and delivering large scale distributed systems and/or applications for the cloud, including microservices architectures and 12-factor principles
- Experience developing software in different programming languages, and demonstrated ability to quickly learn new languages, preferably JavaScript, Java (Spring), Python.
- Experience and knowledge in developing REST APIs including tooling for documentation (swagger, REST-docs, openapi spec), versioning, service discovery/registration, testing and management; experience using API gateways a plus
- Experience and knowledge in web and API security including authentication, authorization, OAuth, OWASP, OpenID, and SAML
- Experience in backend development design and implementation; database (relational, NoSQL, caching), messaging and big data development, implementation and optimization
- Knowledge and advanced experience using distributed version control systems (git), artifact management systems, build and packaging systems (maven, gradle, artifactory, etc) and continuous integration tools (Jenkins, TravisCI, Concourse, Bamboo, GoCD).
- Actual experience working in an eXtreme Programming (XP) or agile environment; experienced working in a paired programming/engineering model
- Experience in Test Driven Development; including knowledge and experience in testing frameworks like junit, mockito, jasmine, protractor, cucumber, and other like technologies
Education and Experience: - 4-year bachelor's degree (Preferred)
- 10 years of experience in software development (Preferred)
- In lieu of the above education requirements, an equivalent combination of education and experience may be considered.
#LI-TH1
Notes:The preceding description is not designed to be a complete list of all duties and responsibilities. May be required to perform other related duties as assigned. Regular, predictable attendance is an essential function of this job.
SkillsBack-End Development, Git, Gradle, Java (Programming Language), Jenkins Continuous Integration, JFrog Artifactory, JUnit Testing Framework, Mockito, NoSQL, OAuth, Oracle Database, Python (Programming Language), RESTful APIs, Software Development Life Cycle (SDLC), Spring Boot, Team Leadership, Team Lead Experience, Team Management, Test Driven Development (TDD), Twelve-Factor App Methodology
CompensationCompensation offered for this role is 100,000.00 - 170,500.00 annually and is based on experience and qualifications.
Allstate provides a comprehensive technology setup, including a laptop, monitors, headset, keyboard, and mouse. Employees eligible to work from home also receive a monthly connectivity reimbursement to help offset internet costs.
When working from home, you must have a dedicated, private workspace free from distractions, along with appropriate desk and seating. Reliable internet is required, with minimum speeds of 50 MB download and 5 MB upload.
To help create a more personal and engaging experience, we ask that you join with your camera on if your interview is virtual. Please also have a Valid Photo Identification available at the start of your interview. If you require any accommodations or have questions ahead of your interview please reach out to your recruiter.
Note: Internal candidates are only asked to join on video; a Valid Photo Identification is not needed for the interview.