iHerb is looking for an iOS Developer to join to our software development team. You will be working on our iOS application which has nearly 2.5 million active installs worldwide. In this position you will help the team architect and develop end-to-end solutions for mobile applications and establish iHerb’s next generation mobile platform using best practices. You will need to partner and collaborate with product owners, designers and other developers to determine how to build a consistent user experience across all mobile platforms. Sound interesting? Keep on reading!
· Modify existing software to correct errors, allow it to adapt to new hardware, or to improve its performance.
· Confer with systems analysts, engineers, programmers and others to design system and to obtain information on project limitations and capabilities, performance requirements and interfaces.
- Delivers in a short period with little guidance relative to work complexity
- Embraces an agile mindset and keeps a positive outlook when facing opposition or change
- Consistently delivers work defect free with only occasional edge case bugs. Passes code reviews consistently with no rework and no issues in design
- Able to resolve complex bugs and complete complex projects with technical guidance. Beginning to take on design tasks
- Clearly communicates project status and technical concepts with others. Provides regular updates and estimated time of completion
- Can complete complex work with little direction
- Ability to Mentor Junior Developers
Knowledge, Skills and Abilities:
· Experience optimizing, refactoring, and debugging views and layout hierarchies with a focus on pragmatic iOS layout development/design including custom themes, styles, attributes, and other resources
· Strong knowledge of iOS, iPhone SDK, and Swift development.
· Experience with source control tools.
· Experience with client side web technologies (HTML5, CSS, JS, Ajax);
· Knowledge and experience of the entire application stack, from mobile app, web app, application logic and SQL
- Experience using source control in a distributed team
- Relevant Knowledge of Restful API’s & JSON
- Modify existing software to correct errors, allow it to adapt to new hardware, or to improve its performance.
- Ability to write statements with complex joins
- Perform and develop software system testing and validation procedures, programming, and documentation.
- Work with the product teams, programmers and others to obtain information on project limitations and capabilities, performance requirements and interfaces.
- Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
- Provide recommendations for system design and maintenance.
- Intermediate knowledge of production systems including network, application and database tiers
- Strong understanding of object oriented development, use of design patterns and system architecture
- Practices pragmatic development/design
- Creative approach to problem solving, innovation and issue resolution
- Self-motivated and self-managed with a high degree of analytical ability and intellectual curiosity
- Intermediate knowledge of algorithms, memory management, MVC programming and concurrent programming
- Understanding of operating system fundamentals such as processes, inter-process communication, multi-threading primitives, race conditions and deadlocks.
- Has a published an app in the app stores
- Intermediate experience detecting and correcting memory usage issues, and optimizing code for application performance
- Experience with continuous integration and delivery practices
- Intermediate knowledge of using external libraries and managing dependencies
- Participated in migrating to latest versions of external libraries and SDKs
- Is able to provide work estimates with a high degree of accuracy
- Experience participating in agile practices
Generally requires a minimum of two (2) to four (4) years of experience in Swift/Objective C and iOS application development.
Bachelor’s Degree Required. A Computer Science degree is preferred