Principal, software engineer

apartmentWalmart Global Tech India placeChennai calendar_month 

Job Description

Position Summary...

Drives the execution of multiple business plans and projects by identifying customer and operational needs; developing and communicating business plans and priorities; removing barriers and obstacles that impact performance; providing resources; identifying performance standards; measuring progress and adjusting performance accordingly; developing contingency plans; and demonstrating adaptability and supporting continuous learning.
Provides supervision and development opportunities for associates by selecting and training; mentoring; assigning duties; building a team-based work environment; establishing performance expectations and conducting regular performance evaluations; providing recognition and rewards; coaching for success and improvement; and ensuring diversity awareness.
Promotes and supports company policies, procedures, mission, values, and standards of ethics and integrity by training and providing direction to others in their use and application; ensuring compliance with them; and utilizing and supporting the Open Door Policy.

Ensures business needs are being met by evaluating the ongoing effectiveness of current plans, programs, and initiatives; consulting with business partners, managers, co-workers, or other key stakeholders; soliciting, evaluating, and applying suggestions for improving efficiency and cost-effectiveness; and participating in and supporting community outreach events.

What you'll do...

About Team:

Enterprise Business Services is invested in building a compact, robust organization that includes service operations and technology solutions for Finance, People, Associate Digital Experience. Within EBS, we are part of Finance and our team processes the payment for suppliers of Walmart Warehouses who spread across United States and other 26 countries including South Africa, Argentina, Canada, Central America, Chile, China, India, Japan, and Mexico.

We ensure the timely and accurate payments by reconciling the supplier merchandise against the invoices presented for the items ordered.

What you'll do:

Technical Leadership:

  • Guide the team in architectural decisions and best practices for building scalable applications.
  • Provide multiple alternatives for development frameworks, libraries, and tools.

Development Frameworks. Enable the development of scalable solutions for data intensive batch and streaming applications. Your expertise in and understanding of the following technology frameworks will help us to accelerate our technology modernization:

  • Java Frameworks:
  • Spring Boot: Our default choice for creating production-grade Spring-based applications. You should be well versed in building REST, Streaming and Batch applications using Java and Spring Boot.
  • Micronaut: Your knowledge of Micronaut or a related framework that can be used as a alternative of Spring Boot will help us in building modular, easily testable microservice applications.
  • Persistence Frameworks:
  • Hibernate: A thorough understanding of this Object-relational mapping (ORM) framework for data handling is required. You will be building applications using Spring Data built on top of Hibernate.
  • MyBatis: As a technical leader you should have broaden your understanding to MyBatis or any other persistence frameworks other than Hibernate for leveraging custom SQL, stored procedures, and advanced mappings.
  • Big Data Processing:
  • Apache Spark: It is our unified analytics engine for large-scale data processing. Prior experience in Java Spark or python spark projects is desirable.
  • Streaming Frameworks:
  • Apache Kafka: We extensively use this distributed event streaming platform for high-throughput data pipelines. Knowledge and prior experience of Apache Kafka is a must.
  • Apache Pulsar: Your understanding of Multi-tenant, high-performance messaging solution will help us in building platforms.
Unit Testing Frameworks: Your expertise in the following testing frameworks will be leveraged by the developers to speed up the test coverage.
  • JUnit: The standard framework for unit testing all our Java applications.
  • TestNG: We also use TestNG to cover other categories of tests.
  • Mockito: Being a downstream application, we use this framework for creating mock objects for testing purposes when we are not able to engage upstream for testing..
  • MockMVC: We are also using this testing framework for Java and Groovy applications.
Integration Testing Frameworks: Here are the integration testing frameworks that we use in our applications. Your knowledge and your ability to learn these frameworks is absolutely essential.
  • Spring Test: Provides integration testing support for Spring applications.
  • Testcontainers: Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
  • WireMock: A simulator for HTTP-based APIs, useful for integration testing.
  • Cucumber: Supports Behavior-Driven Development (BDD) and can be used for writing integration tests in a natural language format.
  • Embedded Kafka: For running Kafka brokers locally during integration testing.
Automated Testing Frameworks: These are the Automated testing frameworks that we use in our applications. Your knowledge and your ability to learn these frameworks is absolutely essential.
  • Selenium: Browser automation tool for web application testing.
  • Cypress: Fast, easy, and reliable testing for anything that runs in a browser.
  • RestAssured: For testing REST APIs.
  • Gatling: For performance testing of web applications.
  • Karate: A framework for API testing, performance testing, and even UI testing.
Continuous Integration/Continuous Deployment (CI/CD): Prior working knowledge in Jenkins and Gitlab are essential. You understanding of other CICD platforms is desirable.
  • Jenkins: Extensible open-source CI/CD server.
  • GitLab CI: Integrated CI/CD pipelines in GitLab.
  • CircleCI: Continuous integration and delivery platform.
  • Travis CI: Continuous integration service used to build and test software projects hosted on GitHub.
  • Argo CD: Declarative, GitOps continuous delivery tool for Kubernetes.
Platform Building: Your experience in the following platform building technologies will enable us to speed up our platform journey.
  • Infrastructure as Code (IaC):
  • Terraform: For building, changing, and versioning infrastructure safely and efficiently.
  • Ansible: Automation tool for configuration management, application deployment, and task automation.
  • Kubernetes: For container orchestration.
  • Service Mesh:
  • Istio: Open platform to connect, manage, and secure microservices.
  • Linkerd: Lightweight service mesh for Kubernetes.

Mentorship and Team Enablement:

  • Conduct workshops and training sessions to enable the team to become proficient in CI/CD practices.
  • Promote a culture of continuous learning and improvement within the team.
  • Provide guidance and support in the adoption of best practices for software development, testing, and deployment.
  • Participating in organizational events like hackathons, demodays etc. and be the catalyst towards the success of those events

Code Review and Quality Assurance:

  • Perform regular code reviews to ensure adherence to best practices and coding standards.
  • Implement and monitor code quality tools such as SonarQube or CodeClimate.

Documentation and Communication:

  • Maintain comprehensive documentation for the development processes, tools, and best practices.
  • Facilitate effective communication within the team and across departments to ensure alignment on goals and objectives.
  • Interact closely for requirements with Business owners and technical teams both within India and across the globe.
  • Work closely with the Architects and cross functional teams and follow established practices for the delivery of solutions meeting QCD (Quality, Cost & Delivery) within the established architectural guidelines.

What you'll bring:

  • Bachelor's/Master's degree in Computer Science, engineering, or related field, with minimum 10+ years of experience in software design, development and automated deployments.
  • Have prior experience in delivering highly scalable large scale data processing Java applications.
  • 14+ years of experience in design and development of highly -scalable applications and platform development
  • Hosted & Participated Architecture Review & Design/Code Review events.
  • Hands on System Designing experience.
  • Strong computer science fundamentals: data structures, algorithms, design patterns.
  • Extensive hands-on experience building services using these technologies (Scala, Java, Springboot, Microservices ,NodeJs)
  • Hands-on experience in web technologies like React JS/Angular Js, Java script, Type script, CSS
  • In depth knowledge and Hands-on working experience on Restful web services
  • In depth knowledge and working experience on SOAP web services
  • Good Knowledge in messaging systems: Kafka/RabbitMQ
  • Working knowledge of SQL and NoSQL database technologies.
  • Knowledge on Linux platform
  • Knowledge on unit testing frameworks (Junit, Jest , Spock etc) and code quality control platforms like Sonar
  • Knowledge on cloud platforms any cloud platforms like IAAS/PAAS
  • CI/CD development environments/tools: Git, Maven, Gradle, Docker, Kubernetes, Jenkins, Azure DevOps
  • Experience in implementing Distributed Cache(Redis/Hazlecast)
  • Well-Versed with Logging and Metrics tools and technologies (ELK/Splunk/Grafana)
  • Knowledge in search engines like Lucene/Solr
  • Demonstrated end-to-end ownership for development and design of least one cloud based project.
  • Strong hands on development skills to prototype technical solutions.
  • Strong desire to drive change, and ability to adapt to change quickly. Willing to learn new and emerging technologies.
  • Exceptional communication and interpersonal skills - including negotiation, facilitation, and consensus building skills; ability to influence and persuade, without direct control.
  • Practitioner of Agile (Scrum) methodology

About Walmart Global Tech:

Imagine working in an environment where one line of code can make life easier for hundreds of millions of people. That's what we do at Walmart Global Tech. We're a team of software engineers, data scientists, cybersecurity expert's and service professionals within the world's leading retailer who make an epic impact and are at the forefront of the next retail disruption.

People are why we innovate, and people power our innovations. We are people-led and tech-empowered.

We train our team in the skillsets of the future and bring in experts like you to help us grow. We have roles for those chasing their first opportunity as well as those looking for the opportunity that will define their career. Here, you can kickstart a great career in tech, gain new skills and experience for virtually every industry, or leverage your expertise to innovate at scale, impact millions and reimagine the future of retail.

Flexible, hybrid work:

We use a hybrid way of working with primary in office presence coupled with an optimal mix of virtual presence. We use our campuses to collaborate and be together in person, as business needs require and for development and networking opportunities.

This approach helps us make quicker decisions, remove location barriers across our global team, be more flexible in our personal lives.

Benefits

Beyond our great compensation package, you can receive incentive awards for your performance. Other great perks include a host of best-in-class benefits maternity and parental leave, PTO, health benefits, and much more.

Equal Opportunity Employer:

Walmart, Inc. is an Equal Opportunity Employer By Choice. We believe we are best equipped to help our associates, customers and the communities we serve live better when we really know them. That means understanding, respecting and valuing diversity- unique styles, experiences, identities, ideas and opinions while being inclusive of all people

Minimum Qualifications...

Outlined below are the required minimum qualifications for this position. If none are listed, there are no minimum qualifications.

Minimum Qualifications:Option 1: Bachelor's degree in computer science, computer engineering, computer information systems, software engineering, or related area and5 years experience in software engineering or related area.

Option 2: 7 years experience in software engineering or related area.

Preferred Qualifications...

Outlined below are the optional preferred qualifications for this position. If none are listed, there are no preferred qualifications.

Master's degree in computer science, computer engineering, computer information systems, software engineering, or related area and 3 years experience in software engineering or related area.

Primary Location...

Rmz Millenia Business Park, No 143, Campus 1B (1St -6Th Floor), Dr. Mgr Road, (North Veeranam Salai) Perungudi , India R-1902141

apartmentmyGwork - LGBTQ+ Business CommunityplaceChennai
provides services and common customer experiences that power e-commerce for Digital content and subscriptions, including Kindle, Audible, Prime Video and Amazon Music Unlimited. As a Principal Engineer in the organization, you will be providing technical...
thumb_up_altRecommended

Principal Software Engineer

placeChennai
science, the R&D team ensures our customers seamlessly use our products and can depend on their consistency. Responsibilities: Description The Software Engineering team is a group of full stack developers who design, develop, and maintain our products...
apartmentmyGwork - LGBTQ+ Business CommunityplaceChennai
for an experienced and talented Principal Engineer that has experience and passion in building large-scale cloud-based web service solutions and has a penchant on building cloud solutions that interact with Amazon device eco-system. As the organization is expanding...