The Team Leader will be part of an agile development team, building enterprise grade Applications with different platforms. The Team Leader-Software Development is responsible for supervising their team members through coaching, mentorship, they are responsible for the development of their team members and for the overall performance of their teams as well as shaping the technical road map and standards for iHerb’s applications.
The Catalog team is a public facing team that is responsible for the customer's shopping experience. Being on the Catalog team means focusing on performance, usability, and scalability. The Catalog system needs to be able to handle enterprise-level traffic. Some of the pages the team are responsible for are homepage, product listings, blog, search, and product details page. The Catalog team deals with highly distributed and scalable applications, a CICD pipeline for a large system, and optimizing performance for both front-end and back-end.
- Responsible for the ownership (architecture/design/implementation and deployments) of complex software components and systems
- Follow secure programming and web application security best practices
- Regular practice of CI/CD
- Lead the team’s software architecture and design
- Coach the team on software best practices (design, coding, troubleshooting, work breakdown, work estimation, refactor strategies, automated testing, etc.)
- Must be able to mentor all levels
- Work closely with the other teams to optimize system architecture and project efficiency
- Partner with our Product Owner to plan work and prioritization
- Guide team development efforts towards successful project delivery.
- Provide technical leadership to teammates through coaching and mentorship.
- Maintain high standards of software quality within the team by establishing good practices and habits.
- Provide regular updates on projects and team performance
- Identify and encourage areas for growth and improvement within the team.
- Assist in the collection and documentation of user's requirements, development of user stories, estimates and work plans.
- Prepare reports, manuals and other documentation on the status, operation and maintenance of software.
- Design, develop, and unit test applications in accordance with established standards.
- Collaborates and adds value through participation in peer code reviews, providing comments and suggestions
- Package and support deployment of releases.
- Analyze and resolve technical and application problems.
- Assess opportunities for application and process improvement and prepare documentation of rationale to share with team members and other affected parties.
- Adhere to high-quality development principles while delivering solutions on time and on budget.
- Provide third-level support to users.
- Flexible schedule to work with other time zones
- Must supervise their team’s personnel matters: scheduling resources, time off requests, recognition on a timely and consistent basis
- Monitor team members productivity and provide constructive feedback and coaching as needed
- Responsible for performance management of their team members (quarterly feedback)
- Work with HR in hiring and training top talent for their teams
- Serve as a link between team members and the management team
- Travel may be required
- Research and evaluate a variety of software products
The duties and responsibilities described above may provide only a partial description of this position. This is not an exhaustive list of all aspects of the job. Other duties and responsibilities not outlined in this document may be added as necessary or desirable, with or without notice.
Knowledge, Skills and Abilities:
- Solid communication skills
- Strong knowledge of system architecture, best practices and design patterns
- Strong knowledge of design and implementation of distributed systems (SOA, Micro Services, Docker, etc)
- Ability to inspire team
- Expert knowledge of and ability to communicate software architecture and design principles
- Expert in writing testable software
- Expert in design patterns which decouple the UI from the business logic
- Proven track record being technical lead of software projects from inception to successful release
- Strong knowledge in CI/CD systems
- Proficient with Object Oriented programming
- Experience leading a team
- Experience with source control systems
- Experience with agile development methodologies
- Experience with debugging, performance profiling and optimization
- Strong initiative to find ways to improve solutions, systems, and processes
- Writes and implements quality procedures.
- Must be able to manage the team’s day to day matters: scheduling resources, time off requests, feedback on a timely consistent basis
- Experience effectively working with remote teams
- Experience with user interface design and prototyping
- Experience with e-commerce
- Generally, requires a minimum of five (5) to ten (10) years of experience with software development, design patterns, software architecture
- Bachelor’s Degree required. An emphasis in Computer Science is preferred
At iHerb we strive for innovation, targeted at delivering a customer-centric experience while transforming the online shopping experience. We change direction and define ourselves in the idea that individually we are incredible but united our growth is infinite and paramount to our success. iHerb strives to be the global industry leader!
iHerb is an Equal Opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability or veteran status. iHerb provides equal employment opportunities to all applicants for employment and prohibits discrimination and harassment.