Lead Software Engineer- Warehouse Management Systems

Location: Remote

Job Type: Full Time / Permanent

As a Lead Software Engineer, you will be part of a cross functional product team responsible for leading the design, development and contributor to the overall software development lifecycle. You will serve as a technical mentor and hands on engineer leading technical design, code reviews and pair programming efforts with your team. As a technical leader you will guide your team to the most technically sound solution following enterprise standards and practices while translating the business requirements to a value production solution.

Delivery & Execution:  Collaborate with other senior members of technology to directly influence our journey towards zero-touch, highly scalable, reliable infrastructure services this could include pairing with other engineers on the existing product team you will be a part of. It will also involve being a part of a product model and require heavy collaboration with your engineers and product counterparts (PDM/Product designers/Scrum masters etc.). Partner with Enterprise, Platform, Domain Architecture, Principal Engineer, and other key stakeholders (Info Security, APIs, other LOB development) to advance best practices and ensure compliance across the platform. 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. Provide overarching leadership and coaching for delivery of major components to team members. Mentor all levels of the team. Encourage and lift up those around you. 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.

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.

Learning:  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.

Experience:  Bachelor’s Degree. 7-10 years of relevant experience. Experience in a Linux or Unix based environment. Exposure to query optimization and troubleshooting. Exposure to defensive coding practices and patterns for high availability. Design for system resiliency to handle system faults, failures, or unusual events, ensuring software adequately mitigates identified risks. High-level software design skills especially Microservices design and methodologies. Exposure to 12-factor methodology and its benefits, and able to demonstrate appropriate patterns to more junior team members. Exposure to REST and effective web service design. 5+ years of experience in Azure or similar cloud computing environments with infrastructure and configuration management tools like Ansible, Docker, and Mesos. Experience with supply chain systems. Implement agile software development best practices and standards within your team. Deployment tools and versioning using Git or similar tools. Agile product tools such as Jira, Confluence etc.  5+ years of experience in JVM based web application API design and implementation providing platform independence, service evolution and autoscaling characteristics. Experience in a front-end technology and framework such as HTML, CSS, JavaScript, AngularJS, ReactJS, and JQuery. 3+ years of experience working with alternative data technologies (columnar data bases, no-sql solutions, Hadoop, etc). In-depth knowledge of data structures and the ability to apply them correctly. Good Knowledge Warehouse management platforms (WMS). Exposure to destructive testing methodologies, behavioral testing and tools. 3+ years of experience with object -oriented programming (Java).

Desired Skills:  3+ years leading/overseeing/influencing development activity of multiple developers among and beyond team. Experience with Kafka Streams Experience with Kotlin functional programming. React native Labor management/Transportation management.