The Android Developer will ensure a quality product by not only through writing code, but also by participating in peer code reviews. The Android Developer will work directly with product managers, designers, fellow Android developers, and project managers to devise new products and features.
- Modify existing software to correct errors, allow it to adapt to new hardware, or to improve its performance.
- Develop and conduct software system testing and validation procedures, programming, and documentation.
- Confer with product owners, engineers, programmers and others to design system and 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.
- Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
- Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
- Consult with customers about software system design and maintenance.
- Coordinate software system installation and monitor equipment functioning to ensure specifications are met.
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:
- Knowledge of Android operating system, and development environment.
- Experience with source control tools.
- Experience with client side web technologies (HTML5, CSS, JS, Ajax)
- Understanding of RESTful API interaction and JSON
- Basic understanding of object oriented development, use of design patterns and system architecture for mobile devices
- Experience optimizing, refactoring, and debugging views and layout hierarchies with a focus on pragmatic Android layout development/design including custom themes, styles, attributes, and other resources
- Creative approach to problem solving, innovation and issue resolution
- Self-motivated and self-managed with a high degree of analytical ability and intellectual curiosity
- Understanding of the entire application stack, from mobile app, web app, application logic and SQL
- Strong communication skills and the ability to function effectively in a collaborative work environment
- Fundamentals in object-oriented design, data structures, algorithm design, problem solving, and complexity analysis
- Use of Java I/O, Collections, Algorithms and well known application frameworks
- Solid grasp of algorithms, memory management (Honeycomb, Gingerbread), MVC programming and concurrent programming
- Familiarity detecting and correcting memory usage issues, and optimizing code for application performance
- An understanding of operating system fundamentals such as processes, inter-process communication, multi-threading primitives, race conditions and deadlocks.
- Experience publishing apps
Generally requires a minimum of two (2) to four (4) years of hands-on development or course-work experience in Java or Android application development.
Bachelor’s Degree required. An emphasis in Computer Science is preferred
Judgment/Reasoning Ability: Able to identify, troubleshoot and resolve problems quickly using sound judgment, poise and diplomacy. Ability to use judgment and reasoning skills, and determine when to escalate issues, as required, in a timely manner.
Physical Demands (Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.) The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job.
While performing the duties of this job, the employee is required to sit, stand, walk, reach, bend and move about the facility.
Work Environment: The noise in the work environment is usually moderate. Other factors are:
- Fast-paced with multiple concurrent projects
- Professional, yet casual work environment
- Office environment
- Ability to work extended hours as required
Job Description Acknowledgement:
I have received a copy of my job description for my current position. The job description describes duties and responsibilities which apply to me. I agree to read the job description and understand it may be amended as company conditions or requirements necessitate. In that case, changes will be communicated to me.
Team Member Name (PRINT): ___________________________________
Team Member Signature: ___________________________________ Date: _____________________
Human Resources (PRINT): _________________________________
Human Resources Signature: ______________________________ Date: _____________________
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.