What are the responsibilities and job description for the Principal Software Engineer - Mobile position at Walmart Global Tech?
About the Team
We are responsible for the development of Walmart’s strategic Data Ventures product line to revolutionize the retail industry. Harnessing the power of data science, we at Walmart Data Ventures build applications that empower brands to fuel smarter decision making with access to rich customer insights to better serve customers. Our team builds highly scalable, cloud-native platforms & applications with resiliency at its core. Our platform has very diverse capabilities - from highly optimized real time algorithms to integrations with data foundation systems. Our tech stack is React Native, React.js, Angular, microservices, Kafka, SQL, CosmosDB, Azure, CI / CD pipelines and much more.
What You'll do
- Provide solution design / architecture plans for mobile app with distributed backend services.
- Define and enforce Mobile Development and React Native best practices
- Proficient in React Native App Development, including experience with HTML5, JavaScript, TypeScript, Jest, Redux, NodeJS, JSON, Swift / Objective-C, Kotlin / Java, Android Studio, XCode
- Proficient understanding of mobile development lifecycle
- Proficient with designing, building, and consuming APIs
- Extensive knowledge of open-source libraries, design patterns and micro-service architecture. Familiarity with CI / CD and unit testing
- Experience in production system operations (logging, telemetry, alerting etc.)
- Solution & software architecture design; Plan for scalability, re-usability, platform-agnostic, disaster recovery, ETL & data design; To assist in design of solutions such that the processes / applications work in tandem for specific components / modules of a product. Evaluate trade-offs while designing a component based on the business requirements. Assist in conversion of HLD (High Level Design) to create detailed design using mock screens, pseudo codes and detailed functional logic of the modules for specific modules / components of a product. Design and develop new data infrastructure to expand team capabilities, efficiency and business value
- Assists in providing guidance to small groups of engineers for assigned Engineering projects by proving pertinent documents, directions, examples, and timeline.
- Provides support to the business by responding to user questions, concerns, and issues (for example, technical feasibility, implementation strategies); researching and identifying needed solutions; determining implementation designs; providing guidance regarding implications of new and enhanced systems; identifying short- and long-term solutions; and directing users to appropriate contacts for issues outside of associate's domain.
- Troubleshoots business and production issues by gathering information (for example, issue, impact, criticality, possible root cause); performing root cause analysis to reduce future issues; engaging support teams to assist in the resolution of issues; driving the development of an action plan; performing actions as designated in the plan; interpreting the results to determine further action; and completing online documentation.
- Demonstrates up-to-date expertise and applies this to the development, execution, and improvement of action plans by providing expert advice and guidance to others in the application of information and best practices; supporting and aligning efforts to meet customer and business needs; and building commitment for perspectives and rationales.
- Supports business objectives by collaborating with business partners to identify opportunities and drive resolution; partnering with business to define priorities and user acceptance criteria
- Identifying short- and long-term solutions; and leading cross-functional partnership.
- Models compliance with company policies and procedures and supports company mission, values, and standards of ethics and integrity by incorporating these into the development and implementation of business plans; using the Open Door Policy; and demonstrating and assisting others with how to apply these in executing business processes and practices.
Who You Are
You have big ideas and the skills to implement them with a positive attitude. You want to be a part of the team to disrupt this industry and you have these main skills :
Minimum Qualifications :
Bachelor’s degree in Computer Science and 10 years’ experience in software engineering or related field OR 12 years’ experience in software engineering or related field.
Must be technically strong in designing / building mobile frameworks with distributed services and should be able to align stakeholders and guide the team.
Experience and good understanding of software at API and webservice level
Experience with Agile Methodologies.
A disciplined approach to development, code review, testing, documentation and code structure in a team environment.