Software Engineer

Job Summary: 
iHerb is looking to add a Software Engineer to its growing Data Science team. The Data Science team is responsible for providing scalable solution for search and recommendation of products to a diverse global customer base across multiple platforms. In collaboration with Data Scientist the Software Engineer will be able to improve user’s experience through implementing personalization solutions for various platforms in iHerb. In this role the Software Engineer will help building a software as a service solution consisting of complex modules (e.g. recommendation engines, auto-suggestion, data collection, etc.) that handles high traffic and huge amount of data coming across the globe through many platforms. The focus is on scalability, usability, and performance as well as integration with machine learning models to enhance user’s experience.
Job Expectations: 
  • Design and develop software as a service solution using .net framework or open source frameworks with best practices e.g. test driven development, on-going documentation, continuous integration, pair programming and code review.
  • Own complex software components and systems.
  • Interact cross-functionally with a wide variety of teams and work closely with them to identify opportunities to improve.
  • Responsible for end-to-end analysis including data gathering, metric comparison, requirements specification, and ongoing deliverables.
  • Assess opportunities for application and process improvement and prepare documentation of rationale to share with team members and other affected parties.
  • PoC using in-house and/or open-source technologies.
Knowledge, Skills and Abilities: 
  • Strong software engineering background
  • Strong communication skills
  • Strong knowledge of and ability to communicate software systems and design principles
  • 2+ years of professional experience in software engineering using open source or .net platforms
  • Experience building large scale, high traffic web applications
  • Hands on experience in distributed systems, micro services, and containerization
  • Experience with source control systems
  • Experience with agile development methodologies
  • Experience in productionizing Machine Learning solutions (is a plus)
Experience Requirements:
  • Generally, requires a minimum of 2+ years of experience with software development.

Education Requirements:
  • Bachelor’s degree is required. A Bachelor’s degree in Computer Science is preferred. 


Want to apply later?

Type your email address below to receive a reminder

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field