Software Development Group

Mobile UI Developer 

Responsibilities

  • 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