Key Roles/Responsibilities
Design, build, and maintain high performance, reusable, and reliable Java code
Translate designs and wireframes into high quality code
Ensure the best possible performance, quality, and responsiveness of the application
Identify and correct bottlenecks and fix bugs
Help maintain code quality, organization, and automatization
Carry out assigned tasks as requested and remain focused on the job without losing track of the progress.
Document activities and report on the progress.
Deliver within assigned time limits and according to company’s standards
Ensure delivery of high quality (defect-free) work that accurately meets specifications. Ensure consistency and attention to detail.
Take charge of responsibilities and make the necessary decisions within the limits assigned.
Find new and innovative solutions, workable ideas and concepts, open-minded and resourceful and able to come up with solutions and initiate activities to resolve problems
Plan and design software products.
Identify problems and translate them into practical solutions.
Debug, test and troubleshoot system hardware and software, both locally and remotely.
Requirements
Bachelor’s degrees in relevant field
Minimum of 1-year professional android development experience
Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes
Familiarity with RESTful APIs to connect Android applications to back-end services
Strong knowledge of Android UI design principles, patterns, and best practices
Experience with offline storage, threading, and performance tuning
Ability to design applications around natural user interfaces, such as “touch”
Familiarity with Location based technologies e.g. GPS, Geo-fencing and deep knowledge of how you can integrate wireless technologies such as Wi-Fi, NFC and Bluetooth in the mobile app.
Familiarity with the use of additional sensors, such as gyroscopes and accelerometers
Knowledge of the open-source Android ecosystem and the libraries available for common tasks
Ability to understand business requirements and translate them into technical requirements
Familiarity with cloud message APIs and push notifications
Knowledge of web-based systems and databases (SQL & No-SQL) is highly recommended.
A knack for bench-marking and optimization
Understanding of Google’s Android design principles and interface guidelines
Proficient understanding of code versioning tools, such as Git
Familiarity with continuous integration