Job Details
Experience Needed:
Career Level:
Education Level:
Salary:
Job Categories:
Skills And Tools:
Job Description
- Design and build advanced applications for the Android platform
- Collaborate with cross-functional teams to define, design, and ship new features
- Work with outside data sources and APIs
- Unit-test code for robustness, including edge cases, usability, and general reliability
- Work on bug fixing and improving application performance
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency
Job Requirements
- BS/MS degree in Computer Science, Engineering or a related subject
- 2+ years’ experience developing native android mobile applications with a proven portfolio of apps.
- Knowledge of Java development, Android SDK, Android Studio, Debugging, Device Sensors, XML and JSON.
- Excellent knowledge of Android Layout Designing, Web Services, Code Signing and Application release cycle.
- Excellent knowledge of design patterns and object-oriented concepts.
- Familiarity with RESTful APIs to connect Android applications to back-end services
- Familiarity with cloud message APIs and push notifications
- Strong knowledge of Android UI design principles, patterns, and best practices
- Experience with offline storage, threading, and performance tuning.
- Familiarity with continuous integration
- Practical experience of working with Agile Methodologies
- Unit-test code for robustness, including edge cases, usability, and general reliability.
- Familiarity with TDD and its framework with experience of using it.
- Self-motivated and able to integrate the work with back-end developers.
- Knowledge of other web technologies and UI/UX standards
- Understanding of Google’s Material design principles and interface guidelines
- Should have a good understanding on Android Mobile Development Lifecycle.
- Experience with performance and memory tuning with tools
- Proficient understanding of code versioning tools (such as Git, Mercurial or SVN)
- Understanding of MVC and MVVM design patterns
- Understanding fundamental design principles behind a scalable application
- User authentication and authorization between multiple systems, servers, and environments