Assurant Labs is looking for a thoughtful, adaptive individual with a growth mindset to join our growing team as a Software Engineer with a focus on mobile app development.
In this role, you will work closely with one of our small product teams to create web and mobile client applications to serve customers with an engaging, dynamic user experience. We have seen people thrive in this role from a variety of backgrounds, but we work primarily in React Native with some native Android and iOS. Experience developing mobile applications is a strong plus, but not a requirement if you have worked with React or a similar JavaScript framework.
Responsibilities include solving problems, experimenting, and building features that we measure for value to our users. Candidates must have strong communication skills, the ability to manage multiple tasks efficiently, sound judgment, and the ability to be productive in a fast-paced, team-oriented environment.
Responsibilities
- Build scalable, highly reliable product features
- Design, implement, and maintain applications used by both mobile and desktop clients
- Create and maintain documentation pertaining to code and engineering processes
- Work in a collaborative environment by occasional pair and/or mob programming
- Communicating with Engineering Managers and Product Owners to plan and prioritize work and design technical solutions
- Work in a cadence of two-week sprints with daily stand-ups and bi-weekly retrospectives
- Conduct design and code reviews
- Grow subject matter expertise in programming, product, and platform
Required Knowledge:
- A strong foundation in object-oriented or functional programming
- Hands-on knowledge of version control systems such as Git
- Experience consuming RESTful APIs
- Ability to demonstrate technical know-how through individual contributions, pair programming exercises, and architectural designs
- Technical leadership skills with the ability to resolve ambiguity in requirements
- Solid understanding of the full development life cycle
- A disciplined approach to development, testing, and quality assurance
- Ability to reason with and adapt to evolving development tasks and priorities
- Strong communication skills to create a productive communication environment with team members and stakeholders
Desired Knowledge:
- Experience with React Native or a similar JavaScript framework
- Experience with Swift, Java, and/or Kotlin
- Experience with GraphQL
- Experience with testing frameworks like XCTest, Espresso, or Detox
- Willingness to participate in mentoring and skills transfer among team members
- A continuous learning mindset that keeps you current on development best practices and trends
- Desire for a deep technical understanding for the problems at hand
- Ability to balance trade-offs between speed and quality based on business priorities