Technical Lead at iHerb
The Tech Lead will be part of an agile development team, building enterprise grade Applications with different platforms. The Tech Lead-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.
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
Serve as a link between team members and the management team
Travel may be required
Research and evaluate a variety of software products
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
Requires a minimum of 7 - 10 years of experience with software development, design patterns, software architecture
Bachelor’s Degree required. An emphasis in Computer Science is preferred