Software Engineer
lowes
Job Description
- Design, develop, test, deploy, and support scalable, secure, and maintainable software and ML solutions, including backend services, APIs, cloud-native applications, data integrations, and ML-enabled services supporting Forecasting and AI products.
- Translate business and functional requirements into technical designs and high-quality implementations, contributing across the full Software Development Lifecycle (SDLC).
- Build and maintain data ingestion, transformation, preprocessing, feature engineering, and post-processing pipelines to support ML model training, experimentation, and inference.
- Partner with Data Scientists and Data Engineers to translate model requirements into production-ready engineering solutions and ensure high-quality, reliable data is available for model development and execution.
- Support the end-to-end ML lifecycle, including experimentation, model registration and versioning, testing, deployment, orchestration, inference, and ongoing model management using enterprise AI/ML platforms.
- Develop and maintain CI/CD and automation pipelines for software, data pipelines, and ML models to enable reliable and repeatable testing and deployments.
- Implement monitoring and observability for applications, data pipelines, and ML models, including system health, data quality, model performance and drift, and operational metrics.
- Optimize software, ML workloads, and data pipelines for performance, scalability, reliability, and cost efficiency across cloud and enterprise platforms.
- Apply engineering best practices including secure coding, code reviews, automated testing, documentation, performance optimization, data governance, security, and compliance.
- Support production systems through monitoring, incident resolution, root-cause analysis, troubleshooting, and continuous reliability improvements.
- Collaborate with Product, Data Science, Data Engineering, Architecture, Security, Infrastructure, and business teams to deliver reliable Forecasting and AI capabilities that support business decision-making.
- Participate in technical design discussions and code reviews, contribute to engineering standards, share knowledge with team members, and evaluate modern technologies, AI-enabled development tools, and automation to continuously improve software quality and engineering productivity.