Job Description :
Position: Android Developer
Location: San Francisco CA
Duration: 12+ Months

Customer has an exciting opportunity for a seasoned software engineer, primarily working with Kotlin, to build hardware-connected mobile applications. The ideal candidate has a passion for building Bluetooth-enabled mobile applications for Android, has experience leading and mentoring software engineers and can make the best use of the latest technologies, services, and software development processes available to deliver sleek, functional and exciting mobile experiences for our customers.
The ideal candidate will be a self-motivated engineer who can tackle interesting challenges head-on. S/he enjoys the camaraderie and collaborative nature of the startup life.
Establish core architecture, development frameworks, iterative software development and deployment best practices
Implement new features and improve existing codebase on the Android app
Conduct code reviews and ensure high-quality binary releases to app stores
Collaborate with hardware/firmware engineering, product design, marketing, customer support and e-commerce teams on new feature development and app roadmap
Domain Skill:

Write clear, concise, reusable and maintainable code
Fluent in Java and Android development frameworks.
Strong computer science fundamentals including data structures, algorithms, concurrency and memory management
Excellent critical thinking, analytical problem solving and communication skills
Experience debugging and performance tuning Android applications
Must be a strong, self-motivated individual that can work with minimum day to day supervision and able to objectively rank and prioritize development work
5+ years software development experience on the Android platform
BS or MS in Computer Science, related fields or equivalent work experience
Excellent English verbal and written communication skills.

Tool Skill:
Android Studio 3.0 and above

Primary Skills:
Write clear, concise, reusable and maintainable code
Fluent in Java and Android development frameworks.
Strong computer science fundamentals including data structures, algorithms, concurrency and memory management
Excellent critical thinking, analytical problem solving and communication skills
Experience debugging and performance tuning Android applications
Must be a strong, self-motivated individual that can work with minimum day to day supervision and able to objectively rank and prioritize development work