Software Development Intern
iHerb · Home Gardens, CA · Yesterday
Engineering$26–$40/hrFull-time
About the role
As a software development intern at iHerb, you will be part of an agile engineering team responsible for building and maintaining enterprise-grade Internet-of-Things (IOT), Warehouse Execution and Control Systems that support high-volume, mission-critical warehouse operations. This role focuses on developing, and supporting scalable software solutions on the Microsoft .NET stack for facilitating warehouse fulfillment.
Responsibilities
- Design, build, test, and deploy IOT features and services using the .NET stack.
- Aid in the development of robust Integration and End-to-End (E2E) tests to ensure system reliability in complex automated environments.
- Implement solutions that scale in high-transaction, real-time warehouse environments.
- Write clean, maintainable, and well-documented code following established standards.
- Participate in peer code reviews, providing constructive feedback and incorporating feedback from others.
- Assist in writing technical designs and implementation plans for assigned features.
- Troubleshoot, analyze, and resolve application and system issues, including production incidents.
- Support, maintain, and document existing IOT functionality.
- Follow secure programming and web application security best practices.
- Work closely with Product Owners and senior engineers to understand requirements, break down work, and estimate effort.
- Collaborate with other engineering teams (WES, TMS, SAP, 3PL integrations) to ensure smooth system interactions.
- Provide regular updates on progress, risks, and blockers to the team.
- Maintain high standards of software quality through testing, refactoring, and adherence to best practices.
- Identify opportunities to improve system performance, reliability, and maintainability.
- Learn and apply new tools, frameworks, and patterns as guided by senior team members.
Requirements
- Proficiency in C# or Java.
- Experience with Socket programming with TCP/IP and UDP connecting to Programmable Logic Controllers (PLC).
- Solid understanding of Object-Oriented Design (OOD) and SOLID principles.
- Experience working with relational and non-relational databases.
- Exposure to metrics instrumentation and analysis with Prometheus, Grafana and OpenTelemetry.
- Familiarity with REST APIs, event-driven systems, messaging, caching, and scalability concepts.
- Experience with CI/CD pipelines, automated testing, and deployment practices.
- Knowledge of thread-safe coding, basic concurrency, and performance considerations.
- Familiarity with Docker and Kubernetes.
- Experience developing native Android applications.
- Strong communication skills with the ability to explain technical concepts clearly.
- Able to collaborate effectively within a team and across functions.
- Willingness to ask questions, learn from senior engineers, and accept feedback.
- Sound judgment in troubleshooting issues and escalating when appropriate.
Education
Currently pursuing a B.S. or M.S. in Computer Science, Computer Engineering, or a related field.
Knowledge, Skills and Abilities
- Knowledge or experience working on backend systems, APIs, or distributed services.
- Knowledge or experience working on frontend development using ASP MVC, ReactJS or ReactNative.
- Exposure to logistics, warehouse, supply chain, or high-volume transaction systems.