The Home Depot is able to offer virtual employment of this position in the following states: AL, AK, AS, AZ, AR, DE, DC, FL, GA, HI, ID, IL, IN, IA, KS, KY, LA, ME, MH, MD, MA, MI, MN, MS, MO, MT, NE, NH, NJ, NM, NY, NC, ND, MP, OH, OK, OR, PA, RI, SC, SD, TN, TX, UT, VT, VA, WA, WV, WI, WY.
Looking to be a part of an organization pushing the boundaries to create a first-in-class Store System environment? We bring new, innovative products and help launch them in market for 2,200+ stores. We develop and deploy AI and data science techniques to manage prices across the full footprint of a $130B retailer (tens of thousands of SKUs in-store; millions online)
The 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. Software Engineer, Mobile Apps are expected to pair on a daily basis as they work through user stories and support products as they evolve. 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, Software Engineer, Mobile Apps may be involved in product configuration, performance tuning and testing as well as production monitoring. As a Software Engineer, Mobile Apps you will be able to operate independently, though typically will work as part of a team with varying skillsets to create, support, and deploy production applications.
MAJOR TASKS, RESPONSIBILITIES AND KEY ACCOUNTABILITIES
60% - Delivery & Execution:
Collaborates and pairs with other product team members (UX, engineering, and product management) to create secure, reliable, scalable software solutions
Works with Product Team to ensure user stories that are developer-ready, easy to understand, and testable
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
Configures commercial off the shelf solutions to align with evolving business needs
Creates meaningful dashboards, logging, alerting, and responses to ensure that issues are captured and addressed proactively
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 products
Proactively reviews the Performance and Capacity of all aspects of production: code, infrastructure, data, and message processing
Participates in 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
Reviews and discusses code from more senior engineers to understand best practices and design patterns
Increases business acumen by learning about other parts of the business
NATURE AND SCOPE
Typically reports to the Software Engineer Manager or Sr. Manager.
Typically requires overnight travel less than 10% of the time.
Must be eighteen years of age or older.
Must be legally permitted to work in the United States.
Additional Minimum Qualifications:
Experience in an object oriented programming language (preferably Java)
The knowledge, skills and abilities typically acquired through the completion of a high school diploma and/or GED.
Years of Relevant Work Experience:
Most of the time is spent sitting in a comfortable position and there is frequent opportunity to move about. On rare occasions there may be a need to move or lift light articles.
0-3 years of relevant work experience
Experience in a modern programming language (preferably Swift or Kotlin)
Understanding of version control system (preferably GitHub)
Understanding of design patterns like MVVM and MVP
Understanding of Linux or Unix based environment
Understanding of production systems design including High Availability, Disaster Recovery, Performance, Efficiency, and Security
Understanding of modern microservice-based architectures and methodologies
Understanding of test-driven development and effective unit test creation
Understanding of data request optimization and troubleshooting
Exposure to Twelve Factor methodology and its benefits
Exposure to REST and/or GraphQL
Exposure to CI/CD toolchain
Knowledge, Skills, Abilities and Competencies:
Cultivates Innovation: Creating new and better ways for the organization to be successful
Collaborates: Building partnerships and working collaboratively with others to meet shared objectives
Communicates Effectively: Developing and delivering multi-mode communications that convey a clear understanding of the unique needs of different audiences
Drives Results: Consistently achieving results, even under tough circumstances
Global Perspective: Taking a broad view when approaching issues; using a global lens
Interpersonal Savvy: Relating openly and comfortably with diverse groups of people
Manages Ambiguity: Operating effectively, even when things are not certain or the way forward is not clear
Nimble Learning: Actively learning through experimentation when tackling new problems, using both successes and failures as learning fodder
Self-Development: Actively seeking new ways to grow and be challenged using both formal and informal development channels
Situational Adaptability: Adapting approach and demeanor in real time to match the shifting demands of different situations
Pay Rate: -