Software Engineer – Android
Engineering Department - Full Time
Cairo, Egypt Sat, 11/11/2017 - 10:30
We are looking for an Android developer responsible for the development and maintenance of applications aimed at a vast number of diverse Android devices. Your primary focus will be the development of Android applications and their integration with back-end services. You will be working along-side other engineers and developers working on different layers of the infrastructure. Therefore, commitment to collaborative problem solving, sophisticated design, and creating quality products is essential.
- BS degree in Computer Science or Engineering.
- 3+ years of experience.
- Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes.
- Experience on 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.
- 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.
- A knack for benchmarking 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.
- Familiar with working on Agile environment.
- Experience working with A/B testing.
- Familiar with interaction and visual design (Sketch).
- Experience working with Crash reporting tools.
- Translate designs and wireframes into high-quality code.
- Design, build and maintain high-performance, reusable, and reliable Java 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.