POSITION PURPOSE The Staff Software Engineer, Mobile Apps is responsible for joining a product team and contributing to the software design, software development, and overall product lifecycle for a product that our users love. The engineering process is highly collaborative. Staff Software Engineer, Mobile Apps are expected to pair on a daily basis as they work through user stories and support products as they evolve. Staff Software Engineer, Mobile Apps contribute to foundational code elements that can be reused as well as architectural diagrams and other product-related documentation. In addition, Staff Software Engineer, Mobile Apps may be involved in product configuration, performance tuning and testing as well as production monitoring. As a Staff Software Engineer, Mobile Apps you will be a core player on the product team and are expected to build and grow the skillsets of the more junior Engineers.
Specifically for this role, the Staff Software Engineering will be a part of a team involved in building out a new platform supporting the edge applications in our retail stores and distribution centers. This will lay the foundation for a completely new store systems architecture to drive our core retail business into the future.
MAJOR TASKS, RESPONSIBILITES AND KEY ACCOUNTABILITIES 70% – Delivery & Execution:
- Collaborates and pairs with other product team members (UX, engineering, and product management) to create secure, reliable, scalable software solutions
- Documents, reviews and ensures that all quality and change control standards are met
- Writes custom code or scripts to automate infrastructure, monitoring services, and test cases
- Writes custom code or scripts to do “destructive testing” to ensure adequate resiliency in production
- Creates meaningful dashboards, logging, alerting, and responses to ensure that issues are captured and addressed proactively
- Contributes to enterprise-wide tools to drive destructive testing, automation, or engineering empowerment
- Identifies product enhancements (client-facing or technical) to create a better experience for the end users
- Identifies unsecured code areas and implements fixes as they are discovered with or without tooling
- Contributes to foundational code elements that can be reused many times by a product
- Contributes to meaningful architecture diagrams and other documentation needed for security reviews or other interested parties
- Defines Service Level Objectives for product(s) to constantly measure their reliability in production and help prioritize backlog work
20% – Support & Enablement:
- Fields questions from other product teams or support teams
- Monitors tools and participates in conversations to encourage collaboration across product teams
- Provides application support for software running in production
- Proactively monitors production Service Level Objectives for product(s)
- Proactively reviews the performance and capacity of all aspects of production: code, infrastructure, data, and message processing
- Triages high priority issues and outages as they arise
10% – Learning:
- Participates in and leads learning activities around modern software design and development core practices (communities of practice)
- Proactively views articles, tutorials, and videos to learn about new technologies and best practices being used within other technology organizations
- Attends conferences and learns how to apply new technologies where appropriate
NATURE AND SCOPE
- Typically reports to the Software Engineer Manager or Sr. Manager.
- Located in a comfortable indoor area.
- Any unpleasant conditions would be infrequent and not objectionable.