Principal, Software Engineer
Job title: Principal, Software Engineer in Sunnyvale, CA at Walmart
Company: Walmart
Job description: Position Summary... Join Our Exceptional GraphQL Team at Walmart!
Are you an experienced Rust Developer with a passion for GraphQL looking to elevate your career? Walmart is excited to announce an open position on our elite GraphQL team, and we want YOU to be a part of it!About GraphQL team: At Walmart, we are pioneers in innovative technology solutions, and our GraphQL team is at the heart of our cutting-edge projects. Our team is composed of passionate developers, architects, and tech enthusiasts who thrive on collaboration, problem-solving, and pushing the boundaries of what’s possible with GraphQL and Rust.Our team works closely with our US stores and eCommerce business to better serve customers by empowering team members, stores, and merchants with technological innovation. From groceries and entertainment to sporting goods and crafts, Walmart U.S. offers an extensive selection that our customers value, whether they shop online at Walmart.com, through one of our mobile apps, or in-store. Focus areas include customers, stores and employees, in-store service, merchant tools, merchant data science, and search and personalization.What you'll do...
- Build Scalable APIs: Use Rust's performance and safety to develop high-performance backend services. Integrate GraphQL to provide a flexible and efficient interface for querying data.
- Microservices Architecture: Construct microservices with Rust for performance-critical components, leveraging GraphQL to streamline communication between services.
- End-to-End Applications: Design and develop complete applications where the backend is powered by Rust and communicates with the frontend via GraphQL, ensuring type safety and consistent data flow.
- Real-time Applications: Create real-time applications like chat apps or live dashboards where Rust handles the high concurrency and GraphQL subscriptions manage real-time data updates.
- API Gateway Services: Build API gateways in Rust to handle requests to multiple backend services, using GraphQL as an aggregator to offer a unified API to frontend clients.
- Mutation and Query Handling: Develop advanced query-handling mechanisms, including batching and intelligent caching, leveraging both Rust's performance benefits and GraphQL's query capabilities.
- Library Development: Contribute to or develop open-source libraries in Rust for GraphQL implementations, such as improving existing libraries or creating new tools to make integration easier.
- Community Projects: Engage with community projects that use Rust and GraphQL to add new features, improve performance, and enhance documentation.
- Demonstrated experience with GraphQL, including schema design, resolver functions, and query optimization.
- Proficiency in using GraphQL with different programming languages and frameworks.
- Strong understanding of the benefits and trade-offs of using GraphQL compared to other API technologies like REST.
- Proven track record of leading and mentoring technical teams, fostering a collaborative and innovative environment.
- Effective communication skills to articulate complex technical concepts to non-technical stakeholders.
- Strong problem-solving abilities to address complex technical challenges, particularly related to GraphQL implementation and performance.
- Expertise in API design, development, and integration, specifically using GraphQL.
- Understanding of best practices for API security, versioning, and documentation.
- Ability to work on integrating various services and data sources using GraphQL, ensuring seamless and efficient data flow.
- Commitment to staying current with emerging trends and technologies in GraphQL and API development.
- Openness to new ideas and methods, continuously seeking improvements and innovations.
- Flexibility to adapt to changing project requirements and industry standards.
- Experience handling on-call duties.
- Over 10 years of experience in Technical Solutions Architecture and design leadership.
- Strong experience with Rust programming language and cloud platforms such as Azure.
- Extensive experience in designing and developing RESTful Microservices.
- Comprehensive experience in GraphQL Microservices, utilizing OpenSource GraphQL.
- Proficiency in building and operating GraphQL Gateways via GraphQL Federation.
- Several years of experience with Node.js, React.js, and JavaScript.
- Adept with container technologies such as Docker and Kubernetes.
- Solid experience in API design, development, and maintenance.
- Clear communication skills, including the ability to create functional diagrams and charts.
- Proven ability to multitask across multiple requirements and features concurrently.
- Experience with cloud-native technologies and CI/CD processes.
- Proficiency in utilizing third-party libraries and APIs.
- Superior analytical skills coupled with strong problem-solving capabilities.
- Ability to perform effectively within a team environment.
- Proven track record as an independent thinker and problem solver.
- Strong sense of urgency in delivering solutions.
- Proven experience in leading a team of 6-8 junior engineers from a technical delivery standpoint.
- Extensive experience working with SQL and NoSQL databases such as MSSQL, Cassandra, and Couchbase.
- Solid experience with message stream systems like Kafka and RabbitMQ.
- Experience in an agile environment (Scrum, daily stand-ups, etc.).
- Hands-on experience delivering and supporting large scale production systems.
- Core contributor to software projects: understanding domain and business requirements, managing critical parts of the application.
- Hands-on experience working with logging and application monitoring tools such as Splunk, Grafana, and Dynatrace.
- Good communication skills, especially important in collaborative multi-team projects.