Title: Sr. Full Stack Software Engineer
Location: Tempe, AZ
Our client, a leading insurance provider, is seeking a Sr. Full Stack Software Engineer.
In this role, you will serve as a member of the Rapid Prototype and Development team in Tempe, AZ. You will practice and be the champion of Agile delivery utilizing Continuous Integration & Deployment practices. 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 is chosen to meet user needs. You will coach other team members, creating an environment of continuous learning, and constantly challenging and stretching the knowledge of the team.
- Participates in iteration planning and ensures the team has a common understanding of each story and chore in the backlog
- Leads and 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
- Serves as an expert on a specific business domain and demonstrates leadership and accountability on at least one technology stack
- Provides input into the architecture and design of the product; collaborating with the team in solving problems the right way
- Practices daily paired programming and test-driven development in writing software and building product
- Coaches more junior team members around different technologies and XP practices
- Participates in knowledge sharing, and contributes to the overall growth of the collective knowledge of the team.
A college degree or equivalent experience in Computer Science or similar field, including a solid understanding of Computer Science fundamentals
- 5+ years of developing and implementing IT systems at scale
- Recent experience working in an eXtreme Programming (XP) or agile environment
- Thrives in a paired programming environment where TDD techniques are embraced
- Strong verbal communication and collaboration skills
- Experience designing applications iteratively – you will not receive a full spec upfront and will need to feel comfortable thinking things through, filling in the blanks, and iterating across sprints as we receive feedback and pivot based on customer feedback
- Experience developing software in different programming languages, and demonstrated ability to quickly learn new languages
- Able to learn new technologies, and teach other members of the team
- Strong understanding of distributed systems, operating systems, networking, databases, security, and analytics
- Clear understanding of cloud services, deployment models, and distributed systems
Technical - Required
- Minimum 3.5 years of recent experience with our core technology stack: Java, Spring/SpringBoot, React.js with a mastery of full stack delivery
- Test Driven Development practitioner and advocate; significant experience with testing frameworks (such as junit, mockito, jest, react testing library, cucumber, etc)
- Mastery of developing/consuming REST APIs (including OpenAPI spec, REST-docs, versioning, service discovery/registration, monitoring, testing and management, familiarity with tools like Postman and Swagger)
- Experience with data layer (SQL or similar query language), data constructs (XML, JSON), and ORM tools (Hibernate)
- Solid knowledge of object-oriented programming, design principles, and design patterns
Technical - Preferred
- Actual experience developing continuous integration, continuous delivery and continuous deployment pipelines for distributed apps (including use of Jenkins, Artifactory, Gradle)
- Knowledge and experience on approaches and tools for automated testing and monitoring