Software Development Group
Mobile UI Developer
- Participate in the product definition phase.
- Scope and investigate areas of Linux and Android technology as applicable to the product.
- Lead discussion and architectural definition of various key technology pieces and their integration into the system.
- Create software engineering specifications and documentation that will be used to guide the team’s development.
- Participate in the implementation of these components.
- Unit-test code for robustness, including edge cases, usability and general reliability.
- Eagerly participate in mentoring and skills transfer to junior members of the team.
- Make disciplined use of source control and bug tracking systems.
- Participate in software code reviews to ensure the creation of high-quality, robust code by all team members.
Skills, Knowledge and Educational Requirements
- Bachelor Degree (EE, Software or Computer Engineering or equivalent experience preferred)
- 5+ years hands-on programming experience with Android.
- Have at least one Android app published
- Strong front end skills with the ability to very quickly produce consumer quality results
- Able to translate UI specifications into pixel perfect software
- Strong appreciation for usability guidelines with a constant focus on the end user
- Develop engaging apps, game-based experiences and/or OpenGL is an asset
- Excellent understanding of standard navigation patterns
- Always focused on developing components, views, and applications with scalability and flexibility in mind
- Adamant opponent of hard coding at any level
- Proven track record of going through the software development life cycle and successfully bringing products to market.
- Able to build reusable and robust and elegant UI components
- Make technical implementation decisions and evangelize coding best practices.
- Advanced knowledge of the Linux system and user-level APIs.
- Advanced knowledge of git and gerrit code review
- Coding maturity and polish by identifying commercial-quality software in which the candidate had significant participation in design and development.
- Experience building, deploying, and administering all flavors of Linux operating systems.
- Knowledge of standard source control systems and bug tracking systems and their functions in successful software development efforts.
- Strong interpersonal and communication skills; capable of writing appropriate documentation, mentoring both senior and junior team members and proactively identifying code and design flaws and suggesting improvements.
- Experience with automated test tools and debugging systems and their appropriate use in the software development cycle.
- Demonstrable experience working with very large and complex systems.
DESIRED (NICE-TO-HAVE) QUALIFICATIONS:
- Proactive, has a positive attitude, quick thinker and innovative, solutions oriented.
- Mobile device development experience.
- Communicate in Mandarin fluently